Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — IADES 2021

Algoritmos e Estrutura de DadosAlgoritmos
Código
qq649654
Banca
IADES
Órgão
BRB
Ano
2021
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Considere o pseudocódigo a seguir, em que o símbolo ^ indica uma operação XOR bitwise.a = 12b = 5a = a ^ bb = a ^ ba = a ^ bOs valores finais das variáveis a e b são, respectivamente,
  1. A0
  2. B1
  3. C12 e 5
  4. D5 e 12
  5. E125 e 512
Revelar gabarito e comentário

GabaritoD — 5 e 12

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Troca de valores com XOR (XOR swap)

Gabarito: letra D. O pseudocódigo implementa a clássica troca de valores entre duas variáveis usando a operação XOR bitwise, sem necessidade de variável auxiliar. Após as três linhas, os valores de a e b são invertidos: a recebe o valor inicial de b (5) e b recebe o valor inicial de a (12).

A operação XOR (⊕) tem as propriedades: comutatividade, associatividade, x ⊕ x = 0 e x ⊕ 0 = x. Executando passo a passo:

  1. a = a ^ ba = 12 ^ 5.

    • 12 em binário: 1100

    • 5 em binário: 0101

    • XOR: 1001 = 9. Agora a = 9.

  1. b = a ^ bb = 9 ^ 5.

    • 9: 1001

    • 5: 0101

    • XOR: 1100 = 12. Agora b = 12.

  1. a = a ^ ba = 9 ^ 12.

    • 9: 1001

    • 12: 1100

    • XOR: 0101 = 5. Agora a = 5.

Portanto, os valores finais são a = 5 e b = 12.

Alternativa A — ❌ Incorreta

Afirma que o resultado é 0, o que não corresponde à troca realizada. O valor 0 só ocorreria se a e b fossem iguais ou em outra lógica.

Alternativa B — ❌ Incorreta

Afirma que o resultado é 1, também incorreto.

Alternativa C — ❌ Incorreta

Apresenta a = 12 e b = 5, ou seja, os valores originais. O algoritmo inverte os valores; portanto, essa alternativa troca a ordem correta.

Alternativa D — ✅ Correta ⟵ GABARITO

Apresenta exatamente os valores após a execução: a = 5 e b = 12, que são os valores trocados.

Alternativa E — ❌ Incorreta

Apresenta a = 125 e b = 512, números que sugerem uma concatenação equivocada dos valores originais (12 e 5), sem relação com a operação XOR.

NÃO CAIA NESSA!

A banca explora a confusão entre a ordem final e os valores iniciais. O distrator C (12 e 5) mantém os valores originais, fazendo o candidato acreditar que a troca não ocorreu. Lembre-se: após o XOR swap, a fica com o valor de b e b com o de a.

Gabarito: letra D — valores finais a = 5 e b = 12.

Link permanente: /questoes/qq649654