Variáveis booleanas e a ideia de função lógica
Na Álgebra Booleana, uma variável booleana só pode assumir dois valores: 0 (falso/nível lógico baixo) ou 1 (verdadeiro/nível lógico alto). Uma função booleana descreve como uma saída Y depende de entradas (A, B, C...) usando operações lógicas. Exemplo: Y = A·B significa que Y vale 1 somente quando A=1 e B=1.
Convenções comuns de escrita (todas equivalentes):
- Produto lógico (AND):
A·B,ABouA & B - Soma lógica (OR):
A + BouA ∨ B - Negação (NOT):
Ā,A'ou¬A
Operações booleanas básicas
Soma lógica (OR)
A + B é 1 quando A ou B (ou ambos) é 1.
Produto lógico (AND)
A·B é 1 somente quando A e B são 1.
Negação (NOT)
Ā inverte o valor: se A=1 então Ā=0, e vice-versa.
- Ouça o áudio com a tela desligada
- Ganhe Certificado após a conclusão
- + de 5000 cursos para você explorar!
Baixar o aplicativo
Leis fundamentais da Álgebra Booleana (com exemplos)
As leis abaixo permitem transformar e simplificar expressões sem mudar o comportamento lógico (mesma tabela-verdade).
1) Comutativa
A + B = B + AA·B = B·A
Exemplo: B + A pode ser reescrito como A + B para organizar termos.
2) Associativa
(A + B) + C = A + (B + C)(A·B)·C = A·(B·C)
Exemplo: (A·B)·C pode virar A·B·C sem ambiguidade.
3) Distributiva
A·(B + C) = A·B + A·CA + (B·C) = (A + B)·(A + C)
Exemplo: A·(B + C) pode ser expandido para A·B + A·C (útil para obter soma de produtos).
4) Identidade
A + 0 = AA·1 = A
Exemplo: X·1 é redundante e pode ser removido.
5) Anulação (ou dominância)
A + 1 = 1A·0 = 0
Exemplo: se um termo está em OR com 1, a saída é sempre 1.
6) Idempotência
A + A = AA·A = A
Exemplo: (A + A) simplifica para A.
7) Absorção
A + A·B = AA·(A + B) = A
Exemplo: A + A·B simplifica para A porque quando A=1 a saída já é 1, e quando A=0 ambos os termos são 0.
8) Leis de De Morgan
¬(A·B) = ¬A + ¬B¬(A + B) = ¬A·¬B
Essas leis são essenciais para transformar expressões com negação de grupos e para reescrever circuitos usando portas equivalentes.
Exemplo prático: ¬(A + B + C) = ¬A·¬B·¬C.
Dois formatos muito usados: Soma de Produtos (SOP) e Produto de Somas (POS)
SOP (Sum of Products) é uma soma (OR) de termos que são produtos (AND) de literais (variáveis ou suas negações). Ex.: Y = ĀB + ABC.
POS (Product of Sums) é um produto (AND) de termos que são somas (OR). Ex.: Y = (A + B)·(Ā + C).
Converter tabela-verdade em expressão costuma gerar SOP (pelas linhas com saída 1) ou POS (pelas linhas com saída 0).
Converter tabela-verdade em expressão booleana (passo a passo)
Método SOP (somar os mintermos onde Y=1)
Passos:
- Liste as linhas da tabela-verdade em que
Y=1. - Para cada linha, crie um mintermo: faça AND de todas as variáveis, usando a variável negada quando o valor na linha for 0 e sem negar quando for 1.
- Faça OR entre todos os mintermos.
- Opcional: simplifique a expressão usando as leis.
Exemplo (2 entradas):
| A | B | Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Linhas com Y=1: (A=0,B=1) e (A=1,B=0).
- Para (0,1): mintermo
Ā·B - Para (1,0): mintermo
A·B̄
Expressão SOP: Y = ĀB + AB̄.
Observação: essa expressão já está em forma clássica e representa uma função que vale 1 quando as entradas são diferentes.
Método POS (multiplicar os maxtermos onde Y=0)
Passos:
- Liste as linhas em que
Y=0. - Para cada linha, crie um maxtermo: faça OR de todas as variáveis, usando a variável sem negar quando o valor na linha for 0 e negada quando for 1.
- Faça AND entre todos os maxtermos.
No exemplo anterior, Y=0 em (0,0) e (1,1):
- (0,0) gera
(A + B) - (1,1) gera
(Ā + B̄)
Expressão POS: Y = (A + B)·(Ā + B̄).
As formas SOP e POS descrevem a mesma função, apenas com estruturas diferentes.
Converter expressão booleana em tabela-verdade (passo a passo)
Passos recomendados:
- Liste todas as combinações possíveis das entradas (para
nvariáveis, são2^nlinhas). - Crie colunas auxiliares para subexpressões (por exemplo,
Ā,A·B,(A+B)). - Calcule a saída linha a linha.
Exemplo: Y = A·(B + C)
| A | B | C | B + C | Y = A·(B + C) |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Interpretação: a saída só pode ser 1 quando A=1 e pelo menos uma entre B ou C for 1.
Simplificação básica para reduzir número de portas
Simplificar é reescrever a expressão para usar menos termos, menos literais por termo e/ou menos níveis lógicos. Isso costuma reduzir quantidade de portas e atrasos.
Exemplo 1: usando distributiva ao contrário (fatoração)
Expressão original:
Y = A·B + A·C
Passo a passo:
- Identifique fator comum
A. - Fatore:
Y = A·(B + C)
Comparação de circuitos equivalentes:
- Forma
A·B + A·C: duas operações AND (paraA·BeA·C) e uma OR para somar. - Forma
A·(B + C): uma OR (paraB + C) e uma AND comA.
Dependendo do contexto, a forma fatorada pode reduzir portas ou reduzir fan-out de A.
Exemplo 2: absorção eliminando termos redundantes
Expressão original:
Y = A + A·B
Passo a passo:
- Aplique absorção:
A + A·B = A
Interpretação prática: o termo A·B não muda a saída, pois quando ele poderia contribuir (A=1), A já força a saída para 1.
Exemplo 3: idempotência e identidade limpando a expressão
Expressão original:
Y = (A + A)·1
Passo a passo:
- Idempotência:
A + A = A - Identidade:
A·1 = A
Resultado: Y = A.
Exemplo 4: aplicando De Morgan para remover negação de parênteses
Expressão original:
Y = ¬(A + B) + C
Passo a passo:
- De Morgan:
¬(A + B) = ¬A·¬B - Substitua:
Y = (¬A·¬B) + C
Isso ajuda quando você quer implementar a lógica com um conjunto específico de portas ou quando precisa “empurrar” negações para as entradas.
Validação de equivalência por tabela-verdade (método prático)
Para provar que duas expressões são equivalentes, faça:
- Monte a tabela-verdade com as mesmas entradas.
- Calcule
Y1para a expressão original eY2para a expressão simplificada. - Compare as colunas: se forem iguais em todas as linhas, as expressões são equivalentes.
Exemplo: validar Y1 = A·B + A·C e Y2 = A·(B + C)
| A | B | C | Y1 = A·B + A·C | Y2 = A·(B + C) |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 |
As colunas são idênticas, então as expressões são equivalentes.
Exercícios (simplificação e validação por tabela-verdade)
Parte A — Simplifique usando leis booleanas
Simplifique:
Y = A + A·BSimplifique:
Y = A·B + A·B̄Simplifique:
Y = (A + B)·(A + B̄)Simplifique:
Y = ¬(A + B) + ¬(A + B̄)Simplifique:
Y = A·(B + C) + A·(B + C̄)
Parte B — Converta tabela-verdade em expressão (SOP) e simplifique
Para as tabelas abaixo, escreva a expressão SOP (somando mintermos onde Y=1) e depois tente simplificar.
Tabela 1:
| A | B | C | Y |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Tabela 2:
| A | B | Y |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Parte C — Valide por tabela-verdade (equivalência)
Para cada par, monte a tabela-verdade e verifique se as saídas são iguais em todas as linhas.
Y1 = A·B + A·CeY2 = A·(B + C)Y1 = (A + B)·(A + C)eY2 = A + B·CY1 = ¬(A·B)eY2 = ¬A + ¬B