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 troca de valores entre A e B em que A é um card com o conteúdo de 8 e B é um card com o conteúdo de A. Exemplo para demonstração inicial, para troca, A + 5 = 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 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 troca de valores entre A e B em que A é um card com o conteúdo de 8 e B é um card com o conteúdo de A. Exemplo para demonstração inicial, para troca, A + 5 = 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 efetua a troca de forma correta?

  1. Apenas a afirmação I está correta.
  2. Apenas a afirmação II está correta.
  3. As afirmações I e II estão corretas.
  4. As afirmações I 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 resolver esta questão, precisamos simular a execução do algoritmo de troca de variáveis passo a passo, verificando se o resultado final atende ao requisito estabelecido no enunciado: A deve ser 10 e B deve ser 2.

O enunciado define os valores iniciais para todos os testes:

  • A_{inicial} = 2
  • B_{inicial} = 10

Vamos analisar cada coluna separadamente:

Análise Detalhada

Coluna I (Correta)

Esta é a forma clássica de trocar dois valores usando uma variável auxiliar (neste caso, C):

  1. C <- A: O valor de A (que é 2) vai para C. Agora C = 2.
  2. A <- B: O valor de B (que é 10) vai para A. Agora A = 10.
  3. B <- C: O valor guardado em C (que é 2) vai para B. Agora B = 2.
  • Resultado Final: A = 10 e B = 2. Atende ao requisito.

Coluna II (Incorreta)

Nesta sequência, ocorre uma perda de dados:

  1. C <- A: C recebe 2. (C=2)
  2. B <- A: B recebe o valor de A (que é 2). O valor original de B (10) foi perdido. (B=2)
  3. A <- C: A recebe o valor de C (que é 2). (A=2)
  • Resultado Final: A = 2 e B = 2. Não atende ao requisito.

Coluna III (Correta)

Esta também realiza a troca corretamente, apenas mudando a ordem inicial da atribuição para a variável auxiliar:

  1. C <- B: O valor de B (que é 10) vai para C. Agora C = 10.
  2. B <- A: O valor de A (que é 2) vai para B. Agora B = 2.
  3. A <- C: O valor guardado em C (que é 10) vai para A. Agora A = 10.
  • Resultado Final: A = 10 e B = 2. Atende ao requisito.

Conclusão

ColunaResultado Final (A, B)Correta?
I$10, 2$Sim
II$2, 2$Não
III$10, 2$Sim

Como as colunas I e III realizam a troca corretamente, a alternativa que indica essas duas como verdadeiras é a correta.

Portanto, a resposta é Alternativa 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.