1
resposta

Todos os números entre 30 a 40, exceto 33 e 37!

<meta charset = "UTF-8">

<script>

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

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

var contador = 30


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

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




mostra ("FIM");

</script>

Boa tarde! o código continua mostrando o 33 e 37. Por que? Eu vi a resolução mas não consegui entender claramente porque o meu não funcionou. Grato desde já.

1 resposta

Olá, Yuri. Boa tarde! Tudo bem?

Vamos lá, espero conseguir te ajudar com sua dúvida.

Fiz os testes aqui com o seu código e fiz uma pequena alteração e vou te explicar o porquê.

O erro estava aqui:

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

O que acontece, quando você insere os dois && (também conhecido como "E" comercial), você está dizendo para sua condicional que ela deve executar somente quando a variável contemplar as duas condições, ou seja somente se a variável tiver com os valores 33 e 37 que ela executaria. O ideal nesse caso é inserir o conectivo ou, pois ao passar pelo número 33 ou pelo número 37, ele contemplaria a sua condição. Caso queira ver mais sobre o assunto recomendo esse video: https://www.youtube.com/watch?v=GlVa3RA9tKI&t

Ah, antes que me esqueça, o seu código para funcionar ficaria assim:

<meta charset = "UTF-8">

<script>

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

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

var contador = 30


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

        if (contador == 33 || contador ==37) {
        mostra ("empty");
        }

}


mostra ("FIM");

</script>

Só para lembrar, esse não é o único jeito de se fazer esse código, há várias maneiras de se fazer um código, o importante é a lógica por trás dele e seu funcionamento. Espero ter ajudado :)