← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

Marta está definindo um algoritmo para descrever um menu de funções do sistema, apresentando as opções baseadas em números, seguido da leitura da opção, com a saída ocorrendo após a digitação do número zero. Para gerenciar o fluxo de execução, que envolve a exibição do menu e leitura da opção, repetindo-se até que seja digitada a opção zero, Marta deve utilizar a estrutura de controle:

Gabarito: C

Quando a questão fala em exibir um menu, ler a opção e repetir isso até o usuário digitar zero, você está diante de uma repetição controlada por condição de parada. Em programação, isso normalmente é resolvido com uma estrutura de repetição do tipo “repita - até”, porque o bloco de comandos roda primeiro e só depois a condição é testada. É aquele caso clássico de “faça pelo menos uma vez e depois veja se continua”. Perceba a lógica do enunciado: o menu precisa aparecer, a opção precisa ser lida, e esse ciclo segue acontecendo até surgir a entrada zero. Isso combina perfeitamente com uma estrutura em que a verificação ocorre ao final da repetição. Em termos de algoritmo, a saída acontece quando a condição de parada é satisfeita, ou seja, quando a opção zero é digitada. Por isso o gabarito é a alternativa C. A estrutura “repita - até” executa o bloco e repete enquanto a condição não for atendida, encerrando quando ela se tornar verdadeira. Já “enquanto - faça” testa antes de entrar, o que pode impedir a execução inicial do menu se a condição estiver mal formulada. Em concursos, a banca costuma cobrar justamente essa diferença entre testar no início e testar no fim. Então guarde assim: menu com repetição e parada por valor digitado, especialmente quando o bloco precisa acontecer ao menos uma vez, costuma pedir “repita - até”. É o tipo de questão que parece simples, mas adora confundir quem troca a ordem do teste.

Continue treinando

Questões relacionadas