Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Todos Os Números de 20 a 0 com ou sem if?

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

    function pulaLinha() {

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

    function mostra(frase) {

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

     //Imprima em ordem decrescente todos os números entre 20 e 0, incluindo os limites! No final, escreva a palavra "FIM".//


    var reverseThis = 20;

        if(reverseThis == 20){          //linha não escrita no cod. do professor//

            while(reverseThis >=0){

                mostra(reverseThis);
                reverseThis = reverseThis - 1
            }

        };
                 mostra("FIM!");

</script>

Essa foi a minha resolução do problema. A forma que o professor fez não usa o if , apenas while

A minha linha de raciocínio foi " Se reverseThis é igual a 20, imprima reverseThis , enquanto (condição estabelecida com o while) reverseThis for >= 0

A omissão do if no código do professor foi apenas para não ficar redundante, correto? mas se aqui o while substitui o if, por que o contrário não acontece? ou acontece e eu que não achei uma forma de fazer funcionar?

1 resposta
solução!

Olá Jonathan, o seu código está correto porém redundante na linha do if uma vez que o while já realiza a função de verificação (enquanto reverseThis for maior ou igual a 20).

Assim o while funciona tanto como laço de repetição quanto como verificação para realizar a tarefa dentro de seu bloco.

Porém o contrário não é verdade, oif NÃO realiza um laço de repetição, ele apenas verifica se uma condição é verdade ou não, se for verdade ele executará seu bloco apenas uma vez, enquanto o while executará sempre que a condição for verdade. Por isso o contrário não acontece