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

Lógica do código

Professor o correto não seria o contador partir de 0 ? Visto que partindo de 2 o primeiro número que irá aparecer em mostra e assim será exibido na página será o 4 , logo estaria eliminando o 2 que está incluso no requisito ( número par de 1 a 100 ).

Meu código ficou assim:

<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    var contador = 0; // o contador parte de 0 englobando todos os números pares
    while(contador < 100) {
        mostra(contador = contador + 2); // aqui o contador é incrementado com 2

    }
    mostra("FIM");
</script>
4 respostas
solução!

Olá Gisele,

uma coisa interessante em programação é que você pode escrever o código de diferentes formas e produzir o mesmo resultado. No seu código, a forma como ele mostra ficou assim:

mostra(contador = contador + 2);

O que está acontecendo nessa linha é que primeiro ele está somando 2 no contador e depois ele está mostrando o resultado na tela. Por isso mesmo que seu contador precisa começar em 0 para ele imprimir o 2 como você comentou.

Outra forma de fazer é começando o contador com o 2, mas dentro do while primeiro você precisa mostrar na tela o contador e depois somar 2. Seria uma ideia bem parecida com a de imprimir os anos da copa do mundo :

var AnoCopa = 1930;
var limite = prompt("Qual é o ano limite?");

while(AnoCopa <= limite) {
    mostra(AnoCopa + " tem copa!"); //primeiro mostra
    AnoCopa = AnoCopa + 4; //depois atualiza em 4 anos
}

Gisele, há diferentes formas de se fazer. Como eu só incremento depois de exibir o código funciona perfeito. Sua solução economizou uma instrução, boa!

Como Lucas colocou, essa é a beleza da programação.

Obrigada pelos esclarecimentos!

Obrigada Professor! E obrigada também Lucas!