3
respostas

Resposta alternativa menos verbosa

Olá!!!

Segue minha sugestão como solução. Poderiam avaliar pfv?

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

function mostra(frase) {

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


var numeros = 30;


while(numeros <= 40) {

    if (numeros != 33 && numeros != 37)
    mostra(numeros);
    numeros = numeros + 1;

}

mostra("FIM");

</script>

Uma dúvida também é em relação a necessidade da abertura e fechamento de bloco "{ }" para if. Nesta solução não utilizei. Qual a recomendação?

Tks!!!

3 respostas

Boa noite Gilmar

Mandou bem procurando um jeito mais pratico de escrever, agora quanto a falta de um "}", precisa ter muito cuidado com isso. Nesse não teve grandes problemas por que não tem nenhuma função depois, mas em um código grande isso atrapalha a maquina de ler e interpretar o conteúdo, seria como você tentar ler um paragrafo com a pontuação completamente errada.

Boa sorte nos estudos, espero ter te ajudado.

Boa tarde a todos. Também procurei um método menos verboso e fácil de alterar.

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

    function pulaLinha() {

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

    function mostra(frase) {

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

    function pulaNumero(n) {
        if (contador == n){
            contador = contador + 1
        }
    }

    var contador = 20;
        while (contador <= 40) {        
            pulaNumero(27);
            pulaNumero(33);
            pulaNumero(37);
            mostra(contador);            
            contador = contador + 1

        }

    mostra("FIM")

</script>

O que acharam? Também tenho uma duvida, teria como eu colocar mais de um numero ou informação em uma função? Tipo: "pulaNumero(22, 25, 27);"

Olá Gilmar, tudo certo?

O uso de '{ }' no if não é obrigatório caso o if tenha apenas uma expressão após o próprio if. Utilizando o que você fez como exemplo:

if (numeros != 33 && numeros != 37)
    mostra(numeros); (Só é executado caso a opção seja verdadeira)
    numeros = numeros + 1; (sempre é executado). 

E também pode ser usado dessa maneira, que vai funcionar:

if (condição) 
    alert("Qualquer coisa")
else
    alert("Qualquer outra coisa!")

Porém, é recomendado o uso do { }, mesmo que o if tenha apenas uma condição.

Deu pra entender? Espero que sim.

Bons estudos!