Questão 22 · Informática: Programação e algoritmos
var i = 0; while (i < 5) { i++; if (i == 3) { continue; } document.write(i); } Assinale a opção que apresenta a saída resultante da execução do algoritmo antecedente.
- A) 12345
- B) 1245
- C) 3
- D) 0124
- E) 1234
Marque a alternativa correta:
Gabarito: B
Gabarito definitivo divulgado pela banca Cebraspe (TRE/BA 2017).
Comentário
Gabarito: B.
O laço while executa enquanto i < 5. Em cada volta, o i++ vem antes do if, de modo que o valor já incrementado é testado e impresso. Quando i vale 3, o continue volta ao teste do laço sem executar o document.write.
Rastreando:
- Volta 1: i = 1, imprime 1.
- Volta 2: i = 2, imprime 2.
- Volta 3: i = 3, o
continuepula a impressão. - Volta 4: i = 4, imprime 4.
- Volta 5: o teste 4 < 5 é verdadeiro, i passa a 5 e imprime 5.
- Em seguida, 5 < 5 é falso e o laço termina.
A saída é 1245.
- A: errada. 12345 ignora o
continue, que suprime o 3. - C: errada. O 3 é justamente o valor que não é impresso.
- D: errada. O 0 nunca aparece, pois o incremento ocorre antes de qualquer impressão.
- E: errada. 1234 imprime o 3, que o
continuepula, e omite o 5, que é impresso na última volta.
Dica: em while, observe se o incremento vem antes ou depois do document.write e se há continue antes da impressão; é isso que define a saída.
Fundamentos: Semântica de while, incremento pré-impressão e continue em JavaScript · Rastreamento do algoritmo: saída 1, 2, 4, 5
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 TRE/BA 2017 (Técnico Judiciário – Área: Apoio Especializado – Especialidade: Programação de Sistemas), questão 22, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.