Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

VALORES BOOLEANOS: Como usar?

Gente, boa tarde!

Seguinte: na teoria, acho que compreendi como funcionam os valores booleanos, porém na prática, minha lógica tá bem iniciante e não consigo entender em que momento eu uso o false e em que momento uso o true...

Por exemplo no exercícios abaixo: quando entramos no while, porque a variável existe recebe 'false' e não 'true'? Fico bem confusa...

<meta charset="UTF-8">

<h1>Receitas do Yan</h1>

<script>
    var ingredientes = [];

    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));

    var contador = 1;

    while( contador <= quantidade) {

        var ingrediente = prompt("Informe o ingrediente " + contador);

        var existe = false;

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

            if( ingredientes[posicao] == ingrediente) {

                existe = true;
                break;
            }
        }

        if( existe == false) {

            ingredientes.push(ingrediente);
            contador++;
        }
    }

    console.log(ingredientes);
</script>

Conseguem me ajudar com outro exemplo?

Forte Abraço!

4 respostas
solução!

Opa Laura boa noite tudo certo?

vamos lá, vamos por parte.

var existe = false;

Aqui nesse momento do seu código, você está criando uma variavel boleana, com o valor false, então você já criou uma varivel do tipo boolean, e também já atribuiu um valor a ela, que no seu caso é false.

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

            if( ingredientes[posicao] == ingrediente) {

                existe = true;
                break;
            }
        }

Logo depois vc tem um for, que está percorrendo seu array de ingredientes.

Depois disso tem um if, verificando se seu array de ingredientes, na posição do seu for, é igual o numero de ingredientes digitado lá encima.

Ai se essa verificação for verdadeira, ele vai etrar no if, e vai mudar o valor da variavel existe que vc criou la encima como false, para true, então no momento temos a variavel existe com o valor true, então se vc reparar, ele chama o break, e com isso o break sai do for, para a execução do seu for, e vai para for do for.

logo depois do for, vc tem isso.

if( existe == false) {

            ingredientes.push(ingrediente);
            contador++;
        }

aqui no if está verificando se sua variavel existe o valor dela é igual a false, ai está a sacada, lembra na encima dentro do for, depois vc fez uma verificação com o if?

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

            if( ingredientes[posicao] == ingrediente) {

                existe = true;
                break;
            }
        }

caso o ingrediente na posição do seu array for igual ao ingrediente que vc passou la encima, vai entrar no if, e mudar a variavel para true, então nessa parte do seu código não ira entrar no seu if aqui, por que a variavel existe está como true.

if( existe == false) {

            ingredientes.push(ingrediente);
            contador++;
        }

mais caso dentro do seu for, o a condição do if for negativa, ele não irá entrar dentro do if dentro do seu for, sendo assim, a variavel existe continua sendo false, e consequentemente irá entrar dentro do seu if.

if( existe == false) {

            ingredientes.push(ingrediente);
            contador++;
        }

e o seu array irá adicionar mais 1 item quando ele da o push.

Certo, obrigada pela explicação! Já esclareceu bastante coisa!

Eu ainda tenho um dúvida: Quando eu declaro a variável existe recebendo o valor false... Tipo, quando eu declaro ela, sempre receberá false? Para quando entrar num loop e o valor ser verdadeiro, passar a receber true?

(Não sei se consegui me fazer clara... rs ) =)

Opa boa tarde, tudo bem?

Então no seu caso foi isso que aconteceu, mais geralmente não usamos muitos booleanos dessa forma, claro que pode acontecer, mais assim essa foi uma explicação do professor e tals, pra tendar entender como funciona a variavel do tipo boolean, mais no seu dia a dia, vc vai ver variaveis boolean como um atributo de objetos, como por exemplo.

vamos imaginar um caso que estamos adicionando um funcionario da empresa em um banco de dados, e esse funcionario tem seus atributos, como nome, idade, endereco, e se está ativo.

A propriedade ativo é do tipo boolean, ai vamos cadastrar esse atributo como true, que quer dizer, que a pessoa está ativa, caso ela saia da empresa, ai vamos editar a propriedade para false.

Geralmente usamos mais essas booleanas nesse caso Laura, é dificil, ver uma regra de negocio em produção ultilizando essa estrutura que o professor passou, ele passou mais para ja ir entendo o tipo da variavel booleana, porque ela só aceita, true e false.

Tudo tranquilo, e você?

Ah, sim! Obrigada pela orientação! Devagarinho, as coisas vão fazendo sentido!

Forte abraço!!