3
respostas

Todos os números pares de 1 a 100

Por definição, número par é múltiplo de dois, então acabei fazendo meu código assim:

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }


        var contador = 1;

        while(contador <= 50) {

            mostra(contador * 2);

            contador = (contador + 1);

        }

        mostra("FIM")

</script>

1) Aparentemente o código deu certo, mas não segui a orientação de incrementar o contador de dois em dois. Essa não seria uma boa solução porque não segui a orientação do cliente, correto?

2) Outra dúvida quanto ao uso do "while" e "contador". Por que precisamos inserir contador = (contador + 1) para impedir o looping?

No while(contador <= 50) já não consta a orientação do que é considerado "true"? Por que segue no looping quando chega no 51, se o número não atende à contador <= 50?

3 respostas

Sobre o contador, a parte "contador = contador +1" é necessária porque no fim de cada loop ele vai alterar o valor da variavel "contador" acrescentando +1 ao número do loop anterior. Se retirar essa parte o looping não vai funcionar. Note que esse comando não é para impedir o loop de passar de 50, e sim, acresentar mais um número ao contador, para que o loop repita até que a condição seja cumprida.

Oi, Douglas!

Não entendo o seguinte... ,na minha cabeça, a condição vai ser cumprida quando o contador chegar em 51. O contador vai de 1,2,3,4...50 e quando chegar a 51 a condição vai se cumprida por causa do "contador <= 50", por isso não entendo a necessidade de por a parte "contador = contador +1" para cumprir a condição.

Certo, esse contador é necessário sim, ve só, o codigo sempre vai seguir o fluxo até chegar na estrutura de repetição que nesse caso é o while. Quando o código entra no while vai repetir até que sua condição seja satisfeita. Nesse caso, enquanto contador < 50.

Se olhar no código a variável "contador" está fora do while, inicialmente com o número 1.

var contador = 1;

Se o código do while for feito sem o código:

contador = (contador + 1)

Ele vai terminar o primeiro ciclo, sem acrescentar + 1 número no contador, o que fará com que o código rode para sempre, já que o contador sempre vai ser 1, que no caso é menor do que 50.

Com esse comando, contador = contador +1, a cada ciclo, o valor da variável vai aumentar até 51, quando vai saciar o parametro do while e terminar o looping.