2
respostas

Adicionar "Exceto" ao contador.

Bom dia. Estou tendo dificuldades para acrescentar a string "Exceto" no lugar dos numerais 33 e 37. Sei que não é uma exigência do exercício mas, me coloquei esse desafio. Alguém poderia me dar uma luz. Grato.

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

    function mostra(frase) {

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

    var contador = 30;
    var limite = 40;

while(contador <= limite){

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

    contador = contador + 1;
} 


    mostra("FIM");

</script>
2 respostas

Oi Douglas, tudo certo?

Consegui resolver o seu problema acrescentando um else após o if

<meta charset="UTF-8">

<script>

        function pulaLinha() {

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

        function mostra(frase) {

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

        var contador = 30;
        var limite = 40;

    while(contador <= limite){

        if(contador != 33 && contador != 37){

        mostra(contador);
        } else {

            mostra("Exceto");
        }

        contador = contador + 1;
    }


        mostra("FIM");

</script>

Assim, quando contador não for diferente de 33 ou 37, ou seja, for igual, aparecerá a string "Exceto" no lugar de um número.

Espero ter te ajudado. Abraço.

Olá Douglas!

Uma forma similar a que a Lorena falou porém alterando a parte lógica:

//me parece ser mais fácil de entender a exceção dessa forma
if (contador == 33 || contador == 37)) {
    mostra("Exceto");
} else{
    mostra(contador);
}

Ou ainda poderia ter um retorno ao loop antes, usando um continue, porém neste caso teria de modificar a posição do incrementador para executar antes.

if (contador == 33 && contador == 37)) {
    mostra("Exceto");
    continue;
}
//Só vai chegar nessa linha se não atender a condição acima
mostra(contador);

Abraço