1
resposta

Porque não usar for ao invés de while?

Confesso que achei essa aula bem dificil, então tive que assistir várias vezes para destrincha-la e entender todos os processos. tentei usar for no lugar de while e só então pude perceber a diferença dos dois. Usando for, eu não tenho a liberdade de escolher quando sera feito o incremento da variável. Já com while, eu consigo colocar o incremento em qualquer lugar, inclusive dentro de um if como foi o caso dessa aula. Muito interessante. Difícil, porém com persistência eu conseguir ter um excelente aproveitamento. Obrigado

Meu código:

<meta charset="UTF-8">

<input />
<button>Compare com meu segredo</button>

<script>

    function sorteia() {
        return Math.round(Math.random() * 10);

    }

    function sorteiaNumeros(quantidade) {
        var segredos = [];
        var num = 0;

        while (num < quantidade) {
            var numeroAleatorio = sorteia();
            var achou = false;

            if (numeroAleatorio != 0) {
                for (var posicao = 0; posicao < segredos.length; posicao++) {
                    if (segredos[posicao] == numeroAleatorio) {
                        achou = true;
                        break;
                    }
                }

                if (achou == false) {
                    segredos.push(numeroAleatorio);
                    num++;
                }
            }

        }

        return segredos;
    }

    var segredos = sorteiaNumeros(2);
    console.log(segredos);

    var entrada = document.querySelector("input");
    entrada.focus();

    function verifica() {

        var achou = false;

        for (var posicao = 0; posicao < segredos.length; posicao++) {

            if (entrada.value == segredos[posicao]) {

                alert("Voce ACERTOU!");
                achou = true;
                break;
            }

        }
        if (achou == false) {
            alert("Você ERROU!!!!");
        }

        entrada.value = "";
        entrada.focus();

    }

    var botao = document.querySelector("button");
    botao.onclick = verifica;

</script>
1 resposta

Olá Cleiton, tudo bem?

A ideia do exercício é mostrar a funcionalidade do while, e principalmente mostrar as limitações dele! Como você mesmo comentou, o for você tem mais liberdade! Nos cursos seguintes á Logica de Programação, você irá ver ainda mais as utilidades do for e poderá escolher qual prefere utilizar!

Além disso, Parabéns pela iniciativa! Na área de Ti ocorre muito de acharmos dificuldades, exatamente o que aconteceu com você, e ir buscar uma solução por vontade própria é algo muito importante!

Qualquer duvida é só perguntar!! Bons Estudos!!