ICC-05 Álgebra Booleana

7,901 views

Published on

Á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.

Published in: Technology, Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,901
On SlideShare
0
From Embeds
0
Number of Embeds
59
Actions
Shares
0
Downloads
339
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

ICC-05 Álgebra Booleana

  1. 1. Álgebra Binária Booleana Capítulo 3
  2. 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. 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. 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. 5. Tipos de Função Contínuas Discretas Introdução à Ciência Eduardo Nicola F. Zagari 5 da Computação
  6. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 23. Porta Lógica OR A Z B Introdução à Ciência Eduardo Nicola F. Zagari 23 da Computação
  24. 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. 25. A Porta NOT (inversor) A Z Introdução à Ciência Eduardo Nicola F. Zagari 25 da Computação
  26. 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. 27. Porta Lógica NAND A Z B Introdução à Ciência Eduardo Nicola F. Zagari 27 da Computação
  28. 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. 29. Porta Lógica NOR A Z B Introdução à Ciência Eduardo Nicola F. Zagari 29 da Computação
  30. 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. 31. Porta Lógica XOR A Z B Introdução à Ciência Eduardo Nicola F. Zagari 31 da Computação
  32. 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. 33. Porta Lógica X-NOR A Z B Introdução à Ciência Eduardo Nicola F. Zagari 33 da Computação
  34. 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. 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. 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. 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. 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. 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. 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. 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. 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. 43. Exercício Mostrar o Teorema 21 através da tabela-verdade. Introdução à Ciência Eduardo Nicola F. Zagari 43 da Computação
  44. 44. (A∨B) ∧ (¬A∨C) ∧ (B∨C) = (A∨B) ∧ (¬A∨C) A B C ¬A (A∨B) (¬A∨C) ∨ (A∨B) ∧ (¬A∨C) (B∨C) ¬ ∨ ∨ (A∨B) ∧ (¬A∨C) ∧ (B∨C) ¬ ∨ ∨ 0 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 1 1 0 1 1 1 1 1 Introdução à Ciência Eduardo Nicola F. Zagari 44 da Computação
  45. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×