2
respostas

Por que ele imprime o 102?

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");
}

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
}
var numero=0;
while(numero <= 100){
  numero=numero+2;
  mostra(numero);
}
mostra("FIM. ")
</script>

Obs:eu sei que se eu tirar o sinal de igual no while ele retorna o valor esperado.

2 respostas

Porque quando o numero for igual a 100... ele vai ainda entrar no while e vai somar +2... Vou te dar uma dica: coloca o contador iniciando com 1, mas utiliza o módulo (%) pra vc achar os pares. Se precisar de ajuda quanto a isso, me da um toque. Boa sorte ai.

Boa noite Edielson,

Você só precisa trocar a ordem dos comandos no loop do while. a operação de soma vem depois de mostrar. Só mexendo nisso, ele vai funcionar até o 100.

Como você tá somando primeiro, pra depois mostrar o número, ele vai até 102. Por isso você mostra primeiro o número e depois faz a soma. ai quando ele bater no 100, vai mostrar o 100 e, depois vai somar o +2 e não vai entrar no loop mais.