Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

VARIÁVEL ACHOU - PERGUNTA

Eu não entendi o racional para a necessidade da criação da variável achou. eu não consegui abstrair a noção da necessidade dessa variável. Também não entendi o porque da variável achou receber true e false. Eu consegui entender o fundamento de um array mas essa variável achou ficou parecendo uma "gambiarra" no bom sentido, de forma positiva.

1 resposta
solução!

Oi Wilson, tudo bem?

Já vimos que uma variável é capaz de guardar vários tipos de dados, como número e texto (string), mas além desses tipos, uma variável também consegue armazenar um valor booleano que aceita apenas dois valores: true ou false.

No programa feito pelo instrutor, queremos varrer o array em busca de um número específico, mas como pudemos ver, os alerts que criamos acabam se repetindo para cada elemento, mesmo após já termos encontrado o valor que buscamos no array. Para resolver isso, precisamos de um mecanismo que seja capaz de indicar ao programa se o número que buscamos já foi encontrado, podendo, assim, para cada elemento do array, checar se ele é o número que buscamos e parar a busca no array caso o número correto seja encontrado, ou continuar a busca caso o elemento analisado ainda não seja o que estamos buscando. E é aí que entra a variável achou, que começa como false e se torna true caso o número correto seja encontrado:

for(var posicao = 0; posicao < segredos.length; posicao++) {
    if(input.value == segredos[posicao]) {
        alert("Você ACERTOU!");
        achou = true;
        break;
    }
}

Ou, caso não encontre o número no array, continua como false mesmo e só manda um alert avisando que nós erramos:

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

Espero ter ajudado, qualquer dúvida é só avisar!

Bons estudos!!