Questão de Programação — Java — Quadrix 2024
- Código
- qg347472
- Banca
- Quadrix
- Órgão
- CFP
- Ano
- 2024
- Nível
- Médio
- Cargo
- Técnico Administrativo - Suporte Técnico em Informática
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: E — ERRADO. A afirmação está incorreta porque, no laço do-while da linguagem Java, o bloco de código é executado primeiro e somente depois a expressão condicional é avaliada — exatamente o oposto do que o item afirma. Essa é a característica que distingue o do-while do while tradicional, conforme a própria documentação da linguagem e o material de apoio sobre estruturas de repetição em Java.
O do-while é uma estrutura de repetição pós-testada: a condição é verificada no final de cada iteração. Isso garante que o corpo do laço seja executado ao menos uma vez, mesmo que a condição seja falsa desde o início. Já o while é uma estrutura pré-testada: a condição é avaliada antes da primeira execução, e se for falsa, o bloco nunca é executado. Essa diferença é fundamental e frequentemente cobrada em provas de programação.
Vamos entender a sintaxe e o fluxo de execução do do-while em Java:
do {
// bloco de código
} while (condição);O fluxo é:
Executa o bloco de código.
Avalia a condição.
Se a condição for verdadeira, repete o passo 1; se for falsa, encerra o laço.
Por exemplo, considere o código:
int contador = 1;
do {
System.out.println("Contagem: " + contador);
contador++;
} while (contador <= 5);A saída será "Contagem: 1" até "Contagem: 5". Se contador fosse inicializado com 6, o bloco seria executado uma vez (imprimindo "Contagem: 6") e só então a condição contador <= 5 seria avaliada como falsa, encerrando o laço. Isso demonstra que a execução do corpo precede a avaliação da condição.
A pegadinha da banca está em inverter a ordem: afirmar que o do-while avalia a condição antes de executar o comando. Isso descreve o comportamento do while, não do do-while. O candidato que confunde as duas estruturas cai facilmente nessa armadilha.
Guarde a distinção: while = pré-teste (condição primeiro), do-while = pós-teste (execução primeiro). É exatamente esse critério que decide esta questão.
A afirmação está errada porque inverte a ordem de execução do do-while. No do-while, o bloco de código é executado antes da avaliação da condição. A ordem correta é: primeiro executa o comando, depois avalia a condição. Se a condição for verdadeira, repete; se falsa, encerra. Essa é a característica que garante a execução mínima de uma vez. A banca trocou o comportamento do do-while pelo do while, que de fato avalia a condição antes de executar o bloco.
Para não errar em questões sobre laços, lembre-se: while = "enquanto" (verifica antes), do-while = "faça enquanto" (executa antes). Se a condição for falsa desde o início, o while não executa nenhuma vez; o do-while executa pelo menos uma. Essa é a diferença clássica que as bancas adoram cobrar.
Gabarito: letra E
Link permanente: /questoes/qg347472