Questão nº 41

Questão de Tecnologia da Informação · FGV TCE-TO 2022 (nº 41)

FGV2022Auditor de Controle Externo - Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Cver comentário ↓

Pedro está dando seus primeiros passos na programação Python e pretende construir uma função para colocar em ordem crescente os elementos de uma lista. A versão corrente do seu script de teste é a mostrada abaixo.

```
def enigma(L):
for i in range(0, len(L)-2):
achou=False
for j in range(1, len(L) -1):
if L[i] > L[j]:
L[i], L[j] = L[j], L[i]
achou=True
if achou:
break
return len(L)
x=[4,2,6,5,10]
print (enigma(x))
print (x)
```

Nesse estágio, a lista exibida pelo último comando print é:

Resposta comentada

Gabarito Alternativa C

Conceito-chave: O break interrompe o for externo assim que a variável achou for True (ou seja, assim que qualquer troca for feita). Isso significa que o algoritmo não ordena a lista inteira — ele só faz uma "passada" parcial e para.

  • (A) Incorreta: O break impede que o laço continue até o fim, então o 10 nunca chega à última posição; a lista não fica com o maior elemento no final.
  • (B) Incorreta: O 2 até é movido para o início, mas o 6 e o 5 não são trocados entre si, pois o laço externo para após a primeira troca (i=0), deixando [2, 6, 5, 4, 10] — não [2, 6, 5, 4, 10] como aqui.
  • (C) Correta: Para i=0, o laço interno compara L[0]=4 com L[1]=2 (troca → [2,4,6,5,10]), depois com L[2]=6 (não troca), L[3]=5 (não troca), L[4]=10 (não troca). Como houve troca, achou=True e o break encerra o for externo. A lista final é [2, 4, 6, 5, 10].
  • (D) Incorreta: O 4 não fica na posição 1, pois ele é trocado com o 2 logo no primeiro passo; além disso, o 5 e o 6 não são reordenados.
  • (E) Incorreta: O 2 não é movido para o início, pois a primeira troca é entre L[0] e L[1], que coloca o 2 na posição 0 — não [4, 2, 5, 6, 10].

Armadilha da banca: O distrator mais tentador é a letra B, pois parece uma ordenação parcial "lógica" (o menor na frente), mas esquece que o break para o laço externo imediatamente após a primeira troca, sem continuar varrendo os demais índices i. Quem não percebe o break tende a simular mentalmente uma ordenação completa e erra.

Fonte: FGV TCE-TO 2022 Auditor de Controle Externo - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho