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,
e
, cada um com
valores fornecidos pelo usuário. Depois de lidos os valores, os elementos de
devem ser transferidos para
e os elementos de
transferidos para
usando a estrutura
. Informações relevantes dadas pelo enunciado:
- Dois vetores:
e . - Cada vetor recebe exatamente
valores digitados pelo usuário. - Deve ser usada a estrutura de repetição
. - O objetivo final é trocar (trocar de lugar) os valores correspondentes entre
e (para cada posição , o valor original de vai para e o valor original de vai para ).
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:
e . - Cada posição do vetor é acessada por um índice. Podemos pensar em índices começando em
(mais didático para provas) ou em (comum em muitas linguagens). Vou usar índices de a porque facilita a explicação; depois comento a versão -based. - Por exemplo,
é o primeiro elemento de , o segundo, e assim por diante até .
Passo 3
Como funciona a estrutura
que vamos usar
- A ideia do
é repetir um bloco de instruções para cada índice de um intervalo. Por exemplo: “para de até , faça …” executa o bloco vezes, uma para cada . - Em cada iteração nós leremos ou trocaremos o elemento correspondente
e . - Em pseudocódigo a forma típica que usaremos é:
seguido do bloco de instruções e então o
.
Passo 4
Por que precisamos de uma variável temporária para trocar os valores
- Se eu tentar fazer a troca direto assim:
vai dar errado, porque depois da primeira linha
já foi sobrescrito e perdemos o valor original de
.
- A técnica clássica é usar uma variável temporária
para guardar um dos valores antes da sobreposição. O passo a passo para cada é:
- Assim garantimos que ambos os valores originais sejam preservados e efetivamente trocados.
Passo 5
Exemplo numérico (para fixar)
- Suponha
e (peguei estes números só para exemplificar). - Para
: -
-
(agora vale ) -
(agora vale )
-
- Após a iteração
teremos e . - Repetindo isso para
a troca completa será feita para todas as posições.
Passo 6
Pseudocódigo detalhado, linha a linha, explicando cada instrução
- Inicialize vetores
e . - Ler valores de
:
- Ler valores de
:
- Trocar valores usando
:
- Opcional: mostrar os vetores resultantes
e .
Observações práticas:
- Se sua linguagem usa índices começando em
(por exemplo Python, C), troque o laço para . - Em algumas linguagens (por exemplo Python) existe sintaxe de atribuição múltipla
que faz a troca sem , mas como o enunciado pede usar e o procedimento clássico, mostrei o método com (é 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
leituras para , leituras para e operações de troca, ou seja, tempo proporcional a (ou, em termos gerais, proporcional a se o vetor tivesse posições). - Para a prova: lembre-se da necessidade do
para não perder o valor original quando sobrescrever uma posição.
Resposta
Inicialize
e
\
\
\quad \
\
\
\quad \
\
\
\quad \
\quad \
\quad \
\
\quad
\quad
\quad
\quad
\quad