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

[Sugestão] Sugestão de outra forma de resolução para este enunciado.

Para o codigo ficar mais enxuto, utilizei do || ou &&. Trazendo o mesmo resultado!

<meta charset="UTF-8">

<script>

function pulaLinha(){

     document.write("<br>");

}

function mostra(frase){

    document.write(frase);
    pulaLinha()

}

var contador = 30;
while(contador <= 40) {

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

    } else{

    mostra(contador + ";");

    }

    contador = contador + 1;

}

mostra("fim");

</script>
4 respostas
solução!

ola, você poderia tambem fazer a negatia do OU e trazer o mostrar() para cima e eliminar o else.

var contador = 30;
while(contador <= 40) {

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

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

Não entendo muito as condicionais mas nesse caso o || não excluiria somente hum elemento?

A minha solução foi bem próxima do @Noberto, vi que ainda não estou entendendo 100%, o uso da negativa em uma condição e acabei repetindo a contagem do contador usando o Else, é muito foda que existem vários caminhos para uma solução.

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

    function pulaLinha() {

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

    function mostra(frase) {

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

    mostra("Todos os números entre 30 a 40, exceto 33 e 37!");

    var contador = 30;
    while(contador <= 40){
        if(contador != 33 && contador != 37){
            mostra(contador);
            contador = contador + 1;    
        }else{
            contador = contador + 1;
        }
    }
    mostra("FIM")
</script>

Outras possibilidades:

  • laço 'while'
let i = 30
while(i <= 40) {
    (i != 33 && i != 37) && mostra(i + ";")
    i++
}
mostra("fim")
  • laço 'do while'
let i = 30
do { (i != 33 && i != 37) &&  mostra(i + ";") i++ } while (i < 40)
mostra("fim")
  • laço 'for'
for(let i = 30; i <= 40; i++) {
    (i != 33 && i != 37) && mostra(i + ";")
}
mostra("fim")

Onde a variável i é comumente adotada para definir o iterador em um laço de repetição.