Computação Múltipla Escolha

Na programação, em muitos momentos é necessário que os endereços de memória efetuem a troca de valores entre si. Considere uma sequência de código que troca os valores de duas variáveis A e B, em que A ficará com o conteúdo de B e B ficará com o conteúdo de A. Exemplo para demonstração: inicialmente, A = 5 e B = 15, que poderia ser qualquer valor, e, ao final da troca A deve conter o valor 15 e B deve conter o valor 5. Qual das alternativas abaixo representa a tabela que efetua a troca de forma correta?

Na programação, em muitos momentos é necessário que os endereços de memória efetuem a troca de valores entre si. Considere uma sequência de código que troca os valores de duas variáveis A e B, em que A ficará com o conteúdo de B e B ficará com o conteúdo de A. Exemplo para demonstração: inicialmente, A = 5 e B = 15, que poderia ser qualquer valor, e, ao final da troca A deve conter o valor 15 e B deve conter o valor 5.

Qual das alternativas abaixo representa a tabela que efetua a troca de forma correta?

  1. A afirmação I está correta.
  2. A afirmação II está correta.
  3. As afirmações I e II estão corretas.
  4. As afirmações II e III estão corretas.
  5. I, II e III estão corretas.

Resolução completa

Explicação passo a passo

D
Alternativa D

Alternativa D - As afirmações I e III estão corretas.

Para realizar a troca de valores entre duas variáveis (A e B), é necessário utilizar uma variável auxiliar (C) para armazenar temporariamente um dos valores. Se não houver essa variável, o valor original será sobrescrito e perdido antes de ser transferido para o destino correto.

Vamos analisar cada coluna usando os valores do exemplo: A = 5 e B = 15. O objetivo final é que A = 15 e B = 5.

Análise Detalhada

Coluna I (Correta)

Esta é a lógica clássica de troca com variável auxiliar:

  1. C \leftarrow A: Guarda o valor de A em C. Agora C = 5.
  2. A \leftarrow B: Copia o valor de B para A. Agora A = 15.
  3. B \leftarrow C: Copia o valor guardado em C para B. Agora B = 5.
  • Resultado: A=15, B=5. Troca realizada com sucesso.

Coluna II (Incorreta)

Nesta sequência, ocorre perda de dados na segunda linha:

  1. C \leftarrow A: Guarda o valor de A em C. Agora C = 5.
  2. B \leftarrow A: Copia o valor de A para B. Agora B = 5.
  • Erro: O valor original de B (que era 15) foi apagado nesta etapa e não foi salvo em lugar nenhum.
  1. A \leftarrow C: Copia o valor de C para A. Agora A = 5.
  • Resultado: A=5, B=5. Ambas as variáveis terminam iguais ao valor inicial de A.

Coluna III (Correta)

Esta sequência funciona exatamente como a Coluna I, apenas invertendo a ordem de salvamento inicial:

  1. C \leftarrow B: Guarda o valor de B em C. Agora C = 15.
  2. B \leftarrow A: Copia o valor de A para B. Agora B = 5.
  3. A \leftarrow C: Copia o valor guardado em C para A. Agora A = 15.
  • Resultado: A=15, B=5. Troca realizada com sucesso.

Conclusão

Somente as sequências I e III preservam os valores originais durante o processo de troca. A sequência II falha porque sobrescreve a variável B antes de salvar seu conteúdo original. Portanto, a alternativa correta é a D.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.