3. Troca de Valores (Swap)

  • Conceitos: Atribuição de valores (usando variável auxiliar), Expressão simples, Impressão.
  • Enunciado: O fluxograma deve inicializar duas variáveis, A com o valor \ 10 $ e B com o valor$ 20 $ . Usando uma terceira variável auxiliar (Aux), troque os valores de A e B para que A passe a valerá$ 20 $ e B passe a valer$ 10 $ . No final, imprima os novos valores de A e `B\.

Passo 1

O enunciado pede para: inicializar duas variáveis com valores e, usando uma terceira variável auxiliar, trocar os valores entre elas e, por fim, imprimir os novos valores. Informações dadas: A inicia com o valor \$10, B inicia com o valor \$20. Deve-se usar uma variável auxiliar chamada Aux para efetuar a troca de modo que, ao final, A valha \$20 e B valha \$10. No final deve-se imprimir os novos valores de A e de B.

Passo 2

Entendendo o mecanismo básico (atribuição): uma atribuição tem sempre duas partes — o lado esquerdo é a variável que recebe o resultado e o lado direito é a expressão cujo valor será calculado e colocado na variável do lado esquerdo. Por exemplo, na instrução \,X \leftarrow 5 ,a variável \,X passa a conter o valor \,5. Importante: quando você executa \,X \leftarrow Y, o valor atual de \,Y é copiado para \,X; isso não cria ligação entre as variáveis, é apenas uma cópia do valor.

Passo 3

Por que precisamos de uma variável auxiliar para trocar dois valores? Se tentarmos fazer \,A \leftarrow B logo de cara, perdemos o valor original de \,A. O papel de Aux é guardar temporariamente o valor de \,A para que, depois de sobrescrever \,A, possamos recuperar o valor antigo e atribuí-lo a \,B. Estado inicial (dados do enunciado):
A = \$10,\qquad B = \$20,\qquad Aux = \text{(ainda sem valor)}

Passo 4

Primeira atribuição do algoritmo de troca (guardar A em Aux):
Aux \leftarrow A
Explicação passo a passo: avaliamos o valor atual de A (que é \$10) e copiamos para Aux. Depois dessa instrução, os valores ficam assim:
A = \$10,\qquad B = \$20,\qquad Aux = \$10

Passo 5

Segunda atribuição (colocar em A o valor que estava em B):
A \leftarrow B
Explicação: avaliamos B (que é \$20) e colocamos esse valor em A. Note que isso sobrescreve o valor antigo de A, mas tudo bem porque já o guardámos em Aux. Estado depois dessa instrução:
A = \$20,\qquad B = \$20,\qquad Aux = \$10

Passo 6

Terceira atribuição (recuperar o valor antigo de A e colocar em B):
B \leftarrow Aux
Explicação: avaliamos Aux (que contém o valor antigo de A, isto é \$10) e copiamos para B. Estado final após essa instrução:
A = \$20,\qquad B = \$10,\qquad Aux = \$10
Observe que a troca foi bem-sucedida: A agora tem o valor que originalmente pertencia a B e B agora tem o valor que originalmente pertencia a A.

Passo 7

Sobre a impressão (comando “Imprimir” ou “print”): o comando de impressão simplesmente mostra na saída o valor atual da variável. No final do algoritmo, devemos executar:
\text{Imprimir }A
\text{Imprimir }B
Isso exibirá os valores atualizados de A e B.

Passo 8

Resumo do algoritmo em forma de sequência (como ficaria no fluxograma em passos sequenciais):
\text{Início}í
A \leftarrow \$10
B \leftarrow \$20
Aux \leftarrow A
A \leftarrow B
B \leftarrow Aux
\text{Imprimir }A
\text{Imprimir }B
\text{Fim}
Cada seta/caixa do fluxograma representaria exatamente essas instruções, na ordem mostrada.

Passo 9

Exemplo extra, só para fixar (troca de valores simples): se A=\$3 e B=\$7, aplicando as mesmas três atribuições:
Aux \leftarrow A \Rightarrow Aux=\$3
A \leftarrow B \Rightarrow A=\$7
B \leftarrow Aux \Rightarrow B=\$3
Fácil de checar e repetir no caderno durante a prova. Dica prática: escreva os valores ao lado de cada linha quando for executar no papel, assim você não perde passo.

Resposta

\,A = \$20
\,B = \$10

Exercícios relacionados