Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Aluno Exagerado

<meta charset="UTF-8">
<script>

    // funções pulaLinha, mostra e sorteia omitidas

    var numeroPensado = sorteia();

    var chute = parseInt(prompt("Já pensei. Qual você acha que é?"));

    if(chute == numeroPensado) {

        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    } else {

        var contador = 1;

        while( contador <= 10 ) {

            mostra("Já era, você errou!");
            contador = contador + 1;
        }

    }
</script>

Então, o código que o professor passou funciona normalmente mas eu fiquei confuso quando entra no ultimo else . Eu fiquei confuso quanto à função da var contador = 1 , do while e do contador = contador + 1 . Alguém poderia dar uma luz?

3 respostas

O var contador = 1; é para toda vez que entrar no else seja reiniciado do contador com 1, isso fará com que seja executado 10 vezes a mensagem "Já era, você errou!".

while( contador <= 10 ) será feito uma iteração começando de 1 e indo até 10, cada iteração irá incrementar o contador em 1.

contador = contador + 1 é para atribuir o valor antigo + 1, na prática vai aumentar em 1 o valor total do contador.

O contador vai somar +1 no final? Se der 10 vai ser 11?

solução!

Como a condição do while é "contador <= 10" e o contador começa com valor 1, será feito 10 vezes a execução do bloco de código de dentro do while (contador vai de 1 até 10).

Na última iteração (contador = 10) será atribuído +1, o contador ficará com o valor 11 e portanto, quando for verificado "contador <= 10" dará false e não executará novamente.