Questão 44 · Informática: Programação e algoritmos
class GeraNumeros { public static void main (String args []) { int num; num = 36; for(int i=0; i < num; i++) { if(i*i >= num) break; System.out.print(i + “ ”); } } } Assinale a opção que apresenta corretamente a saída gerada pelo código Java precedente.
- A) 36
- B) 1 2 3 4 5 6
- C) 1 2 3 4 5
- D) 0 1 2 3 4 5
- E) 0 1 2 3 4 5 6
Marque a alternativa correta:
Gabarito: D
Gabarito definitivo divulgado pela banca Cebraspe (TJ/PA 2020).
Comentário
Gabarito: D.
O laço for começa com i = 0 e repete enquanto i < 36. Em cada passagem, testa-se se i*i >= 36; se sim, o comando break encerra o laço. Os valores impressos são: i = 0 (0 ≥ 36? não, imprime 0), i = 1 (1, imprime 1), i = 2 (4, imprime 2), i = 3 (9, imprime 3), i = 4 (16, imprime 4), i = 5 (25, imprime 5). Para i = 6, 6 × 6 = 36 ≥ 36, então o laço para antes de imprimir. A saída é “0 1 2 3 4 5”, por isso a alternativa D é a correta.
As demais alternativas:
- A) 36 não é impresso, porque o laço para antes de chegar a esse valor.
- B) a sequência começa em 0, e não em 1, e o último valor impresso é 5.
- C) a sequência começa em 0, e o 0 também é impresso.
- E) o valor 6 não é impresso, porque o
breakocorre antes.
Dica: nos códigos com break, confira a condição antes do print: o valor que dispara o break não é impresso.
Fundamentos: Java: laço for, condição de parada e comando break · Cálculo passo a passo: i*i ≥ 36 ocorre em i = 6
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova Cebraspe TJ/PA 2020 (Auxiliar Judiciário – Especialidade: Programador de Computador), questão 44, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.