Pular para o conteúdo principal

Questão de Programação — Conceitos básicos de programação — FGV 2023

ProgramaçãoConceitos básicos de programação
Código
fg071521
Banca
FGV
Órgão
TCE-SP
Ano
2023
Nível
Médio
Cargo
Auxiliar Técnico da Fiscalização - TI
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:
  1. Aenquanto - faça;
  2. Bse - então;
  3. Crepita - até;
  4. Dpara - faça;
  5. Ese - então - senão.
Revelar gabarito e comentário

GabaritoC — repita - até;

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

Estruturas de repetição: repita-até vs. enquanto-faça

Gabarito: letra C. A descrição do algoritmo — exibir menu, ler opção e repetir até que zero seja digitado — exige um laço que execute o bloco pelo menos uma vez e verifique a condição de parada ao final. Essa é a característica da estrutura repita-até (ou do-while em algumas linguagens), que garante pelo menos uma execução do corpo. Nesse caso, a condição de saída é opção = 0; enquanto a opção for diferente de zero, o loop continua.

A banca testa o conhecimento das diferenças entre as estruturas de repetição. O ponto central é que o enunciado descreve um comportamento pós-testado: o menu é mostrado e a opção é lida antes de se verificar se deve continuar. A estrutura enquanto-faça, por ser pré-testada, não garantiria a primeira execução — mas aqui isso não é problema? Na verdade, a descrição "repetindo-se até que seja digitada a opção zero" sugere que a repetição ocorre após a primeira leitura, o que é exatamente o comportamento do repita-até. Já o enquanto-faça verificaria antes de executar, o que exigiria uma inicialização artificial da variável opção (por exemplo, atribuir um valor diferente de zero antes do loop). Embora seja possível implementar com enquanto, a estrutura mais natural e que corresponde exatamente ao fluxo descrito é o repita-até.

  1. 1Pré-testada (enquanto-faça)Testa antes de executar
  2. 2Pós-testada (repita-até)Executa antes de testar
  3. 3Garante 1ª execuçãoSó repita-até
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A estrutura enquanto-faça (while-do) testa a condição antes de executar o bloco. No contexto do menu, seria necessário garantir que a opção lida antes do laço não fosse zero, ou usar uma variável de controle inicializada. O enunciado não menciona essa preparação; ele descreve a exibição e leitura como parte do laço que se repete. Portanto, não é a correspondência direta.

Alternativa B — ❌ Incorreta

Se-então é uma estrutura condicional (if-then), não de repetição. O enunciado pede repetição continuada até uma condição ser atingida, o que não pode ser feito com uma única decisão.

Alternativa C — ✅ Correta ⟵ GABARITO

Repita-até (repeat-until) é um laço pós-testado: executa o bloco primeiro e depois verifica a condição de parada. No problema, a sequência "exibir menu, ler opção, repetir até zero" encaixa perfeitamente: a condição de saída é opção = 0. Enquanto a opção for diferente de zero, o bloco se repete. Essa é a resposta certa.

Alternativa D — ❌ Incorreta

Para-faça (for-do) é usado quando se conhece antecipadamente o número de iterações (por exemplo, percorrer um intervalo). No menu, o número de repetições é indeterminado, dependendo da entrada do usuário. Não se aplica.

Alternativa E — ❌ Incorreta

Se-então-senão é uma estrutura condicional composta (if-then-else), não um laço. Não permite repetição.

PEGA ESSA DICA!

Em algoritmos de menu interativo com saída por entrada do usuário, a estrutura mais adequada geralmente é repita-até. O enquanto-faça também pode ser usado, mas exigiria uma leitura inicial fora do laço ou uma variável de controle com valor falso. Identifique o tipo de teste (pré ou pós) conforme a descrição: "repita até que" indica pós-teste; "enquanto ... faça" indica pré-teste.

Gabarito: letra C

Link permanente: /questoes/fg071521