Alguém pode me explicar por que a variável "existe" começa com "false", assim como a "achou" do professor? Tem outra forma de fazer que não usando elas, estou um pouco confusa, se alguém puder explicar melhor ficaria grata.
Alguém pode me explicar por que a variável "existe" começa com "false", assim como a "achou" do professor? Tem outra forma de fazer que não usando elas, estou um pouco confusa, se alguém puder explicar melhor ficaria grata.
Leilane,
a variável 'achou' foi criada no código do professor para indicar se o número digitado é igual a algum dos números escolhidos como 'segredo'. Se for igual a algum dos segredos, 'achou' passará a ser true, e ignorará o if abaixo:
if(achou == false) {
alert("Você ERROU!");
}
No começo da comparação, isto não é verdade. E se o valor digitado não coincidir com nenhum dos segredos, o valor não será alterado, continua sendo false, para que o "código" possa saber o que fazer, atendendo ao if acima.
O mesmo ocorre com a variável 'existe'. Ela indica se o último ingrediente digitado é igual a algum já existente. No momento antes da comparação, 'existe' é false, porque não houve nenhuma comparação ainda. Se a comparação encontrar algum ingrediente igual
if( ingredientes[posicao] == ingrediente) {
existe = true;
break;
}
Se a comparação não encontrar o ingrediente digitado dentro da lista de ingredientes anteriores, existe continua sendo false:
if( existe == false) {
ingredientes.push(ingrediente);
contador++;
}
Nos dois casos, estas variáveis funcionam como indicadores, para que seja tomada uma decisão: executar uma ação ou outra.
Talvez seja possível implementar estes códigos de outras variadas maneiras, mas fazê-la com a atribuição de um valor a uma variável, dependendo de cada situação, é uma das mais simples de implementar, e de compreender a lógica.