2
respostas

Contador de 30 a 40 com exceção do 33 e 37. AO invés de usar dois "if" coloquei o "||". UFA!

<script>

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

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

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

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

    }

    mostra("FIM");

</script>
2 respostas

É uma pegadinha muito grande quando nos deparamos com essas lógicas. Uma dica é sempre ler o problema e entender se, nesse seu exemplo, a logica exige que os valores 33 e 37 juntos devem executar algo, ou se quando chegar em 33 deve executar algo e depois em 37 deve executar algo . Pois com isso, temos a solução que você encontrou. Sendo ambos simultaneamente usa-se &&(and/e) e sendo mais de um valor, porém não simultaneamente, usa-se o ||(or/ou).

Bons estudos! Sucesso!

Angelo, muito obrigado por compartilhar o seu conhecimento eu não sabia do ||(or/ou) e eu estava tentando utilizar o && para fazer da seguinte forma como consta no código abaixo, mas troquei pelo || e quando fui executar o arquivo.html no chrome a página sempre trava!

<!DOCTYPE html>
<meta charset="utf8">


<script>

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

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

    var contador = 30;

    while(contador != 33 || contador != 37 || contador <= 40) {
        mostra(contador);
        contador = contador+1;  
    }

    mostra("FIM!!")

</script>