Elabore um programa que, dado 2 vetores inteiros de 20 posições, efetue as respectivas operações indicadas por um terceiro vetor de caracteres de 20 posições também fornecido pelo usuário, contendo as quatro operações aritméticas em qualquer combinação, armazenando os resultados num quarto vetor.

Passo 1

Beleza! O enunciado pede um programa que receba três vetores de tamanho 20:
  • Dois vetores de inteiros (A e B)
  • Um vetor de caracteres (OP), contendo em cada posição um dos operadores ‘+’, ‘-’, ‘*’ ou ‘/’
E então gere um quarto vetor de inteiros © em que, para cada índice i, aplicamos em A i e B i a operação OP .
Conteúdo da matéria:
  • Vetores (arrays)
  • Estruturas de repetição (laços)
  • Estruturas de seleção (if/switch-case)
  • Operações aritméticas básicas
O que vamos precisar:
  • Declarar e ler 3 vetores (A, B e OP) de tamanho 20
  • Laço for para percorrer índices de 0 a 19
  • switch-case ou if para decidir qual operação executar
  • Armazenar o resultado em C

Passo 2

Primeiro, entendendo a teoria:
  1. Vetor (array) é uma sequência de posições numeradas de 0 a n−1 onde guardamos valores do mesmo tipo.
  2. Para percorrer todos os elementos de um vetor de tamanho 20, usamos um laço:
    for (i = 0; i < 20; i++) { … }
  3. Para decidir qual operação aritmética aplicar em cada posição, usamos switch-case (ou if-else) checando o caractere em OP[i].

Passo 3

Agora vamos detalhar exatamente o que acontece em cada iteração i do laço:
  1. Lemos o operador: op = OP[i]
  2. Dependendo de op:
    • Se op == ‘+’, calculamos
    • Se op == ‘-’, calculamos
    • Se op == ‘*’, calculamos
    • Se op == ‘/’, calculamos (supondo B[i] ≠ 0)
  3. Guardamos o resultado em C[i].
Isso usa a teoria de:
  • Aritmética de inteiros
  • Atribuição em vetores
  • Controle de fluxo com switch-case

Passo 4

Pseudocódigo do programa final:
Declarar A[20], B[20] como inteiros  
Declarar OP[20] como caracteres  
Declarar C[20] como inteiros  
Para i de 0 até 19 faça  
    Ler A[i]  
Para i de 0 até 19 faça  
    Ler B[i]  
Para i de 0 até 19 faça  
    Ler OP[i]    // '+' ou '-' ou '*' ou '/'
Para i de 0 até 19 faça  
    Escolha (OP[i])  
        Caso '+' : C[i] = A[i] + B[i]  
        Caso '-' : C[i] = A[i] - B[i]  
        Caso '*' : C[i] = A[i] * B[i]  
        Caso '/' :  
            Se B[i] ≠ 0 então  
                C[i] = A[i] / B[i]  
            Senão  
                C[i] = 0    // ou tratar erro de divisão por zero  
            FimSe  
        Padrão : C[i] = 0   // operador inválido  
    FimEscolha  
FimPara

// Ao final, o vetor C contém todos os resultados

Resposta

O programa usa um loop de 0 a 19, e em cada iteração faz, por exemplo:
  • Se OP[i] == ‘+’, então
  • Se OP[i] == ‘-’, então
  • Se OP[i] == ‘*’, então
  • Se OP[i] == ‘/’, então (tratando B[i] ≠ 0)
    Assim, ao final do laço, o vetor C armazena todos os resultados das operações solicitadas.

Exercícios relacionados