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

Raciocínio Incorreto



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

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

    function mostra(frase) {

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

    var numeroMinimo = 29; 
     while (numeroMinimo <= 31 ) {


        numeroMinimo = numeroMinimo + 1;
        mostra(numeroMinimo );
    }


    var numeroMinimo = 33; 
     while (numeroMinimo <= 35 ) {


        numeroMinimo = numeroMinimo + 1;
        mostra(numeroMinimo );
    }

    var numeroMinimo = 37; 
     while (numeroMinimo <= 39 ) {


        numeroMinimo = numeroMinimo + 1;
        mostra(numeroMinimo );

    }
    pulaLinha();    
    mostra("FIM");


</script>

Boa Noite Pessoal, Queria saber da opinião de vcs com o modo que fiz a resolução do problema, analisando o código dos colegas,curtíssimos e estão de parabéns ; ) , gostaria de saber se foi muito errado meu raciocínio e o que poderia fazer nesse código para melhorá-lo. Vlw

3 respostas
solução!

Sergio,

Analisando a sua lógica o que é possível perceber é que existe um padrão nas operações que você está fazendo. Temos 3 operações onde as três possuem:

  1. Um número minimo
  2. Um número máximo
  3. Um while
  4. Uma soma

Quase sempre que padrões em operações são encontrados é possível resolver com um laço.

Veja um exemplo abaixo:

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

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

    function mostra(frase) {

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

    let numerosMinimos = [29, 33, 37]
    let numerosMaximos = [31, 35, 39]

    numerosMinimos.forEach((n, i) => {
        while (n <= numerosMaximos[i])
            mostra(++n);
    });

    pulaLinha();
    mostra("FIM");
</script>

Em resumo, não há exatamente um problema com o seu código, ele só possui muitas repetições.

Abraço.

entendi Vinícius , muito obrigado pela explicação, Abraço