Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

O código não funciona

Não entendo o que estou errando nesse exercício...

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

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

    var contador = 30;

    while (contador <= 40){
        mostra(contador);
        contador =+ 1;

        if (contador == 33 || == 37){
            mostra(contador);
            contador =+ 1;
        }
    }



    mostra("FIM");

</script>
1 resposta
solução!

Olá Maite, observando o seu código notei alguns pontos de melhora que podem estar causando o erro, e impedindo que seu código funcione da maneira que deseja:

  • Primeiro ponto, logo que você declarou o while, você chamou a variável contador, fazendo com que o sistema fizesse a leitura antes do if.
  • Segundo ponto, o if (contador == 33 || == 37) não foi declarada a variável "contador" para comparar com o == 37, a forma correta seria: if (contador == 33 || contador == 37).
  • Terceiro ponto, é chamar a variável utilizando o "mostra(contador);" dentro de um else para que a linguagem interprete as 2 opções que foram dadas a ela e faça a comparação entre verdadeiro e falso.

Abaixo o código com as correções mencionadas:

function pulaLinha() {
    document.write("<br>");
}

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

var contador = 30;

while (contador <= 40) {
    if (contador == 33 || contador == 37) {
        contador = contador + 1;
    } else {
        mostra(contador);
        contador = contador + 1;
    }
}

mostra("FIM");

Você está no caminho certo! Espero ter ajudado.