1
resposta

Por que a variável "existe" começa sendo false?

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.

1 resposta

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

  • 'existe' passa a ser true;
  • interrompe a comparação;
  • volta ao inicio do while para perguntar de novo o nome de um ingrediente (sem incrementar o contador)
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:

  • acrescenta o ingrediente à variável array 'ingredientes' que contém a lista de ingredientes aceitos;
  • incrementa o 'contador';
  • volta ao topo de while (caso ainda não tenha chegado ao seu fim) para perguntar o nome de mais um ingrediente.
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.