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

Exercício 30 a 40, exceto 33 e 37

Bom dia, o meu código eu não dessa maneira

<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) {

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

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

        mostra("   ");
    }
    mostra("FIM");

</script>

na parte do if, eu coloque que se for IGUAL a 33 e 37 mostrar nada "mostra (" ");" . Porem não funcionou. Não teria que funcionar ??

2 respostas

Renato,

No trecho

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

Voce verifica se a variavel é igual a 33 e igual a 37.

Esta condição sempre será falsa, pois a variavel contador nunca possuira os dois valores ao mesmo tempo. O correto é utilizar o operador or (||).

Abraços.

solução!

O if precisa estar dentro do while.

var contador = 30;

while(contador <= 40) {

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

    contador++;
}

Da maneira como estava, o contador já teria chegado a 40 quando passava pelo if, e a condição não seria true.

Outro ponto é que o exercício pede pra pular o número 33 e 37, então uma solução é a condição else que mostra o contador ou vazio.

Além disso, você precisa comparar se contador igual a 33 OU 37, não E. Para isso usamos ||.

Bônus, escrevi um contador++ pra já ir se acostumando a outras formas de incrementar.