4-) Crie um vetor A que receberá 5 valores digitados pelo usuário e um vetor B que também irá receber 5 valores digitados pelo usuário, na sequencia os valores do Vetor A deveram ser transferidos para o Vetor B e os do Vetor B transferidos para o Vetor A (Utilizar a estrutura FOR).

Passo 1

O enunciado pede que sejam criados dois vetores, A e B, cada um com 5 valores fornecidos pelo usuário. Depois de lidos os valores, os elementos de A devem ser transferidos para B e os elementos de B transferidos para A usando a estrutura \text{FOR}. Informações relevantes dadas pelo enunciado:
  • Dois vetores: A e B.
  • Cada vetor recebe exatamente 5 valores digitados pelo usuário.
  • Deve ser usada a estrutura de repetição \text{FOR}.
  • O objetivo final é trocar (trocar de lugar) os valores correspondentes entre A e B (para cada posição i, o valor original de A[i] vai para B[i] e o valor original de B[i] vai para A[i]).

Passo 2

Entendendo o que é um vetor e índices (uma aulinha rápida, calma que é simples)
  • Um vetor é uma sequência ordenada de posições que guardam valores. Aqui trabalhamos com dois vetores: A e B.
  • Cada posição do vetor é acessada por um índice. Podemos pensar em índices começando em 1 (mais didático para provas) ou em 0 (comum em muitas linguagens). Vou usar índices de 1 a 5 porque facilita a explicação; depois comento a versão 0-based.
  • Por exemplo, A[1] é o primeiro elemento de A, A[2] o segundo, e assim por diante até A[5].

Passo 3

Como funciona a estrutura \text{FOR} que vamos usar
  • A ideia do \text{FOR} é repetir um bloco de instruções para cada índice i de um intervalo. Por exemplo: “para i de 1 até 5, faça …” executa o bloco 5 vezes, uma para cada i.
  • Em cada iteração nós leremos ou trocaremos o elemento correspondente A[i] e B[i].
  • Em pseudocódigo a forma típica que usaremos é:
\text{FOR } i = 1 \text{ TO } 5 \; \text{ DO }
seguido do bloco de instruções e então o \text{END FOR}.

Passo 4

Por que precisamos de uma variável temporária para trocar os valores
  • Se eu tentar fazer a troca direto assim:
A[i] \leftarrow B[i] \\\ B[i] \leftarrow A[i]
vai dar errado, porque depois da primeira linha A[i] já foi sobrescrito e perdemos o valor original de A[i].
  • A técnica clássica é usar uma variável temporária temp para guardar um dos valores antes da sobreposição. O passo a passo para cada i é:
temp \leftarrow A[i] \\\ A[i] \leftarrow B[i] \\\ B[i] \leftarrow temp
  • Assim garantimos que ambos os valores originais sejam preservados e efetivamente trocados.

Passo 5

Exemplo numérico (para fixar)
  • Suponha A = [1,2,3,4,5] e B = [10,20,30,40,50] (peguei estes números só para exemplificar).
  • Para i=1:
    • temp \leftarrow A[1] = 1
    • A[1] \leftarrow B[1] = 10 (agora A[1] vale 10)
    • B[1] \leftarrow temp = 1 (agora B[1] vale 1)
  • Após a iteração i=1 teremos A = [10,2,3,4,5] e B = [1,20,30,40,50].
  • Repetindo isso para i=2,3,4,5 a troca completa será feita para todas as posições.

Passo 6

Pseudocódigo detalhado, linha a linha, explicando cada instrução
  • Inicialize vetores A[1..5] e B[1..5].
  • Ler valores de A:
\text{FOR } i = 1 \text{ TO } 5 \; \text{ DO} \\\ \quad \text{Leia } A[i] \\\ \text{END FOR}
  • Ler valores de B:
\text{FOR } i = 1 \text{ TO } 5 \; \text{ DO} \\\ \quad \text{Leia } B[i] \\\ \text{END FOR}
  • Trocar valores usando temp:
\text{FOR } i = 1 \text{ TO } 5 \; \text{ DO} \\\ \quad temp \leftarrow A[i] \\\ \quad A[i] \leftarrow B[i] \\\ \quad B[i] \leftarrow temp \\\ \text{END FOR}
  • Opcional: mostrar os vetores resultantes A e B.
Observações práticas:
  • Se sua linguagem usa índices começando em 0 (por exemplo Python, C), troque o laço para \text{FOR } i = 0 \text{ TO } 4.
  • Em algumas linguagens (por exemplo Python) existe sintaxe de atribuição múltipla A[i],B[i] = B[i],A[i] que faz a troca sem temp, mas como o enunciado pede usar \text{FOR} e o procedimento clássico, mostrei o método com temp (é o mais ensinável e confiável para provas).

Passo 7

Complexidade e conclusão rápida (o que levar para a prova)
  • O algoritmo faz exatamente 5 leituras para A, 5 leituras para B e 5 operações de troca, ou seja, tempo proporcional a 5 (ou, em termos gerais, proporcional a n se o vetor tivesse n posições).
  • Para a prova: lembre-se da necessidade do temp para não perder o valor original quando sobrescrever uma posição.

Resposta

Inicialize A[1..5] e B[1..5] \
\text{FOR } i = 1 \text{ TO } 5 \; \text{ DO} \
\quad \text{Leia } A[i] \
\text{END FOR} \
\text{FOR } i = 1 \text{ TO } 5 \; \text{ DO} \
\quad \text{Leia } B[i] \
\text{END FOR} \
\text{FOR } i = 1 \text{ TO } 5 \; \text{ DO} \
\quad temp \leftarrow A[i] \
\quad A[i] \leftarrow B[i] \
\quad B[i] \leftarrow temp \
\text{END FOR} \
\text{Imprima } A \text{ e } B

Exercícios relacionados