FGV · BANESTES · 2021 · Desenvolvimento de Sistemas

Questão 54 · Informática: Programação e algoritmos

Analise o script JS a seguir. <script> function xpto() { let n = 0; return {next: function() { if (n < 10) { n += 2; return {value:n/2, done:false}} else { return {value: -1, done: true}} } } } saida = "" const n = xpto(); x = n.next(); while (x.done == false) { saida += x.value + "/"; x = n.next(); } alert(saida); </script> O resultado da execução desse código é:

  1. A) -1/-2/-3/-4/-5/
  2. B) 0/1/2/3/4/5/
  3. C) 1/2/3/4/5/
  4. D) 5/4/3/2/1/
  5. E) 5/4/3/2/1/0

Marque a alternativa correta:

Gabarito: C

Gabarito definitivo divulgado pela banca FGV (BANESTES 2021).

Comentário

Gabarito: C.

A função xpto cria uma variável n local, inicializada com 0, e retorna um objeto com o método next. A cada chamada de next, enquanto n for menor que 10, n soma 2 e o método devolve value = n/2 com done falso. As chamadas produzem:

  • n = 2, value = 1;
  • n = 4, value = 2;
  • n = 6, value = 3;
  • n = 8, value = 4;
  • n = 10, value = 5.

Na chamada seguinte, n não é menor que 10, e o método devolve done verdadeiro, encerrando o while. Como a saída acumula cada valor seguido de uma barra, o alert exibe 1/2/3/4/5/.

  • (A) valores negativos nunca são acumulados: o -1 só é devolvido junto de done verdadeiro, quando o laço já terminou, e value é n/2 com n positivo.
  • (B) o 0 nunca é produzido, pois n é somado antes de o valor ser devolvido.
  • (D) os valores saem em ordem crescente (1 a 5), não decrescente.
  • (E) a ordem é decrescente, e o 0 e a ausência da barra final não correspondem ao que o código produz.

Dica: em iteradores, acompanhe o valor de n a cada chamada e pare quando done for verdadeiro; o valor devolvido junto de done verdadeiro não entra na saída deste código.

Fundamentos: closures em JavaScript · padrão iterador com next, value e done · laço while e acumulação de strings

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 FGV BANESTES 2021 (Desenvolvimento de Sistemas), questão 54, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.

Concursos abertos que cobram Informática

TCE/MA 2026 Analista, Auditor e TécnicoUNCISAL 2026 Professor do Magistério SuperiorPROCON/AL 2026 Analista e Fiscal de Defesa do Consumidor