Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Aonde estou errando?

Fico quebrando a cabeça, mas não sei como fazer para não imprimir o número 33 e 37.

<meta charset = "UTF-8">

<script>

    function pulaLinha(){

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

    function mostra(frase) {

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

    var sequencia = 30;

    while(sequencia <= 40) {

        mostra(sequencia);

        sequencia = sequencia + 1;

        if(sequencia == 33 && sequencia == 37) {

            sequencia = sequencia + 1;
        }
    }

    mostra("FIM ");

</script>

Por favor ajudem

2 respostas

Boa noite Mauricio, o problema se encontra em sua validação com o if. Na sua verificação você está utilizando o comparador && que verifica se ambas as condições são verdadeiras, se você prestar atenção a sua expressão vai perceber que está verificando se o número é 33 E 37, se você parar pra pensar vai chegar a conclusão de que isso nunca vai ser verdadeiro, correto? um número nunca pode ser 33 e 37 ao mesmo tempo, o que temos que fazer é inverter sua expressão e verificar se os números são diferentes de 33 e 37, e só imprimir em caso verdadeiro. O código final ficaria assim:

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

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

var sequencia = 30;

while(sequencia <= 40) {
    if(sequencia != 33 && sequencia != 37) {
        mostra(sequencia)
    }

    sequencia = sequencia + 1;
}

mostra("FIM ");

Espero ter ajudado!

solução!

Outra possibilidade é usar o conector OU/OR (||) ao invés do E/AND (&&), como eu fiz aqui no meu, testa aí. :-D

<meta charset="UTF-8">
<script>

    function pulaLinha() {

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

    function mostra(frase) {

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

    alert("Vamos imprimir os números de 30 a 40, exceto 33 e 37?");

    var contador = 30;

    while (contador <= 40){

        mostra(contador);
        contador++;

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

            contador++;

        }

    }

    mostra ("FIM!!");

</script>