Pular para o conteúdo principal

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

ProgramaçãoConceitos básicos de programação
Código
fg126239
Banca
FGV
Órgão
AL-GO
Ano
2026
Nível
Superior
Cargo
Analista Legislativo - Desenvolvedor de Sistemas
A Diretoria de Tecnologia da Informação está modernizando seu sistema de gestão de entregas. A equipe de desenvolvimento Java é responsável por implementar regras de negócio que validam, processam e classificam pedidos antes de enviá-los ao módulo de roteirização. No desenvolvimento do novo módulo de pré-processamento de pedidos, a equipe precisa escolher a estrutura de controle mais adequada para executar uma sequência de verificações até que o pedido seja considerado válido.Assinale a opção que representa corretamente uma estrutura de controle existente no Java e apropriada para implementar esse tipo de repetição condicional.
  1. Arepeat...until
  2. Bloop...until
  3. Cwhile
  4. DforEach(condition)
  5. Eswitch(condition == true)
Revelar gabarito e comentário

GabaritoC — while

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

Java: estruturas de repetição condicional

Gabarito: letra C (while). O while é a única estrutura de repetição condicional genuína e existente em Java entre as opções. Ele executa um bloco de código repetidamente enquanto uma condição booleana for verdadeira, sendo ideal para validar pedidos até que se tornem válidos (ex.: while (!pedidoValido) { ... }).

A banca testa o conhecimento das estruturas de controle disponíveis na linguagem Java, incluindo a capacidade de distinguir laços verdadeiros de outras construções.


Alternativa A — ❌ Incorreta

repeat...until não existe em Java. Essa estrutura é típica de linguagens como Pascal e Lua. Em Java, o laço do-while é o equivalente que executa o bloco ao menos uma vez e verifica a condição no final, mas a sintaxe é do { ... } while (condição);, não repeat...until.

Alternativa B — ❌ Incorreta

loop...until não existe em Java. É uma construção genérica que não faz parte da sintaxe padrão da linguagem. O candidato pode confundir com do-while, mas o nome está errado.

Alternativa C — ✅ Correta ⟵ GABARITO

O laço while é uma estrutura de repetição condicional pré-testada (verifica a condição antes de executar o bloco). É perfeitamente adequada para implementar "executar uma sequência de verificações até que o pedido seja considerado válido" – basta usar while (!valido) { // verifica e atualiza }. Exemplo clássico e presente em qualquer código Java.

Alternativa D — ❌ Incorreta

forEach(condition) não é uma estrutura de repetição condicional em Java. O for-each (enhanced for) é usado para percorrer arrays ou coleções, e não aceita uma condição booleana arbitrária. Além disso, a sintaxe forEach(condition) não é válida – em Java, o enhanced for tem a forma for (Tipo var : coleção). Mesmo que se pense no método forEach de Stream, ele não é um laço de repetição condicional.

Alternativa E — ❌ Incorreta

switch(condition == true) é uma estrutura de seleção múltipla, não de repetição. O switch avalia uma expressão e executa um dos casos, mas não repete o bloco. A expressão condition == true é redundante (equivalente a condition), mas mesmo assim o switch não itera. É uma armadilha clássica: confundir desvio condicional com laço.

NÃO CAIA NESSA!

A banca insere nomes de laços de outras linguagens (repeat...until, loop...until) ou estruturas que não são de repetição (forEach com condição, switch) para testar se o candidato conhece as construções específicas do Java. Lembre-se: em Java, os laços condicionais nativos são while, do-while e for (com condição). O switch é seleção; o forEach (enhanced for) é iteração sobre coleções, não repetição genérica.

Gabarito: letra C (while).

Link permanente: /questoes/fg126239