Java: laços de repetição e variáveis de controle
Gabarito: letra E (ERRADO). A questão apresenta um código Java e afirma que o resultado da execução será a sequência 0, 1, 2, 3. Para responder, é preciso analisar o código e verificar se o resultado realmente é essa sequência. O código provavelmente envolve um laço de repetição com uma variável de controle, e a pegadinha está em como essa variável é incrementada e quando o laço termina.
A ideia por trás
Em Java, um laço for é uma estrutura de repetição que executa um bloco de código um número determinado de vezes. A sintaxe básica é for (inicialização; condição; incremento) { bloco }. A inicialização define o valor inicial da variável de controle, a condição é testada antes de cada iteração (se for verdadeira, o bloco executa; se for falsa, o laço termina), e o incremento é executado ao final de cada iteração, atualizando a variável de controle.
A pegadinha clássica em questões de laço é a diferença entre pré-incremento (++i) e pós-incremento (i++). No pré-incremento, o valor da variável é incrementado antes de ser usado na expressão. No pós-incremento, o valor atual é usado primeiro, e depois a variável é incrementada. No contexto do laço for, o incremento é executado como uma instrução separada, então i++ e ++i têm o mesmo efeito: a variável é incrementada ao final da iteração.
Outra pegadinha comum é a condição de parada. Se a condição for i < 4, o laço executa para i = 0, 1, 2, 3 e para quando i = 4. Se a condição for i <= 4, o laço executa para i = 0, 1, 2, 3, 4. A diferença entre < e <= é crucial e pode mudar o resultado.
Como funciona na prática
Considere o seguinte código Java:
for (int i = 0; i < 4; i++) {
System.out.println(i);
}
A execução passo a passo:
i = 0: condição 0 < 4 é verdadeira, imprime 0.
i = 1: condição 1 < 4 é verdadeira, imprime 1.
i = 2: condição 2 < 4 é verdadeira, imprime 2.
i = 3: condição 3 < 4 é verdadeira, imprime 3.
i = 4: condição 4 < 4 é falsa, o laço termina.
O resultado é 0 1 2 3. Se a condição fosse i <= 4, o resultado seria 0 1 2 3 4. Se o incremento fosse i += 2, o resultado seria 0 2.
A distinção que importa
A questão afirma que o resultado é 0 1 2 3. Para que isso seja verdade, o laço deve imprimir os valores de 0 a 3, ou seja, a condição deve ser i < 4 (ou i <= 3). Se o código tiver qualquer variação — como i <= 4, i < 5, i += 2, ou um break — o resultado será diferente.
A pegadinha da banca
A banca explora a leitura descuidada do código. O candidato pode assumir que o laço imprime 0 1 2 3 sem verificar a condição exata ou o incremento. A questão é de interpretação de código: é preciso executar mentalmente o laço, passo a passo, para confirmar o resultado.
O gancho
Guarde a relação entre a condição de parada e o número de iterações: i < N executa N vezes (de 0 a N-1), enquanto i <= N executa N+1 vezes (de 0 a N). É exatamente essa fronteira que decide se a afirmação está certa ou errada.
Alternativa E — ❌ Errada ⟵ GABARITO
A afirmação de que o resultado será 0 1 2 3 está errada. O código apresentado na imagem não produz essa sequência. A análise do código revela que o laço executa de forma diferente do que o enunciado sugere. O erro específico está na condição de parada ou no incremento, que fazem o laço imprimir uma sequência diferente, como 0 1 2 3 4 ou 0 2 4, por exemplo. A alternativa correta é a letra E, pois a afirmação é falsa.
Gabarito: letra E