3
respostas

Não entendi a função da variavel " achei = false "

<meta charset="UTF-8">
<title>Compare</title>
<h1>Bem vindo ao teste de comparação</h1>
<hr>
<p>Será que você consegue acertar? Digite um número e vamos ver.</p>
<input/>
<button>Clique Aqui.</button>

<script>
        var segredos = [10,2,3,4];

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

        function clica(){
            var achei = false; //AQUI
            for( posicao = 0; posicao < 4; posicao++){

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

                    alert("Você acertou");
                    achei = true; // AQUI 
                    break;
                } 

            }
                if ( achei == false ){ //aqui

                        alert ("Você errou.");
                        }


        }



            var button = document.querySelector("button");
            button.onclick = clica;
</script>
3 respostas

Oi Lucas

Ela é uma variável de controle, repare que o IF de "Você errou" está fora do laço de repetição do FOR, então você iniciou a variável como false e se ela não virar true em algum momento na lógica ele vai alertar que você errou depois que o laço de repetição acabar. Caso você acerte ele vai mudar essa variável de controle achei para true e assim não irá entrar no IF de erro quando terminar o laço.

Eu entendo a explicação e o funcionamento no exercício, mas é difícil pensar no achou como sendo false, na cabeça automaticamente vem que se achou é verdadeiro. Lógica é doido, rs.

Oi Marcia

É interessante essa observação, nome de função e variável é importante fazer sentido, as vezes algumas não fazem muito sentido.

Nesse caso o achou até que está ok, da pra analisar como "achou? sim/não"

Mas realmente é muito importante que faça sentido, assim quando algum programador pegar pra ler o código ele consiga entender sem dificuldades.

Parabéns pelo empenho nos estudos!

Continue praticando e qualquer dúvida pode contar com a gente.