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

Duvida sobre a logica do booleano!

Vamos lá.. estava revisando os conteúdos chave tipo variável, função, paramento, repetição while/for. tudo que rotineiramente é propostos nas atividades percebi que entender a lógica deles é vital. ( consegui corrigir e melhora muito meu entendimento quando voltei pra esmiuçar cada aspecto de construção, é com esse exercício achei uma fraqueza. ( boolean)

não consigo montar nem um código que use boolean.(não sei nem se esse é o temo certo de chamar). O que eu consegui notar nas aulas e revendo vídeos, boolean usa (false e true) notei que o (if) tb é um tipo de boolean mesmo não usando (false ou true) diretamente tipo if (raio > 30) o que ele vai fazer no fundo e um false ou true. E avançar pra ler dentro do código contido nele. meu problema e que não consegui visualizar como montar boolean nessa atividade.

sei que a principio se começa criando uma variável global exemplo | var mostraBrasil = true; | depois não faço ideia de como ou onde. "de forma racional" sem olhar guia nem nada encaixar o false ou true e as variáveis e tal

  • Queria pratica ou entender melhor, eu li uma duvida ate parecida com minha aqui no fórum mas ainda gostaria de sabe como praticar. Ou o que ler.
  • Qual quer dica pode sim me ajuda a visualizar como montar uma condição(boolean) simples. sem me guiar por exemplos prontos.

não saio desse modulo sem que de forma consciente eu saiba fazer um (boolean) assim como sei criar uma variável, uma função, repetição. esse boolean tá me empacando.

Obrigado.

3 respostas

Kleber Machado,

você está certo ao relacionar a instrução 'if' com uma condição booleana, o que é mais dificil de perceber.

Mas para não estragar o exercício, segue um exemplo similar ao que deve ser feito, mas com uma variável mais fácil de entender o booleano. Explicações nos comentários do próprio código:

<meta charset = "UTF-8">

<script>

    function mostra(frase) {
        document.write(frase);
        document.write("<br>");
    }


    function encheCopo()   {
        mostra("Está vazio! ...obrigado por encher meu copo!");
    }


    function esvaziaCopo()   {
        mostra("Ah, agora está cheio. Vou poder beber!");
    }


    var copoVazio = true;               //aqui eu digo inicialmente qual é a condição booleana: verdadeiro ou falso.

    function encheOuEsvaziaCopo() {     //esta função chama uma ou outra função, dependendo da condição ser verdadeira ou falsa:

        if(copoVazio) {             //aqui poderia alternativamente escrever if(copoVazio == true) {
            encheCopo();            //se o copo estiver vazio for uma condição verdadeira, ele chama a function encheCopo.

        } else {
            esvaziaCopo();          //se o copo estiver vazio for uma condição falsa, ele esvazia chama a function esvaziaCopo.
        }

        copoVazio = !copoVazio;     //aqui ele alterna as condições verdadeiro e falso da variável. Ou seja, se for copoVazio (se copoVazio for true), copoVazio passa a ter a condição contrária de copoVazio. E vice=versa.

    }


    setInterval(encheOuEsvaziaCopo, 2000); // a cada 2 segundos, chama encheOuEsvaziaCopo 

</script>

opa gostei do seu exemplo. é o mesmo da parte final do exercício quando o professor da uma polida na função Veja se estar certo meu raciocínio.

setInterval >>(chama, encheOuEsvaziaCopo ,tempo2000)>> ( que vai verificar) o if (que é true) >> executa/chama o (encheCopo "função") daqui ele para e desce pro incremento >> (copoVazio = !copoVazio) que como tem operador lógico NOT > ! < vai inverte temporariamente ate ser executado de novo (var copoVazio = true;)>> pra>> (false)

Que na segunda chamada (setInterval) >>vai pro Else ja que o if e false. ai repete o ciclo.Fato é ele vai executar sempre (if) ou (else) dependendo do (false/true) e sempre vai descer pro incremento (copoVazio = !copoVazio) e la vai alternar as variáveis (false-true) a cada chamada.

vou escrever vários códigos canvas ou document.write para brincar com essa ideia.

obrigado; Akashi

solução!

Perfeito. O exercício do troca bandeira é bem parecido. Boa sorte aí nos estudos.