Pular para o conteúdo principal

Questão de Engenharia de Software — Metodologia de desenvolvimento de software — FUNDATEC 2023

Engenharia de SoftwareMetodologia de desenvolvimento de software
Código
qq890549
Banca
FUNDATEC
Órgão
CIGA-SC
Ano
2023
Nível
Médio
Cargo
Proramador
Um programador quer ordenar a lista [5, 4, 3]. Qual alternativa representa todas as situações dessa lista até a sua completa ordenação utilizando o método Bubble Sort?
  1. A[5, 4, 3], [4, 5, 3], [4, 3, 5], [3, 4, 5], [3, 4, 5]
  2. B[5, 4, 3], [4, 3, 5], [3, 4, 5], [3, 4, 5], [3, 4, 5]
  3. C[5, 4, 3], [4, 5, 3], [4, 5, 3], [3, 4, 5], [3, 4, 5]
  4. D[5, 4, 3], [4, 5, 3], [3, 4, 5]
  5. E[5, 4, 3], [4, 3, 5], [3, 4, 5]
Revelar gabarito e comentário

GabaritoA — [5, 4, 3], [4, 5, 3], [4, 3, 5], [3, 4, 5], [3, 4, 5]

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”.

Bubble Sort em [5, 4, 3]

Gabarito: Letra A. A sequência apresentada em A é a única que reflete corretamente todas as iterações do Bubble Sort, incluindo a passagem extra de verificação ao final. O algoritmo percorre a lista trocando pares adjacentes até ordená-la, e depois realiza uma última passada para confirmar que não há mais trocas.

Como o Bubble Sort funciona

O Bubble Sort compara elementos adjacentes e os troca se estiverem na ordem errada. Uma passagem percorre todo o vetor; ao final de cada passagem, o maior elemento "flutua" para sua posição correta. O processo se repete até que nenhuma troca seja necessária em uma passagem completa.

Rastreamento da ordenação de [5, 4, 3]

Passagem 1 (i=0):

  • Compara 5 e 4 → 5 > 4, troca → [4, 5, 3]

  • Compara 5 e 3 → 5 > 3, troca → [4, 3, 5]

  • Fim da passagem: maior elemento (5) está na última posição.

Passagem 2 (i=1):

  • Compara 4 e 3 → 4 > 3, troca → [3, 4, 5]

  • Compara 4 e 5 → 4 < 5, não troca.

  • Fim da passagem: segundo maior (4) está na penúltima posição.

Passagem 3 (i=2):

  • Compara 3 e 4 → 3 < 4, não troca.

  • Compara 4 e 5 → 4 < 5, não troca.

  • Nenhuma troca ocorre; a lista está ordenada. Contudo, o algoritmo só percebe que está ordenado após completar uma passagem inteira sem trocas. Portanto, o estado [3, 4, 5] aparece novamente no final (como resultado da passagem de verificação).

A sequência completa de estados é: [5, 4, 3] → [4, 5, 3] → [4, 3, 5] → [3, 4, 5] → [3, 4, 5].

Análise das alternativas

  1. 1Estado inicial[5, 4, 3]
  2. 2Passagem 1 — troca 5↔4[4, 5, 3]
  3. 3Passagem 1 — troca 5↔3[4, 3, 5]
  4. 4Passagem 2 — troca 4↔3[3, 4, 5]
  5. 5Passagem 3 — verificação[3, 4, 5]
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

Apresenta exatamente a sequência acima: [5,4,3], [4,5,3], [4,3,5], [3,4,5], [3,4,5]. Inclui a passagem extra de verificação.

Alternativa B — ❌ Incorreta

Inicia com [5,4,3] e depois troca direto para [4,3,5] (pulou o estado intermediário [4,5,3]). Também repete [3,4,5] duas vezes no final, mas a sequência está incorreta.

Alternativa C — ❌ Incorreta

Após [4,5,3], repete [4,5,3] indevidamente, sugerindo que o algoritmo não progrediu. A sequência correta seria [4,3,5] após a segunda troca.

Alternativa D — ❌ Incorreta

Termina após [3,4,5] sem a passagem de verificação. O Bubble Sort só para após percorrer toda a lista sem trocas, então o estado final deve aparecer duas vezes.

Alternativa E — ❌ Incorreta

Idem à D: pula o estado [4,5,3] e não repete [3,4,5] no final.

NÃO CAIA NESSA!

A banca tenta confundir omitindo a repetição do estado ordenado (passagem extra). Muitos candidatos param a sequência assim que a lista fica ordenada, esquecendo que o algoritmo precisa percorrer novamente para confirmar. Lembre-se: o Bubble Sort só termina após uma passagem completa sem trocas.

Gabarito: letra A.

Link permanente: /questoes/qq890549