Questão nº 60

Questão de Tecnologia da Informação · FCC TJ-MA 2019 (nº 60)

FCC2019Técnico Judiciário - Técnico em Informática - SoftwareTecnologia da Informação
Gabarito: Ever comentário ↓

Considere o fragmento de código de uma página web, abaixo.

<body>
  <p id="exibe"></p>
  <script>
    var text = ""
    var i = prompt("Digite um valor: ");
    do {
      text += i + " ";
      i++;
    }
    while (i < 10);
    document.getElementById("exibe").innerHTML = text;
  </script>
</body>

Se o valor fornecido para a variável i for

Resposta comentada

Gabarito Alternativa E

A do...while loop é um tipo de laço de repetição que executa um bloco de código pelo menos uma vez, e só depois verifica a condição para decidir se continua repetindo. O prompt() sempre retorna uma string, mas o JavaScript tenta converter para número automaticamente (coerção de tipo) em operações como i++ e i < 10.

  • (A) Incorreta: Se i for 9 (string), na primeira execução do do, text se torna "9 " e i vira 10 (número). A condição while (10 < 10) é falsa, e o loop termina. O resultado é "9 ".
  • (B) Incorreta: Se i for 1 (string), o loop executará, adicionando 1, depois 2, e assim por diante, até que i se torne 10. O resultado final seria "1 2 3 4 5 6 7 8 9 ".
  • (C) Incorreta: (Armadilha da banca) Esta alternativa é o distrator mais comum para quem confunde do...while com while. Se i for 11 (string), o bloco do executa uma vez: text se torna "11 " e i vira 12 (número). A condição while (12 < 10) é falsa, e o loop termina. Portanto, algo é exibido.
  • (D) Incorreta: Se i for -1 (string), o JavaScript fará a coerção de tipo para número sem problemas. O loop executaria adicionando -1, 0, 1, ..., até 9. Nenhuma exceção ocorreria.
  • (E) Correta: Se i for 11 (string), o bloco do é executado pelo menos uma vez. text recebe "11 " e i é incrementado para 12 (número). Em seguida, a condição while (i < 10) (ou seja, 12 < 10) é avaliada como falsa, e o loop termina. Assim, o valor "11 " (representando o número 11) é exibido.

Fonte: FCC TJ-MA 2019 Técnico Judiciário - Técnico em Informática - Software (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho