1
resposta

Por que a lógica não funcionou?

Pensei na seguinte lógica: Se for diferente de 33 ou 37, o programa deve mostrar. Porém, quando rodo o programa, os dois números continuam aparecendo. Qual a lógica do programa que impede que funcione corretamente?

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

    function mostra(frase) {

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

var contador = 30

while (contador <= 40){

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

    mostra("FIM.")

</script>
1 resposta

Bom dia!

Seu if tem um problema de lógica.

No caso: contador != 33 || contador != 37 Se o contador for 33 ele será igual a 33, e ele será diferente de 37. Assim , negando pelo !, seria Verdadeiro OU Falso, que dá verdadeiro. Vai entrar e imprimir.

Agora, se voce trocar do OU Para E, deve funcionar

contador != 33 && contador != 37

Se o contador for 33 ele será igual a 33, e ele será diferente de 37. Assim , negando pelo !, seria Verdadeiro E Falso, que dá Falso. Não vai imprimir.