2
respostas

Outra solução

<meta charset="UTF-8">

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

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

    var i = 30;

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

</script>
2 respostas

Olá Arthur, sua solução ficou muito bem elaborada usando os operadores lógicos.

Veja como ficou minha resolução.

<meta charset="UTF-8">

<script>
    //Função mostra concatenada com a antiga Função pularLina().
    function mostra(frase) {
        document.write(frase + "<br><hr>");    
    };

    contador = 28;

    //Laço de repetição while(Enquanto) junto com uma condição if(se) para verificar os números entre 30 e 40 e imprimi-los, exceto 33 e 37.
    while(contador < 40) {
        contador ++;

        if (contador % 2 == 0) {
            mostra(contador);
        }
    }

    mostra("FIM!");

</script>

Fala Arthur, beleza? O seu código ficou bacana, conseguiu usar só um if, boa ideia. O meu ficou assim:

<meta charset="UTF-8">

<script>

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

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

   var inicio = 30;

   while(inicio <= 40) {
      if (inicio == 33 || inicio == 37) {
      } else {
         mostra("número: " + inicio);
      }
      inicio = inicio + 1;
   }

   mostra("fim");

</script>

Eu acabei utilizando o operador lógico OR(OU) para reduzir a quantidade de if.

O Thiago apresentou uma ideia legal:

  contador ++;

Usar a soma do contador dessa forma deixa o código mais clean.