4
respostas

resolvi usando apenas um IF - da pra "enxugar" o código mais do que isso?

<meta charset="utf-8">

<script>
    function pulaLinha(){
        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) {
            contador = contador + 1;
        }    
    }
    pulaLinha();
    mostra("FIM!");

</script>
4 respostas

Boa tarde, Francisco! Como vai?

Muito bem, essa é uma solução possível! Contudo, repare que a instrução contador = contador + 1 se repete tanto fora como dentro do if! Há uma solução onde ela aparece apenas uma vez no código!

Desafio: Vc consegue chegar nessa solução que eu comentei? Se precisar de ajuda é só falar!

Grande abraço e bons estudos, meu aluno!

Boa tarde, tudo na paz, e com vc?

Então Gabriel, verdade, se você não fala eu nem teria notado. hahaha

Vou fazer uma pausa para o almoço, mas tentarei fazer logo após. Obrigadoo pelo ajuda.

Abraço!

Estou aqui tentando resolver a questão e uma forma que encontrei foi adicionado ++contador dentro do IF.

Porém acho que ficou igual à adicionar +1 no contador.

O código ficou assim:

<meta charset="utf-8">

<script>
    function pulaLinha(){
        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) {
            ++contador;
        }    
    }
    pulaLinha();
    mostra("FIM!");

</script>

Mas ainda estou procurando outras soluções...

Oiee Gabriel.

Acho que agora consegui chegar em uma melhor solução:

<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) {
            mostra(contador);
        }
        contador = contador + 1;    
    }
    pulaLinha();
    mostra("FIM!");

</script>

Inverti a lógica do IF. Acho que era só isso que faltava, mas se tiver algum ponto pra adicionar será bem recebido.

Abraço e obrigadoo!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software