Lógica Booleana para Iniciantes

Last updated on: 12-24-2024

Introdução

A lógica booleana é um ramo da matemática (álgebra) que é representada por dois valores: verdadeiro (TRUE) e falso (FALSE). Esses valores são usados para representar o resultado de operações lógicas, como a negação, a conjunção e a disjunção. Portanto, ao invés de trabalhar com operadores aritméticos, como: soma, subtração, multiplicação e divisão. A lógica booleana trabalha com operadores lógicos, como: AND, OR e NOT.

É um conceito fundamental na programação, pois permite que os programadores tomem decisões com base em condições lógicas. Por exemplo, um programador pode usar a lógica booleana para verificar se um usuário tem permissão para acessar um recurso, se um formulário foi preenchido corretamente ou se um jogo foi vencido. Além disso, a lógica booleana é amplamente utilizada em linguagens de programação para controlar o fluxo de execução de um programa. Por exemplo, um programador pode usar uma instrução condicional (if) para executar um bloco de código apenas se uma condição lógica for verdadeira ou falsa. Enquanto podem haver infinitas possibilidades de valores numéricos, a lógica booleana se limita a apenas dois valores (TRUE ou FALSE), o que torna mais fácil para os programadores lidarem com condições lógicas simples e complexas.

Este artigo é um guia para iniciantes sobre lógica booleana. Ele explica os conceitos básicos da lógica booleana, como os valores booleanos, os operadores básicos (AND, OR e NOT) e exemplos práticos de como usar a lógica booleana na programação. Além disso, o artigo fornece dicas e boas práticas para trabalhar com lógica booleana e sugestões de casos de uso comuns.


Fundamentos da Lógica Booleana

Origem histórica (George Boole)

A lógica booleana recebeu esse nome em homenagem ao matemático inglês George Boole (1815-1864). Em 1854, ele publicou um trabalho revolucionário chamado "An Investigation of the Laws of Thought", onde apresentou um sistema algébrico para representar operações lógicas. Boole desenvolveu uma forma de representar declarações lógicas usando apenas dois valores (verdadeiro e falso) e mostrou como essas declarações podiam ser manipuladas usando regras algébricas. Este trabalho fundamental mais tarde se tornaria essencial para o desenvolvimento da computação moderna e da eletrônica digital.

Valores Booleanos:

Operadores Básicos:


Como a lógica booleana funciona?

A lógica booleana funciona comparando dois valores booleanos e retornando um novo valor booleano com base em um operador lógico. Basicamente analisa a relaçao entre duas coisas, como por exemplo, se um usuário tem permissão para acessar um recurso, se um formulário foi preenchido corretamente ou se um jogo foi vencido.

Vamos ver um exemplo prático com operações matemáticas:

6 + 6 = 12 (Verdadeiro)
Acima temos uma operacao matematica em duas partes 6 + 6 e 12. A operação é verdadeira, você concorda? Pois 6 + 6 é igual a 12. Entao o resultado booleano é TRUE. A combinação das duas partes 2 + 2 e 4, juntamente com a relação (= igual a), é chamada de expressão booleana. Vamos pegar outro exemplo, agora com uma expressão booleana que resulta no valor falso:
6 + 6 = 13 (Falso)
Agora, a expressão 6 + 6 = 13 é falsa, pois 6 + 6 não é igual a 13. Portanto, o resultado booleano é FALSE. Abaixo uma tabela com 5 expressões booleanas e seus respectivos resultados:

Boolean Expression Result
6 + 6 = 12 TRUE
6 + 6 = 13 FALSE
10 > 5 TRUE
5 < 3 FALSE
4 == 4 TRUE

Criando expressões booleanas

Tenha em mente que a lógica booleana apenas funciona quando uma expressão pode ser TRUE ou FALSE. Por exemplo, a expressão 6 + 6 = 12 é uma expressão booleana, pois pode ser avaliada como verdadeira ou falsa. No entanto, a expressão "Olá, mundo!" não é uma expressão booleana, pois não pode ser avaliada como verdadeira ou falsa. Bem como a expressão 5 + 3, pois não temos um operador de comparação entre eles. Para 5 + 3 ser uma expressão booleana, precisamos adicionar um operador de comparação ou relação, como por exemplo, 5 + 3 = 8.

Dentro da programação

Nós podemos criar expressões booleanas com todos os tipos de dados, incluindo variáveis. Por exemplo, imagine duas variáveis (x e y) que armazenam números inteiros. Podemos criar uma expressão booleana que compara essas variáveis e retorna TRUE ou FALSE com base em uma condição lógica.

Por exemplo:

        x = 5
        y = 10
    
Agora, podemos criar expressões booleanas dentro do código para verificar a relação entre x e y:

        x < y (TRUE)
        x > y (FALSE)
        x == y (FALSE)
        y == 10 (TRUE)
    
Como eu havia citado mais acima, podemos utilizar a lógica booleana para comparar strings, objetos, arrays e outros tipos de dados além de números.

