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:
- A)enquanto - faça;
Errada, porque “enquanto - faça” testa a condição antes de executar o bloco, o que não é a estrutura mais adequada quando o menu deve aparecer ao menos uma vez.
- B)se - então;
Errada, porque “se - então” serve para decisão simples e não para repetição de leitura e exibição de menu.
- C)repita - até;
Certa, porque “repita - até” executa o menu e a leitura primeiro, repetindo até que a opção zero seja digitada.
- D)para - faça;
Errada, porque “para - faça” é usada quando há uma contagem pré-definida de repetições, e aqui a parada depende da entrada do usuário.
- E)se - então - senão.
Errada, porque “se - então - senão” também é uma estrutura de decisão, não de repetição de fluxo.
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.