Álgebra Binária Booleana: funções booleanas, funções AND, OR, NOT, NAND, NOR, XOR, X-NOR e função Implicação. Teoremas da Álgebra de Boole, Teoremas de De Morgan, Diagramas de Venn, Produto da Soma e Soma de Produtos.
2. O Conceito de Função
Função de 1 variável independente:
– Regra através da qual se determina o valor
de uma segunda variável (dependente) a
partir do valor da variável dependente
y = f(x)
Domínio: conjunto de valores que pode
ser assumido pela variável
independente x
Introdução à Ciência
Eduardo Nicola F. Zagari 2
da Computação
3. Exemplo 1
y = 5x2 + 3
x y = f(x)
0 3
1 8
2 23
3 48
Introdução à Ciência
Eduardo Nicola F. Zagari 3
da Computação
4. Exemplo 2
Não existem apenas funções
matemáticas. As variáveis nem sempre
precisam ser numéricas
x y = f(x)
Verde Prossiga
Amarelo Devagar
Vermelho Pare
Introdução à Ciência
Eduardo Nicola F. Zagari 4
da Computação
5. Tipos de Função
Contínuas
Discretas
Introdução à Ciência
Eduardo Nicola F. Zagari 5
da Computação
6. Funções Booleanas
Variáveis que podem Valores binários
Associadas
assumir 2 valores 1e0
Denominadas variáveis binárias ou lógicas
Variáveis binárias ou lógicas:
– Só pode assumir 1 de 2 valores possíveis
– Valores expressos por afirmações declarativas
– Os 2 valores possíveis devem ser mutuamente
exclusivos
Álgebra Booleana: é a álgebra das variáveis
binárias
Introdução à Ciência
Eduardo Nicola F. Zagari 6
da Computação
7. Funções Booleanas
Com variáveis lógicas podemos representar
qualquer coisa: temperatura, pressão, distância,
velocidade, tempo, etc.
– ao se considerar a relação funcional entre variáveis do
ponto de vista matemático, não nos interessa o que é
representado por elas.
– assim, devemos dar aos dois valores possíveis de uma
variável lógica, nomes que permitam considerar a
variável independentemente do que ela possa
representar
Introdução à Ciência
Eduardo Nicola F. Zagari 7
da Computação
8. Exemplo
Seja a versão simplificada da tabela do exemplo do
semáforo:
x y = f(x) x y = f(x)
Verde Prossiga a qual é equivalente a: 1 1
Vermelho Pare 0 0
“X” é a variável lógica independente e “Y” é a variável lógica
dependente. Os valores 1 e 0 na tabela da direita são atribuídos
arbitrariamente no caso de “X” para as cores “verde” e “vermelho”; e
no caso da variável “Y” para os comandos “prossiga” e “pare”.
Normalmente associamos ao valor 1 as idéias de verdadeiro, positivo,
ativo, etc; e ao valor 0 as idéias de falso, inativo, etc.
Introdução à Ciência
Eduardo Nicola F. Zagari 8
da Computação
9. Funções Booleanas Básicas
Funções com apenas 1 variável:
Função negação Função coincidência
X Y = não(X) X Y = (X)
1 0 1 1
0 1 0 0
Introdução à Ciência
Eduardo Nicola F. Zagari 9
da Computação
10. Funções Booleanas Básicas
Funções com 2 variáveis booleanas:
Função e Função ou
X Z Y = (X e Z) X Z Y = (X ou Z)
0 0 0 0 0 0
0 1 0 0 1 1
1 0 0 1 0 1
1 1 1 1 1 1
Introdução à Ciência
Eduardo Nicola F. Zagari 10
da Computação
11. Expressões Booleanas
Problemas podem ser expressos
através de funções booleanas:
– “João irá ao cinema mas apenas se conseguir
um carro emprestado e Maria também
puder ir.”
Cada variável
Associada
afirmação booleana
Introdução à Ciência
Eduardo Nicola F. Zagari 11
da Computação
12. Expressões Booleanas
Variável X = empréstimo do carro.
– Como X só pode assumir dois valores, vamos estipular
que:
• X = 1 significa que João conseguiu o empréstimo do carro.
• X = 0 significa que ninguem emprestou o carro para João.
Variável Z = companhia da Maria.
– De forma análoga ao caso anterior podemos estipular
que:
• Z = 1 significa que Maria irá ao cinema.
• Z = 0 significa que Maria não poderá ir.
Introdução à Ciência
Eduardo Nicola F. Zagari 12
da Computação
13. Expressões Booleanas
Variável Y = ida de João ao cinema
• Y = 1 significa que João irá ao cinema.
• Y = 0 significa que João não poderá ir.
Sabemos que Y depende de X e Z
– logo Y = f(X,Z).
Montando uma tabela com todas as
possibilidades descobrimos que a relação
entre X,Z,Y é: Y = (X e Z)
Introdução à Ciência
Eduardo Nicola F. Zagari 13
da Computação
14. Expressões Booleanas
X Z Y = SIGNIFICADO
f(X,Z)
0 0 0 João não irá ao cinema porque está sem
carro e Maria não pode ir.
0 1 0 João não irá ao cinema porque está sem
carro.
1 0 0 João não irá ao cinema porque Maria
não pode ir.
1 1 1 João irá ao cinema com Maria usando
um carro emprestado.
Introdução à Ciência
Eduardo Nicola F. Zagari 14
da Computação
15. Expressões Booleanas
Outro exemplo:
– “Vou ao cinema se eu tiver dinheiro para o
ingresso ou se alguém pagar para mim.”
– X = Ter dinheiro (0 = não ter $ , 1= ter $)
– Z = Alguém vai pagar para mim (0 = ninguém
pg p/ mim , 1= alguém pg)
– Y = (X OU Z) - Decisão (0= não ir ao cinema ,
1= ir ao cinema)
Introdução à Ciência
Eduardo Nicola F. Zagari 15
da Computação
16. Expressões Booleanas
X Z Y= SIGNIFICADO
f(X,Z)
0 0 0 Não fui ao cinema porque não tenho
dinheiro e ninguém pagou.
0 1 1 Vou ao cinema porque alguém vai pagar.
1 0 1 Vou ao cinema porque tenho dinheiro.
1 1 1 Vou ao cinema porque tenho dinheiro e
alguém vai pagar.
Introdução à Ciência
Eduardo Nicola F. Zagari 16
da Computação
17. Expressões Booleanas
As linguagens de programação possuem formas de
escrever expressões, tais como as dos exemplos
anteriores (ou bem mais complexas), as quais
podem ser avaliadas pelo computador.
Desta forma, usando álgebra booleana em um
computador é possível criar programas que
resolvam problemas que possuam uma solução
lógica.
Introdução à Ciência
Eduardo Nicola F. Zagari 17
da Computação
18. Funções Booleanas
A notação 0 e 1
–A=0 A=F
–A=1 A=V
– Ou tensões elétricas, normalmente 0 V e
+5 V
– 0 e 1 são valores lógicos de uma variável
(não são números).
Introdução à Ciência
Eduardo Nicola F. Zagari 18
da Computação
19. A Função AND
Z = (A AND B ) ou Z = A ∧ B ou Z = AB (A e
B)
A B
E L
Convenções:
• chave aberta = 0
• chave fechada = 1
• lâmpada apagada = 0
• lâmpada acesa = 1
Introdução à Ciência
Eduardo Nicola F. Zagari 19
da Computação
20. A Função AND
Chave A Chave B Lampada
Aberta Aberta Apagada
Aberta Fechada Apagada
Fechada Aberta Apagada
Fechada Fechada Acesa
A B Z=f(A,B)
0 0 0
Tabela
Verdade: 0 1 0
1 0 0
Introdução à Ciência
da Computação 1 1
Eduardo Nicola F. Zagari
1 20
21. A porta AND
Executa a função AND
A
Z
B
Pode-se descrever a função AND para
qualquer número de entradas. A saída Z
permanecerá no estado 1 se, e somente se,
as N entradas forem iguais a 1 e
permanecerá no estado 0 nos demais casos.
Introdução à Ciência
Eduardo Nicola F. Zagari 21
da Computação
22. A Função OR
Z = A + B ou Z = A ∨ B (A ou B)
A
E B L
A B Z= A + B
Tabela 0 0 0
Verdade: 0 1 1
1 0 1
Introdução à Ciência 1 1
Eduardo Nicola F. Zagari 1 22
da Computação
23. Porta Lógica OR
A
Z
B
Introdução à Ciência
Eduardo Nicola F. Zagari 23
da Computação
24. A Função NOT (Complemento)
Z = ¬A (não A)
A função NOT, ou função complemento,
inverte o estado da variável
A Z = ¬A
0 1
1 0
Introdução à Ciência
Eduardo Nicola F. Zagari 24
da Computação
25. A Porta NOT (inversor)
A Z
Introdução à Ciência
Eduardo Nicola F. Zagari 25
da Computação
26. A Função NAND
A função NAND é a função AND
combinada com a função NOT.
Z = ¬ (A ∧ B)
A B Z = ¬ (A ∧ B)
0 0 1
0 1 1
1 0 1
1 1 0
Introdução à Ciência
Eduardo Nicola F. Zagari 26
da Computação
27. Porta Lógica NAND
A
Z
B
Introdução à Ciência
Eduardo Nicola F. Zagari 27
da Computação
28. A Função NOR
A função NOR é a função OR
combinada com a função NOT.
Z = ¬(A ∨ B)
A B Z = ¬ (A ∨ B)
0 0 1
0 1 0
1 0 0
1 1 0
Introdução à Ciência
Eduardo Nicola F. Zagari 28
da Computação
29. Porta Lógica NOR
A
Z
B
Introdução à Ciência
Eduardo Nicola F. Zagari 29
da Computação
30. A Função XOR (Exclusive Or)
Z=A⊕B
Z = 1 quando A ou B, na exclusão da
outra variável, tiver valor lógico 1.
A B Z=A⊕B
0 0 0
0 1 1
1 0 1
1 1 0
Introdução à Ciência
Eduardo Nicola F. Zagari 30
da Computação
31. Porta Lógica XOR
A
Z
B
Introdução à Ciência
Eduardo Nicola F. Zagari 31
da Computação
32. A Função X-NOR (Exclusive
NOR)
A função Exclusive-Nor é a função Exclusive-
Or combinada com a função NOT.
Z = ¬(A ⊕ B)
A B Z = ¬(A ⊕ B)
0 0 1
0 1 0
1 0 0
1 1 1
Introdução à Ciência
Eduardo Nicola F. Zagari 32
da Computação
33. Porta Lógica X-NOR
A
Z
B
Introdução à Ciência
Eduardo Nicola F. Zagari 33
da Computação
34. A Função Implicação
Z=A→B (A implica B)
A B Z=A→B
0 0 1
0 1 1
1 0 0
1 1 1
Se a situação com respeito a A e B for consistente
com a idéia de que A implica B, então Z será
verdadeira. A única possibilidade que não é
consistente com a idéia de A implicar B é que A seja
verdadeiro e B seja falso. Neste caso, Z será falso. 34
35. Teoremas da Álgebra de
Boole
Para definir uma função:
1) Expressão lógica: Z = A ∨ (B ∧ C)
2) Tabela Verdade
A B C Z
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1 35
36. Propriedades das funções lógicas:
1) Comutatividade:
Z=A∧B=B∧A AND
Z=A∨B=B∨A OR
Z=A⊕B=B⊕A XOR
Introdução à Ciência
Eduardo Nicola F. Zagari 36
da Computação
37. Propriedades das funções lógicas:
2) Associatividade:
Z = (A ∧ B) ∧ C = A ∧ (B ∧ C) AND
Z = (A ∨ B) ∨ C = A ∨ (B ∨ C) OR
Z = (A ⊕ B) ⊕ C = A ⊕ (B ⊕ C) XOR
Introdução à Ciência
Eduardo Nicola F. Zagari 37
da Computação
38. Propriedades das funções lógicas:
3) Princípio da Dualidade
Se trocarmos os sinais (OR) e
(AND) entre si e trocarmos os 0s e 1s
entre si, teremos substituído a equação
original por outra igualmente válida.
Ex.: 0∧0=0 1∨1=1
Introdução à Ciência
Eduardo Nicola F. Zagari 38
da Computação
39. Teoremas
1. ¬ ¬A = A
2. A∨0=A
3. A∨1=1
4. A∨A=A
5. A ∨ ¬A = 1
6. A∧1=A
7. A∧0=0
8. A∧A=A
9. A ∧ ¬A = 0
Introdução à Ciência
Eduardo Nicola F. Zagari 39
da Computação
40. Teoremas
10. A ∨ (A ∧ B) = A
11. A ∧ (A ∨ B) = A
12. (A ∧ B) ∨ (A ∧ ¬B) = A
13. (A ∨ B) ∧ (A ∨ ¬B) = A
14. A ∨ (¬A ∧ B) = A ∨ B
15. A ∧ (¬A ∨ B) = A ∧ B
Introdução à Ciência
Eduardo Nicola F. Zagari 40
da Computação
41. Teoremas
16. A ∨ (B ∧ C) = (A ∨ B) ∧ (A ∨ C)
17. A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C)
18. (A ∧ B) ∨ (¬A ∧ C) = (A ∨ C) ∧ (¬A ∨ B)
19. (A ∨ B) ∧ (¬A ∨ C) = (A ∧ C) ∨ (¬A ∧ B)
20. (A∧B) ∨ (¬A∧C) ∨ (B∧C) = (A∧B) ∨ (¬A∧C)
21. (A∨B) ∧ (¬A∨C) ∧ (B∨C) = (A∨B) ∧ (¬A∨C)
Introdução à Ciência
Eduardo Nicola F. Zagari 41
da Computação
42. Teoremas
A equação (17) indica que a álgebra de
variáveis lógicas é distributiva:
A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C)
ou pode ser fatorado um fator comum:
(A ∧ B) ∨ (A ∧ C) = A ∧ (B ∨ C)
Fator comum
Introdução à Ciência
Eduardo Nicola F. Zagari 42
da Computação
43. Exercício
Mostrar o Teorema 21 através da
tabela-verdade.
Introdução à Ciência
Eduardo Nicola F. Zagari 43
da Computação
45. Funções de Duas Variáveis
16 funções possíveis:
A 0 0 1 1
B 0 1 0 1 Função
f0 0 0 0 0 f=0
f1 0 0 0 1 f = A ∧ B (and)
f2 0 0 1 0 f = ¬(A → B) = A ∧ ¬B
f3 0 0 1 1 f=A
f4 0 1 0 0 f = ¬(B → A) = ¬A ∧ B
Introdução à Ciência
Eduardo Nicola F. Zagari 45
da Computação
46. Funções de Duas Variáveis
A 0 0 1 1
B 0 1 0 1 Função
f5 0 1 0 1 f=B
f6 0 1 1 0 f = A⊕B = (A∧¬B)∨(¬A∧B)
f7 0 1 1 1 f = A ∨ B (or)
f8 1 0 0 0 f = ¬(A ∨ B) (nor)
f9 1 0 0 1 f=¬(A⊕B)=(¬A∧¬B)∨(A∧B)
Introdução à Ciência
Eduardo Nicola F. Zagari 46
da Computação
47. Funções de Duas Variáveis
A 0 0 1 1
B 0 1 0 1 Função
f10 1 0 1 0 f = ¬B
f11 1 0 1 1 f = B → A = A ∨ ¬B
f12 1 1 0 0 f = ¬A
f13 1 1 0 1 f = A → B = ¬A ∨ B
f14 1 1 1 0 f = ¬(A ∧ B) (nand)
f15 1 1 1 1 f=1
Introdução à Ciência
Eduardo Nicola F. Zagari 47
da Computação
48. Exemplo f6
A⊕B = (¬A ∧ B) ∨ (A ∧ ¬B)
A B ¬A ¬B ¬A ∧ B A ∧ ¬B (¬A ∧ B) ∨ (A ∧ ¬B)
0 0 1 1 0 0 0
0 1 1 0 1 0 1
1 0 0 1 0 1 1
1 1 0 0 0 0 0
Introdução à Ciência
Eduardo Nicola F. Zagari 48
da Computação
49. Teoremas de De Morgan
Teorema 1
O complemento de um produto lógico (AND)
de variáveis é igual a soma lógica (OR)
dos complementos de cada variável.
¬(A ∧ B ∧ C ...) = ¬A ∨ ¬B ∨ ¬C ...
Introdução à Ciência
Eduardo Nicola F. Zagari 49
da Computação
50. Teoremas de De Morgan
Teorema 2
O complemento de uma soma lógica (OR) de
variáveis é igual ao produto lógico (AND) dos
complementos de cada variável.
¬(A ∨ B ∨ C ...) = ¬A ∧ ¬B ∧ ¬C ...
Teorema 1 é dual a Teorema 2
Princípio da Dualidade
Introdução à Ciência
Eduardo Nicola F. Zagari 50
da Computação
51. Exercício
Mostrar que f2 (A ∧ ¬B) é o
complemento de f13 (¬A ∨ B) através de
De Morgan.
Introdução à Ciência
Eduardo Nicola F. Zagari 51
da Computação
52. Diagramas de Venn
O diagrama de Venn divide o espaço
em regiões mutuamente exclusivas
– 2n áreas identificáveis diferentes, onde n é
o número de variáveis.
– útil para visualizar geometricamente os
teoremas da álgebra boolena.
Introdução à Ciência
Eduardo Nicola F. Zagari 52
da Computação
53. Diagramas de Venn
a) A ∨ ¬A = 1 o1 b) (A ∧ B) ∨ (A ∧ ¬B)
representa o ∨ (¬A ∧ B) ∨ (¬A ∧
universo de ¬B) = 1
interesse (21 áreas) 22 áreas
A.B
A.B
A A B
A A.B
A.B
Introdução à Ciência
Eduardo Nicola F. Zagari 53
da Computação
54. Diagramas de Venn
c) A ∨ B = (A ∧ ¬B) ∨ d) 3 variáveis (8
(A ∧ B) ∨ (¬A ∧ B) áreas)
A.B.C
22 áreas
A.B.C A B A.B.C
A B
A.B.C A.B.C
C
A+B A.B.C
A + B
A.B.C
A.B.C
Introdução à Ciência
Eduardo Nicola F. Zagari 54
da Computação
55. Exercícios
1) Usar um diagrama 2) Mostrar o Teorema
de Venn para 18 através de
verificar o teorema diagramas de Venn.
da equação (19), (A ∧ B) ∨ (¬A ∧ C) =
isto é, (A ∨ C) ∧ (¬A ∨ B)
(A ∨ B) ∧ (¬A ∨ C) =
(A ∧ C) ∨ (¬A ∧ B)
Introdução à Ciência
Eduardo Nicola F. Zagari 55
da Computação
56. Exemplos de aplicação
(teoremas da Álgebra de Boole)
Ex. 1: Simplificar w = xy + ¬(yx)z
w = xy + ¬(xy)z pois AB = BA (comutatividade)
Se v = xy => w = v + ¬vz pois a função
de variáveis lógicas é uma variável lógica.
w=v+z pois A + ¬ AB = A + B (Teo. 14)
w = xy + z
Introdução à Ciência
Eduardo Nicola F. Zagari 56
da Computação
57. Exemplos de aplicação
Ex. 2: Simplificar w = x (¬x + y)
w = x (¬x + y) = xy pois A (¬A + B) = AB (Teo. 15)
ou
w = x (¬x + y)
= x ¬x + xy A (B + C) = AB + AC
= 0 + xy A . ¬A = 0
= xy A+0=A
Introdução à Ciência
Eduardo Nicola F. Zagari 57
da Computação
58. Exemplos de aplicação
Ex. 3: Simplificar w = ¬x(x + y) + ¬z+zy
w = ¬x(x+y)+ ¬z+zy = ¬x(x+y)+ ¬z+y A+¬AB = A+B (A=z)
w = ¬xx+ ¬xy+¬z+y = ¬xy+¬z+y A(B+C) = AB+AC e
¬AA=0
w = y+¬xy+¬z = y+y¬x+¬z A+B = B+A; AB = BA
w = y + ¬z A + AB = A
Introdução à Ciência
Eduardo Nicola F. Zagari 58
da Computação
59. Exemplos da aplicação
(teoremas de De Morgan)
Ex. 4: Simplificar v = ¬(w + w¬x + yz)
v = ¬(w+w¬x+yz) = ¬w.¬(w¬x).¬(yz) Teo. de De Morgan
v = ¬w (¬w + ¬¬x)(¬y + ¬z) Teo. de De Morgan
v = ¬w (¬w + x)(¬y + ¬z) ¬¬A = A
v = ¬w (¬y + ¬z) A(A+B) = A, A = ¬w
ou:
v = ¬(w + w ¬x + yz) = ¬(w + yz) A + AB = A
v = ¬(w + yz) = ¬w . ¬(yz) Teo. de De Morgan
v = ¬w (¬y + ¬z) Teo. de De Morgan
Introdução à Ciência
Eduardo Nicola F. Zagari 59
da Computação
60. Exemplos da aplicação
Ex. 5: Simplificar v = ¬{w[(x+y(z+ ¬w))]}
v =¬{w[(x+y(z+ ¬w))]} =¬w+¬[x+y(z+¬w)] De Morgan
v = ¬w + ¬x . ¬[y(z + ¬w)] De Morgan
v = ¬w + ¬x [¬y + ¬(z + ¬w)] De Morgan
v = ¬w + ¬x (¬y + ¬zw) De Morgan e ¬¬A = A
v = ¬w + ¬x. ¬y + ¬x. ¬z.w A (B + C) = AB + BC
v = ¬w + w.¬x. ¬z + ¬x. ¬y A+B = B+A e AB = BA
v = ¬w + ¬x. ¬z + ¬x. ¬y A+¬AB = A+B (A = ¬w)
v = ¬w + ¬x(¬y + ¬z) AB + AC = A (B + C) e
A+B = B+A
Introdução à Ciência
Eduardo Nicola F. Zagari 60
da Computação
61. Exemplos da aplicação
(teoremas 20 e 21)
Ex. 6: Simplificar v = wx+x¬y+yz+x¬z
v = wx + x¬y + yz + x¬z + xy Teo. (20)
v = wx + x(¬y + y) + yz + x¬z AB + AC = A(B + C)
v = wx + x + yz + x¬z ¬A+A = 1 e A . 1 = A
v = x + yz + x ¬z A + AB = A
v = x + yz A + AB = A
Introdução à Ciência
Eduardo Nicola F. Zagari 61
da Computação
62. Exemplos da aplicação
Ex. 7: Simplificar v = (w + x + y)(w + ¬x
+ y)(¬y + z)(w + z)
v = (w + y)(¬y + z)(w + z)
(A+B)(A+¬B) = A
A = w + y, B = x
v = (w + y)(¬y + z) Teo. (21)
Introdução à Ciência
Eduardo Nicola F. Zagari 62
da Computação
63. Exemplos da aplicação
Uma estudante consulta o catálogo da universidade e fica sabendo que pode se
matricular em determinada disciplina somente se ela satisfizer uma das
seguintes condições:
– Já completou sessenta créditos e é uma estudante de Análise de Sistemas
regularmente matriculada;
– Completou sessenta créditos e é uma estudante de Análise e tem o
consentimento do CEATEC;
– Completou menos de sessenta créditos e é uma estudante de Análise com
matrícula especial;
– É uma estudante regularmente matriculada e tem o consentimento do
CEATEC;
– É uma estudante de Análise e não tem o consentimento do CEATEC.
Encontre uma expressão mais simples que indique a possibilidade de a
estudante matricular-se na disciplina.
Introdução à Ciência
Eduardo Nicola F. Zagari 63
da Computação
64. Solução
Introduzimos as variáveis w, x, y, z e v para representar as seguintes situações:
w = a estudante completou sessenta créditos;
x = a estudante é aluna de Análise de Sistemas;
y = a estudante tem matrícula regular;
z = a estudante tem o consentimento do CEATEC;
v = a estudante pode se matricular na disciplina.
Ou seja,
se y = V ou y = 1 => a estudante tem matrícula regular, ou
se y = F ou y = 0 => a estudante tem matrícula especial.
Quando as variáveis w, x, y e z assumem valores tais que v = verdadeiro, a
estudante pode se matricular. A especificação de quando isto ocorre pode ser
feita pela equação algébrica lógica:
v = wxy + wxz + ¬wx¬y + yz + x¬z
Introdução à Ciência
Eduardo Nicola F. Zagari 64
da Computação
65. Solução
A simplificação, usando os teoremas de álgebra booleana:
v = wxy + wxz + ¬wx¬y + yz + x¬z
v = wxy + ¬wx¬y + yz + x(¬z + zw)
v = wxy + ¬wx¬y + yz + x(¬z + w)
v = wxy + ¬wx¬y + yz + x¬z + xw
v = wx(y + 1) + ¬wx¬y + yz + x¬z
v = wx + ¬wx¬y + yz + x¬z
v = x(w + ¬w. ¬y) + yz + x¬z
v = x(w + ¬y) + yz + x¬z
v = xw + x¬y + yz + x¬z
Introdução à Ciência
Eduardo Nicola F. Zagari 65
da Computação
66. Solução
v = xw + x¬y + yz + x¬z
A expressão é idêntica à do exemplo 6 do sub-ítem
anterior, portanto:
v = x + yz Ex6
Assim, a estudante poderá se matricular na disciplina
(v = 1) se for uma aluna de Análise (x = 1) ou se
simultaneamente tiver matrícula regular (y = 1) e
consentimento do Instituto (z = 1).
Introdução à Ciência
Eduardo Nicola F. Zagari 66
da Computação
67. Exemplos da aplicação
Há cinco livros v, w, x, y e z, numa prateleira. Você
deve selecionar alguns entre eles de modo a
satisfazer todas as condições a seguir:
1. Selecionar v ou w ou ambos;
2. Selecionar x ou z ou não ambos;
3. Selecionar v e z juntos ou nenhum dos dois;
4. Se selecionar y também deve selecionar z;
5. Se selecionar w também deve selecionar v e y.
Introdução à Ciência
Eduardo Nicola F. Zagari 67
da Computação
68. Solução
A expressão que satisfaz todas as
condições é dada por u:
u = (v + w)(x ⊕ z)¬(v ⊕ z)(y → z)(w → vy)
Introdução à Ciência
Eduardo Nicola F. Zagari 68
da Computação
69. Solução
Transformando nas expressões equivalentes usando somente
as funções AND, OR e NOT:
u = (v + w)(x ⊕ z)¬(v ⊕ z)(y → z)(w → vy) ⊕ →
u = (v + w)(x¬z + ¬xz)(vz + ¬v.¬z)(¬y + z)(¬w + vy)
Pela comutatividade:
u = (v + w)(vz + ¬v.¬z)(x¬z + ¬xz)(¬y + z)(¬w + vy)
Pela distributividade:
u = (vvz + wvz + v¬v.¬z + w¬v.¬z)(x¬z + ¬xz)(¬y + z)(¬w + vy)
Como A ∧ A = A e A ∧ ¬A = 0:
u = (vz + wvz + ¬vw¬z)(x¬z + ¬xz)(¬y + z)(¬w + vy)
Como A ∨ (A ∧ B) = A, fazendo A = vz e B = w:
u = (vz + ¬vw¬z)(x¬z + ¬xz)(¬y + z)(¬w + vy)
Introdução à Ciência
Eduardo Nicola F. Zagari 69
da Computação
70. Solução
Pela comutatividade:
u = (vz + ¬vw¬z)(¬w + vy)(x¬z + ¬xz)(¬y + z)
Pela distributividade:
u =(vz¬w + vzvy + ¬vw¬z¬w + ¬vw¬zvy)(x¬z¬y + ¬xz¬y + x¬zz + ¬xzz)
Como A ∧ A = A e A ∧ ¬A = 0:
u =(vz¬w + vzy)(x¬z¬y + ¬xz¬y + ¬xz)
Um pouco mais direto:
u = vz¬w.¬x¬y + vz¬w.¬x + vzy.¬x
Introdução à Ciência
Eduardo Nicola F. Zagari 70
da Computação
71. Solução
u = vz¬w.¬x¬y + vz¬w.¬x + vzy.¬x
Colocando o fator comum v¬xz em evidência:
u = v ¬xz (¬w. ¬y + ¬w + y)
Como A ∨ (A ∧ B) = A, fazendo A = ¬w e B = ¬y:
u = v ¬xz (¬w + y)
Devemos selecionar v e z e rejeitar x e, ao mesmo tempo, se
rejeitarmos w, não importa se selecionamos ou rejeitamos y.
Introdução à Ciência
Eduardo Nicola F. Zagari 71
da Computação
72. Diagramas de Circuitos Lógicos
Expressão lógica Diagrama de
portas lógicas
v
v.x.z
x
z
u = v¬xz(¬w + y) u
w
y
w+y
Introdução à Ciência
Eduardo Nicola F. Zagari 72
da Computação
73. Diagramas de Circuitos Lógicos
Como ficaria a implementação em circuitos lógicos
da expressão original, sem a simplificação ?
u = (v + w)(x¬z + ¬xz)(vz + ¬v.¬z)(¬y + z)(¬w + vy)
A simplificação de expressões lógicas, como acabou-
se de ver, leva a uma implementação física, através
de circuitos lógicos, bem mais econômica (no
exemplo acima foram economizadas oito portas
lógicas, sem contar os inversores).
Introdução à Ciência
Eduardo Nicola F. Zagari 73
da Computação
74. Simplificação de Circuitos
Lógicos: Mapeamento
Consideremos a expressão booleana
Z = A.¬B + ¬A.B + A.B
A
A A.B
B
B
A
A.B Z
B
A
A.B
B
Introdução à Ciência
Eduardo Nicola F. Zagari 74
da Computação
75. Simplificação de Circuitos
Lógicos: Mapeamento
Tabela Verdade
A B Z
0 0 0
0 1 1
1 0 1
1 1 1
Introdução à Ciência
Eduardo Nicola F. Zagari 75
da Computação
76. Simplificação de Circuitos
Lógicos: Mapeamento
Circuito lógico Tabela Verdade
simplificado
A B Z
0 0 0
A
Z 0 1 1
B
1 0 1
1 1 1
Introdução à Ciência
Eduardo Nicola F. Zagari 76
da Computação
77. Expressões booleanas de
soma-de-produtos
A B C Z
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1 A.¬B.¬C
1 0 1 0
1 1 0 0
1 1 1 1 A.B.C
Introdução à Ciência
Eduardo Nicola F. Zagari 77
da Computação
78. Expressões booleanas de
soma-de-produtos
Expressão booleana de termos mínimos:
Z = A.¬B.¬C + A.B.C
Circuito lógico AND-OR
A
A.B.C
B
C
Z
A.B.C
Introdução à Ciência
Eduardo Nicola F. Zagari 78
da Computação
79. Expressões booleanas de
produto-de-somas
A B Z
0 0 0
0 1 1 ¬A.B
1 0 1 A.¬B
1 1 1 A.B
Expressão boolena de termos mínimos:
Z = ¬A.B + A.¬B + A.B
Introdução à Ciência
Eduardo Nicola F. Zagari 79
da Computação
80. Expressões booleanas de
produto-de-somas
A B Z
0 0 0 Inverte as variáveis A + B
0 1 1
1 0 1
1 1 1
Expressão boolena de termos máximos:
Z=A+B
Introdução à Ciência
Eduardo Nicola F. Zagari 80
da Computação