Questão de Algoritmos e Estrutura de Dados — Algoritmos — INSTITUTO AOCP 2018
- Código
- qq376819
- Banca
- INSTITUTO AOCP
- Órgão
- UNIR
- Ano
- 2018
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: Errado. A afirmação inverte o momento do teste condicional. No while, o teste é realizado antes da execução do bloco; no do-while, o teste é feito após a execução do bloco, garantindo que o corpo seja executado ao menos uma vez. A banca trocou as posições, o que torna a assertiva incorreta.
A linguagem Java (assim como C, C++, C#) oferece duas estruturas de repetição condicionais principais:
while (condição) { ... }: a condição é avaliada antes de cada iteração. Se falsa de início, o bloco nunca é executado.
do { ... } while (condição);: o bloco é executado primeiro, e a condição é testada no final de cada iteração. Logo, o bloco sempre roda pelo menos uma vez.
A afirmação diz: "no caso do while, o teste condicional é feito após executar o código interno ao loop" (o que é falso); e "no loop do, o corpo do loop é executado várias vezes, no fim do loop" (expressão confusa, mas o teste realmente ocorre no fim). A principal diferença está justamente no momento do teste, e a assertiva a descreveu incorretamente.
No while, pense "while a condição for verdadeira, executa" → teste primeiro. No do-while, pense "do (faça) e while (enquanto) depois" → executa, depois testa. Esse mnemônico ajuda a não inverter.
✅ CERTO? Não. ❌ ERRADO é a resposta.
Link permanente: /questoes/qq376819