Escolar Documentos
Profissional Documentos
Cultura Documentos
2022/1
Normalmente nos referimos a cada um dos estados binários como bits (do
inglês “binary digits”), ou valores Booleanos.
Podemos usar qualquer número inteiro positivo como uma base numérica.
Exemplo 2
111011012 = 1 · 27 + 1 · 26 + 1 · 25 + 0 · 24 +
1 · 23 + 1 · 22 + 0 · 21 + 1 · 20
= 1 · 128 + 1 · 64 + 1 · 32 + 0 · 16+
1·8+1·4+0·2+1·1
= 237
n2 = bk−1 bk−2 . . . b2 b1 b0 ,
O número binário n2 pode ser convertido para seu equivalente decimal n10
pela fórmula
k−1
X
n10 = bi · 2i .
i=0
Posição i 5 4 3 2 1 0
Dı́gito bi 1 1 0 1 0 1
Equivalente decimal: 2i 32 16 8 4 2 1
Contribuição bi · 2i 32 16 0 4 0 1 53
237 = 111011012 .
0 = 1, e 1=0.
0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, 1+1=1 .
0 · 0 = 0, 0 · 1 = 0, 1 · 0 = 0, 1·1=1 .
Solução.
1 · 0 + (0 + 1) = 1 · 0 + 1
=1·0+0
=0+0
=0
B n = {(x1 , x2 , . . . , xn ) | xi ∈ B para 1 ≤ i ≤ n}
a) E1 , b) (E1 + E2 ), c) (E1 · E2 ).
Para computar o valor da função, basta substituir cada variável pelo seu valor
(0 ou 1).
x y z xy z F (x, y , z) = xy + z
0 0 0 0 1 1
0 0 1 0 0 0
0 1 0 0 1 1
0 1 1 0 0 0
1 0 0 0 1 1
1 0 1 0 0 0
1 1 0 1 1 1
1 1 1 1 0 1
F (b1 , b2 , . . . , bn ) = G (b1 , b2 , . . . , bn )
1 xy 2 xy + 0 3 xy · 1
F (b1 , b2 , . . . , bn ) = F (b1 , b2 , . . . , bn )
{0, 1} .
F8 é o produto
x y F8 F9 F10 F11 F12 F13 F14 F15
Booleano xy .
0 0 0 1 0 1 0 1 0 1
0 1 0 0 1 1 0 0 1 1 F3 é o complemento x.
1 0 0 0 0 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1
F5 é o complemento y .
Mas note que ainda há várias funções possı́veis sem um nome especial...
Mais para frente nesta unidade veremos como representar todas estas funções
usando apenas combinações de soma, produto e complemento Booleanos.
Solução.
Para explicar a relação entre as duas identidades em cada par nós usamos o
conceito dualidade.
O dual de uma expressão Booleana é obtido pelo intercâmbio entre:
somas Booleanas e produtos Booleanos,
valores 0 e valores 1.
Isto sugere que exitem princı́pios básicos por detrás destas três estruturas.
x y z F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 0
F = xy z .
Introdução à Lógica Computacional Álgebra Booleana Área de Teoria DCC/UFMG - 2022/1 38 / 86
Forma normal disjuntiva
Exemplo 20 Encontre uma expressão Booleana para as a função G dada na
tabela abaixo.
x y z G
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0
Esta expressão pode ser formada tomando a soma Booleana de dois produtos
Booleanos, pois
(
1, se x = z = 1 e y = 0
xy z =
0, em caso contrário
e
(
1, se x = z = 1 e y = 0
xy z =
0, em caso contrário
G = xy z + xy z
Introdução à Lógica Computacional Álgebra Booleana Área de Teoria DCC/UFMG - 2022/1 40 / 86
Forma normal disjuntiva
Os exemplos anteriores ilustram um procedimento para construir uma
expressão Booleana representando uma função com determinados valores.
Cada combinação de valores das variáveis para as quais a função tem o valor
1 leva a um produto Booleano das variáveis ou seus complementos.
Solução. O mintermo é x1 x2 x3 x4 x5 .
Introdução à Lógica Computacional Álgebra Booleana Área de Teoria DCC/UFMG - 2022/1 41 / 86
Forma normal disjuntiva
Dada a especificação de uma função Booleana F para toda combinação de
valores de suas variáveis x1 , x2 , . . . , xn , podemos encontrar uma expressão
Booleana para F da seguinte forma:
1. Tomando o mintermo de cada combinação de variáveis que fazem F igual a 1.
2. Fazendo F ser a soma Booleana destes mintermos.
Exemplo 23 (Continuação)
F (x, y , z) = (x + y ) z
=xz +yz (Lei da distributividade)
= x 1z + 1y z (Lei da identidade)
= x (y + y ) z + (x + x) y z (Lei da unidade)
=xyz +xyz +xyz +xyz (Lei da distributividade)
=xyz +xyz +xyz (Lei de idempotência)
Vimos que toda função Booleana pode ser expressa como uma soma
Booleana de mintermos (ou seja, na forma normal disjuntiva).
Isto mostra que toda função Booleana pode ser representada usando apenas
os operadores Booleanos de:
Agora que demonstramos que funcionalidade completa pode ser atingida com
dois operadores apenas, podemos nos perguntar se podemos reduzir a apenas
um operador.
É possı́vel demonstrar que não podemos fazer tudo apenas com
complemento, ou apenas com soma, ou apenas com produto.
Mas é possı́vel fazer tudo com apenas um operador especial, definido a seguir.
0 | 0 = 1, 0 | 1 = 1, 1 | 0 = 1, 1|1=0.
Aqui vamos definir várias portas lógicas e vamos aplicar as regras da álgebra
Booleana para projetar circuitos que realizam várias tarefas.
Os circuitos que vamos estudar não têm capacidade de memória, pois suas
saı́das em um instante dependem apenas de sua entrada naquele instante.
Chamamos tais dispositivos de circuitos combinatórios.
É possı́vel conside-
rar portas com várias
entradas:
Introdução à Lógica Computacional Álgebra Booleana Área de Teoria DCC/UFMG - 2022/1 51 / 86
Circuitos combinatórios
Então um circuito deve ser projetado que produz a saı́da 1 a partir das
entradas x, y e z quando dois ou mais de x, y , e z são 1.
Introdução à Lógica Computacional Álgebra Booleana Área de Teoria DCC/UFMG - 2022/1 54 / 86
Exemplos de circuitos: Votação majoritária
Exemplo 26 (Continuação)
Para obter uma expressão Booleana que expresse a função desejada, vamos
especificar a tabela da função de votação majoritária.
Exemplo 26 (Continuação)
Circuitos assim são chamados de circuitos de saı́da múltipla, pois têm mais
de um saı́da.
Entradas Saı́das
x y s c Podemos derivar as expressões:
0 0 0 0
0 1 1 0 s = xy + xy
1 0 1 0
c = xy
1 1 0 1
Exemplo 27 (Continuação)
Exemplo 27 (Continuação)
Exemplo 27 (Continuação)
Entradas Saı́das
x y ci s ci+1
0 0 0 0 0
0 0 1 1 0 Podemos derivar as expressões:
0 1 0 1 0
0 1 1 0 1 s = x y ci + x y c i + x y c i + x y c i
1 0 0 1 0
ci+1 = x y ci + x y ci + x y ci + x y ci
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Introdução à Lógica Computacional Álgebra Booleana Área de Teoria DCC/UFMG - 2022/1 63 / 86
Minimização de Circuitos
Introdução à Lógica Computacional Álgebra Booleana Área de Teoria DCC/UFMG - 2022/1 66 / 86
Minimização de circuitos: Mapas de Karnaugh
x y, x y, x y, e x y.
xy +xy = (x + x) y = 1y = y
x y z, x y z, x y z, x y z, e
x y z, x y z, x y z, x y z.
Podemos formar um
mapa de Karnaugh em
três variáveis assim:
Como anteriormente:
Blocos de duas células adjacentes (tamanho 1 × 2 ou 2 × 1) representam
mintermos que podem ser combinados em um produto de dois literais.
xyz +xyz = yz
xyz +xyz = xz
Exemplo 31 (Continuação)
Exemplo 31 (Continuação)
x y z + x y z + x y z + x y z+
+x y z + x y z + x y z + x y z = 1
a) x y z + x y z + x y z + x y z
Expressão minimizada:
xz +yz +xyz
b) x y z + x y z + x y z + x y z + x y z
Expressão minimizada:
y +xz
c) x y z + x y z + x y z + x y z + x y z + x y z + x y z
Expressão minimizada:
x +y +z
d) x y z + x y z + x y z + x y z
Expressão minimizada:
xz +xy
w x y z + w x y z+
+w x y z + w x y z = wx
w x y z + w x y z+
+w x y z + w x y z = xz
w x y z + w x y z+
+w x y z + w x y z+
+w x y z + w x y z+
+w x y z + w x y z = z
Introdução à Lógica Computacional Álgebra Booleana Área de Teoria DCC/UFMG - 2022/1 82 / 86
Minimização de circuitos: Mapas de Karnaugh
a) w x y z +w x y z +w x y z +w x y z +w x y z +w x y z +w x y z +w x y z +w x y z
Expressão minimizada:
w y z +w x z +w x y +w x y +w x y z
Exemplo 34 (Continuação)
b) w x y z + w x y z + w x y z + w x y z + w x y z + w x y z + w x y z
Expressão minimizada:
yz +wxy +xz
Exemplo 34 (Continuação)
c) w x y z + w x y z + w x y z + w x y z + w x y z + w x y z + w x y z + w x y z +
wxyz +wxyz +wxyz
Expressão minimizada:
z +wx +wxy