2
respostas

Minha Resolução para o Exrcéicio

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();

    }

    mostra("Os números de 30 a 40, exceto 33 e 37 são:")

    var contador = 30;

    while(contador <= 40) {

        if(contador == 33 || contador == 37) {    

        contador = contador + 1;

        mostra("Número: " + contador);
        contador = contador + 1;

        }

        else {

        mostra("Número: " + contador);
        contador = contador + 1;

        }

    }

    mostra("FIM");


</script>
2 respostas

Fiz o meu bem parecido, só usei o operador contrário, se for diferente de 33 e 37 mostra o número e aumenta 1 no contador, caso contrário apenas aumenta 1 no numerador. No seu exemplo está contando o numerador 2x dentro do loop de erro para a impressão ficar correta ou compreendi errado?

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

Fala Heverton! Tudo bem? Realmente fizemos em ordem inversa, mas o resultado espero que tenha sido o mesmo!

Eu usei o numerador, que no meu exemplo eu chamei de contador, duas vezes sim, pois uma delas atende a condição do IF, que é ser igual a 33 ou ser igual a 37, mas também usei o contador para atender todas as demais condições, que são todos os outros números que serão incrementados de 1 em 1.

Obrigado pela pergunta e espero tirado sua dúvida!