A lógica booleana é a base de toda a informática.
Na álgebra booleana não existem números: Existem variáveis lógicas, que podem ser ou Verdadeiras, representadas por 1, ou Falsas, representadas por 0. .
Como dito nos artigos anteriores, computadores só entendem se algo esta ligado ou desligado (1 e 0). Se considerarmos o valor de “ligado” como sendo verdadeiro, e o “Desligado” como sendo falso, podemos criar uma máquinas capazes de tomar decisões.
Existem 3 operações booleanas: A função AND (e), a OR (ou) e a NOT (negação).
A função AND e a OR recebem 2 valores lógicos, retornando um valor lógico.
A função AND retorna verdadeiro se os dois valores recebidos forem verdadeiros. Caso um dos valores, ou os 2 valores seja falso, seu resultado será falso.
A função OR retorna falso se os dois valores de entrada forem falsos. Se qualquer valor de entrada for verdadeiro, ou se os 2 valores forem verdadeiros, seu resultado será verdadeiro.
A função NOT recebe somente um valor. Sua resposta será sempre o oposto da entrada: ou seja: NOT 1 =0, e NOT 0 = 1.
Complicado? As seguintes tabelas ajudarão a explicar:



É importante saber de cor estas tabelas – o que não é dificil né?
Existe uma precedência de operadores: Primeiro calcula-se o NOT. O resto dos operadores calcula-se na ordem que esta escrito. Se alguma operação estiver entre parentes, calcula-se ela antes… exatamente como na matematica convencional que todos aprenderam na escola.
Vamos calcular umas operações simples:
por exemplo:
Calculando 1 AND 0.
O valor1 é 1. O valor 2 é 0. Olhando na tabela verdade da função AND, veremos que para valor1 como 1 e valor 2 com 0, o resultado é 0.
Portanto:
1 AND 0 = 0.
Calculando 0 OR 1.
Olhando na tabela verdade da funcao OR, veremos que para valor1 como 0 e valor2 como 1, o resultado é 1.
e NOT 1? O resultado é 0 (olhe na tabela verdade…)
Agora, a grande pergunta: Para que isto pode ser util para nossa vida? Simples:
Imagine que alguem esteja desenvolvendo um mecanismo para manter a agua aquecida. O circuito é composto por 2 sensores (A e B )e uma resistencia (C).
O sensor A mede a temperatura da agua. Sempre que a temperatura estiver abaixo de 50 graus, este sensor envia um sinal elétrico. Quando a agua ultrapassa os 50 graus, o sensor para de enviar o sinal.
O sensor B mede o nivel de agua, enviando sinal elétrico se o nivel está abaixo da metade do recipiente. Quando a agua estiver acima da metade, ele para de enviar sinal.
Desejamos um circuito que ligue a resistência (seja 1) sempre que a água estiver abaixo de 50 graus E o nível de água estiver acima da metade. (para simplificar, considere que a água nunca vai ficar exatamente na metade do recipiente: Ou esta acima, ou esta abaixo da metade).
Observe o enunciado: A palavra E indica que as DUAS condições precisam ser verdadeiras, logo, usaremos uma função AND.
No momento, nossa equação está desta forma:
<condição1> AND <condição2>.
Vamos determinar que elementos servem para nossas condições 1 e 2. Primeiro pela condição 1:
A condição 1 diz que: “A agua deve estar abaixo de 50 graus”.
Sabemos que as seguintes afirmações são verdadeiras:
1) O sensor A será verdadeiro se a agua estiver abaixo de 50 graus.
2) O sensor B será verdadeiro se a agua estiver abaixo da metade.
A primeira afirmação (sobre o sensor A) é verdadeira e funciona para nossa primeira condição. Como o sinal enviado por A serve para a nossa condição 1, usaremos ele na equação.
Nossa equação agora está desta forma:
A AND <condição2>.
Vamos determinar a condição 2
A condição diz que:
“E o nível de água estiver acima da metade.”
Não existe um sensor que retorne verdadeiro se a água estiver acima da metade, porém, o sensor B retorna verdadeiro se a agua estiver abaixo da metade. É Obvio que, se a agua está abaixo da metade, é porque não está acima da metade. Assim como se a agua não está acima da metade, é porque ela esta abaixo da metade. Portanto, dizer que “E o nivel da agua estiver acima da metade”, é o mesmo que dizer “E o nivel da agua NÃO estiver abaixo da metade”.
Como o sensor B é verdadeiro se a agua estiver abaixo da metade, ao negarmos o sensor, obteremos um valor verdadeiro quando a agua estiver acima da metade, portanto, a condição 2 é NOT B.
Portanto, a equação que resolve o nosso problema de aquecimento da água é a seguinte:
A AND NOT B.
Vamos verificar?
Se a agua estiver abaixo de 50 graus e o nivel da agua estiver abaixo da metade: Ou seja: A=1 e B=1.
A AND NOT B.
1 AND NOT 1
Calculando NOT 1, obtemos 0.
1 AND 0.
O resultado de 1 AND 0 é 0, portanto, a resistencia NÃO ligará.
E se a agua estiver acima de 50 graus e o nivel estiver acima da metade? Ou seja, A=0, B=0
A AND NOT B.
0 AND NOT 0
calculando o NOT 0, obtemos 1:
0 AND 1. Que é igual a 0. A resistencia não ligará.
E se a agua estiver abaixo de 50 graus e o nivel acima da metade? Ou seja, A=1, B=0?
A AND NOT B
1 AND NOT 0
calculando o NOT 0, obtemos 1.
1 AND 1, que é igual a 1, ou seja, a resistencia ligará.
E, finalmente: E se a agua estiver acima de 50 graus e o nivel abaixo da metade? A=0, B=1
A AND NOT B
1 AND NOT 1
1 AND 0, que é 0. A resistência não ligará.
Como podemos observar, a equação realmente resolveu nossos problemas.
É claro que ficar interpretando texto para chegar a uma conclusão é meio complicado, existe métodos para resolver isto de forma mais simples e objetiva.
No proximo artigo veremos algumas regrinhas e propriedades destas estas operações.