1
resposta

Sobre o exercício do 30 ao 40 sem mostra 33 e 37

Eu consegui fazer mas queria saber se é possível fazer ele usando apenas um if utilizando o &&, segue o código:

<!--<script>

        function pulaLinha() {

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

        function mostra(frase) {

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

        var contador = 30;

        while(contador <= 40) {

            mostra(contador);
            contador = contador + 1;

            if(contador == 33 && 37) {

                contador = contador + 1;
            }

        mostra("FIM");

    </script>-->

Não consegui fazer funciona, ele só remove o 33 e o 37 permanece, no que estou errando, pq se contador é igual a 33 E 37 então soma mais um em contator, não?

1 resposta

Willian, a sua estrutura de repetição "while" não está com o parênteses fechado, neste caso você teria que fechá-lo antes do mostra("FIM"); e da maneira que está escrito o if iria retornar um valor nulo/falso, pois não tem como o número do contador ser 33 E 37 ao mesmo tempo, então para dar certo teríamos que usar o operador OU ( || ) segue abaixo o meu código:

<script>

function pulaLinha() {

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

function mostra(frase) {

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

var contador = 30;

while(contador <= 40) {

mostra(contador);
contador = contador + 1;

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

    contador = contador + 1;
}
}
mostra("FIM");

</script>

Também há outras formas deste mesmo exemplo já respondido no fórum, caso tenha mais dúvidas, basta pesquisar e ver se acha algum outro código para melhor entendimento.