Vamos ver alguns exemplos mais específicos, a começar por exemplos com o operador AND.


Exemplos teóricos

Operador AND

Na programação o operador booleano AND é representado por && (em JavaScript e algumas outras linguagens). Ele retorna TRUE se ambos os operandos forem verdadeiros, caso contrário, retorna FALSE.

Vamos imaginar uma estrutura na qual temos duas variáveis as quais precisam ser verdadeiras para que uma determinada ação seja executada ou um resultado seja retornado.

Imagine um sistema para uma confeitaria, onde os dois valores de sabores precisam ser verdadeiros para que o resultado retornado seja Sim (TRUE).

As variáveis: Sabor 1 = Prestígio e Sabor 2 = Brigadeiro.

Sabor 1 Sabor 2 Resultado
Prestígio Brigadeiro Sim (TRUE)
Prestígio Morango Não (FALSE)
Morango Brigadeiro Não (FALSE)
Morango Morango Não (FALSE)
Nesse caso, o operador AND é usado para verificar se ambos os sabores são verdadeiros. Se ambos os sabores forem verdadeiros, o resultado será Sim (TRUE), caso contrário, será Não (FALSE).

Operador OR

O operador OR é representado por || (em JavaScript e algumas outras linguagens). Ele retorna TRUE se pelo menos um dos operandos for verdadeiro, caso contrário, retorna FALSE.

Por exemplo, imagine um sistema de login onde o usuário pode fazer login com seu e-mail ou nome de usuário. O sistema verifica se o e-mail ou o nome de usuário é válido para permitir o login.

E-mail Nome de Usuário Resultado
válido inválido Sim (TRUE)
inválido válido Sim (TRUE)
válido válido Sim (TRUE)
inválido inválido Não (FALSE)
Nesse caso, o operador OR é usado para verificar se pelo menos um dos operandos é verdadeiro. Se o e-mail ou o nome de usuário for válido, o resultado será Sim (TRUE), caso contrário, será Não (FALSE).

Operador NOT

O operador NOT é representado por ! (em JavaScript e algumas outras linguagens). Ele inverte o valor de um operando, ou seja, se o operando for verdadeiro, ele retorna falso e vice-versa.

Por exemplo, imagine um sistema de verificação de idade para um evento. O sistema verifica se o usuário tem menos de 18 anos para permitir a entrada no evento.

Idade Resultado
15 Sim (TRUE)
20 Não (FALSE)
Nesse caso, o operador NOT é usado para inverter o valor da idade. Se a idade for menor que 18, o resultado será Sim (TRUE), caso contrário, será Não (FALSE).


Exemplos utilizando linguagem de programação

Operador AND

O operador AND (&&) retorna verdadeiro (TRUE) se ambos os operandos forem verdadeiros, caso contrário, retorna falso (FALSE). Veja o exemplo abaixo escrito em JavaScript:

        javascript
            let temIngresso = true;
            let temIdadePermitida = true;

            if (temIngresso && temIdadePermitida) {
                console.log("Pode entrar no evento!");
            }
    

Operador OR

Em contrapartida, o operador OR (||) retorna verdadeiro (TRUE) se pelo menos um dos operandos for verdadeiro, caso contrário, retorna falso (FALSE):

        javascript
            let temCartaoCredito = false;
            let temDinheiro = true;
            
            if (temCartaoCredito || temDinheiro) {
                console.log("Pode realizar a compra!");
            }
    

Casos de Uso Comuns

Alguns exemplos de casos de uso comuns para lógica booleana na programação incluem:

- Validação de formulários
Por exemplo, verificar se um campo de formulário foi preenchido corretamente antes de enviar os dados para o servidor.

- Controle de acesso
Verificar se um usuário tem permissão para acessar um recurso ou realizar uma ação específica.

- Lógica de jogos
Determinar se um jogador venceu ou perdeu um jogo com base em certas condições.

- Tomada de decisões em sistemas
Decidir se um sistema deve executar uma determinada tarefa com base em condições lógicas.


Dicas e Boas Práticas

Existem várias dicas e boas práticas que você pode seguir ao trabalhar com lógica booleana na programação, incluindo:


Conclusão

De modo geral, a lógica booleana é um conceito fundamental na programação que permite que os programadores tomem decisões com base em condições lógicas. É de extrema importância entender os valores booleanos, os operadores básicos (AND, OR e NOT) e como criar expressões booleanas em seu código.

Se você é um iniciante em programação, recomendo praticar a criação de expressões booleanas simples e experimentar diferentes operadores lógicos. Além disso, você pode explorar a lógica booleana em linguagens de programação específicas e aprender como ela é usada em situações do mundo real.

Se deseja aprender mais sobre lógica booleana, recomendo explorar tutoriais e cursos online sobre o assunto. Além disso, você pode praticar a criação de expressões booleanas em seu próprio código e experimentar diferentes cenários para aprimorar suas habilidades.


Referências

Wikipedia - Lógica Booleana
MDN Web Docs - Operadores Lógicos