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

Por que o contador deve ficar fora do if?

Quando o contador recebe 33, caso a variável não seja incrementada (fora do if), o loop se torna infinito... é isso mesmo?

function pulaLinha() {

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

function mostra(frase) {

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

//Variável que quebra o loop
var contador = 30;

//Imprimindo de 30 a 40
while(contador <= 40) {

    //Impedindo que os números 33 e 37 sejam mostrados
    if(contador !== 33 && contador !== 37) {

        mostra(contador);
    }

    //Incrementa o 33 e 37 e impede que o loop seja infinito
    contador++;
}

mostra("Fim");
1 resposta
solução!

Boa noite Roger, tranquilo?

Isso mesmo... Caso não haja o incremento dentro do laço condicional while, como no exemplo abaixo, o loop será infinito, pois a condição para executar é ser menor ou igual a 40.

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

var contador = 30;

while (contador <= 40) {

    if(contador !== 33 && contador !== 37) {
            mostra(contador);
    }

}

Abraço!!!