SlideShare une entreprise Scribd logo
1  sur  80
Télécharger pour lire hors ligne
Álgebra Binária
   Booleana
         Capítulo 3
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
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
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
Tipos de Função

         Contínuas
         Discretas




Introdução à Ciência
                           Eduardo Nicola F. Zagari   5
da Computação
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Porta Lógica OR


                       A
                                                      Z
                       B




Introdução à Ciência
                           Eduardo Nicola F. Zagari       23
da Computação
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
A Porta NOT (inversor)



                       A                          Z




Introdução à Ciência
                           Eduardo Nicola F. Zagari   25
da Computação
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
Porta Lógica NAND



                         A
                                                    Z
                         B




Introdução à Ciência
                             Eduardo Nicola F. Zagari   27
da Computação
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
Porta Lógica NOR


                       A
                                                       Z
                       B




Introdução à Ciência
                            Eduardo Nicola F. Zagari       29
da Computação
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
Porta Lógica XOR


                       A
                                                       Z
                       B




Introdução à Ciência
                            Eduardo Nicola F. Zagari       31
da Computação
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
Porta Lógica X-NOR


                        A
                                                        Z
                        B




Introdução à Ciência
                             Eduardo Nicola F. Zagari       33
da Computação
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
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
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
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
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
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
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
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
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
Exercício

         Mostrar o Teorema 21 através da
         tabela-verdade.




Introdução à Ciência
                        Eduardo Nicola F. Zagari   43
da Computação
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Contenu connexe

Tendances

Aula 6 - Funções Exponenciais e Logarítmicas
Aula 6 - Funções Exponenciais e LogarítmicasAula 6 - Funções Exponenciais e Logarítmicas
Aula 6 - Funções Exponenciais e Logarítmicas
Turma1NC
 
Apostila clp - blocos funcionais
Apostila   clp - blocos funcionaisApostila   clp - blocos funcionais
Apostila clp - blocos funcionais
Robisonpardim
 
Volumes de sólidos integral
Volumes de sólidos integralVolumes de sólidos integral
Volumes de sólidos integral
HugoTavares82
 
Simplificação de expressões Booleanas utilizando mapas de Karnaugh
Simplificação de expressões Booleanas utilizando mapas de KarnaughSimplificação de expressões Booleanas utilizando mapas de Karnaugh
Simplificação de expressões Booleanas utilizando mapas de Karnaugh
Tony Alexander Hild
 
Flip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresFlip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadores
profwtelles
 
Funções de duas variáveis reais e curvas de nível
Funções de duas variáveis reais e curvas de nívelFunções de duas variáveis reais e curvas de nível
Funções de duas variáveis reais e curvas de nível
Fran Cristina
 

Tendances (20)

Resolução da Lista de exercícios - Conversão de bases e aritmética computacional
Resolução da Lista de exercícios - Conversão de bases e aritmética computacionalResolução da Lista de exercícios - Conversão de bases e aritmética computacional
Resolução da Lista de exercícios - Conversão de bases e aritmética computacional
 
Porta lógica com tabela verdade
Porta lógica com tabela verdadePorta lógica com tabela verdade
Porta lógica com tabela verdade
 
Aula 6 - Funções Exponenciais e Logarítmicas
Aula 6 - Funções Exponenciais e LogarítmicasAula 6 - Funções Exponenciais e Logarítmicas
Aula 6 - Funções Exponenciais e Logarítmicas
 
comparadores sistemas digitais
comparadores sistemas digitaiscomparadores sistemas digitais
comparadores sistemas digitais
 
Limite de função de duas variáveis
Limite de função de duas variáveisLimite de função de duas variáveis
Limite de função de duas variáveis
 
áLgebra booleana e circuitos lógicos
áLgebra booleana e circuitos lógicosáLgebra booleana e circuitos lógicos
áLgebra booleana e circuitos lógicos
 
Aula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de buscaAula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de busca
 
Tabela completa de derivadas e integrais
Tabela completa de derivadas e integraisTabela completa de derivadas e integrais
Tabela completa de derivadas e integrais
 
Apostila clp - blocos funcionais
Apostila   clp - blocos funcionaisApostila   clp - blocos funcionais
Apostila clp - blocos funcionais
 
Estudos de Controle - Aula 11: Análise de Resposta Transitória e de Regime Es...
Estudos de Controle - Aula 11: Análise de Resposta Transitória e de Regime Es...Estudos de Controle - Aula 11: Análise de Resposta Transitória e de Regime Es...
Estudos de Controle - Aula 11: Análise de Resposta Transitória e de Regime Es...
 
Volumes de sólidos integral
Volumes de sólidos integralVolumes de sólidos integral
Volumes de sólidos integral
 
Simplificação de expressões Booleanas utilizando mapas de Karnaugh
Simplificação de expressões Booleanas utilizando mapas de KarnaughSimplificação de expressões Booleanas utilizando mapas de Karnaugh
Simplificação de expressões Booleanas utilizando mapas de Karnaugh
 
Funcão Afim
Funcão AfimFuncão Afim
Funcão Afim
 
Resumo conicas
Resumo conicasResumo conicas
Resumo conicas
 
Matrizes
MatrizesMatrizes
Matrizes
 
Flip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresFlip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadores
 
Funções
FunçõesFunções
Funções
 
Logica Digital
Logica DigitalLogica Digital
Logica Digital
 
Amplificador operacional
Amplificador operacionalAmplificador operacional
Amplificador operacional
 
Funções de duas variáveis reais e curvas de nível
Funções de duas variáveis reais e curvas de nívelFunções de duas variáveis reais e curvas de nível
Funções de duas variáveis reais e curvas de nível
 

En vedette

Lógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionaisLógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionais
Carlos Wagner Costa
 
Exprsaõ logicas e tabela verdade exercicios
Exprsaõ logicas e tabela verdade exerciciosExprsaõ logicas e tabela verdade exercicios
Exprsaõ logicas e tabela verdade exercicios
Joãopedro Machado
 
Automação ind 1_2014
Automação ind 1_2014Automação ind 1_2014
Automação ind 1_2014
Marcio Oliani
 
Operadores Booleanos
Operadores BooleanosOperadores Booleanos
Operadores Booleanos
Ana Bessa
 

En vedette (20)

Álgebra Booleana
Álgebra BooleanaÁlgebra Booleana
Álgebra Booleana
 
Lógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionaisLógica booleana e estruturas condicionais
Lógica booleana e estruturas condicionais
 
Aula 05
Aula 05Aula 05
Aula 05
 
Exprsaõ logicas e tabela verdade exercicios
Exprsaõ logicas e tabela verdade exerciciosExprsaõ logicas e tabela verdade exercicios
Exprsaõ logicas e tabela verdade exercicios
 
Álgebra de Boole
Álgebra de BooleÁlgebra de Boole
Álgebra de Boole
 
Álgebra de Boole
Álgebra de BooleÁlgebra de Boole
Álgebra de Boole
 
Arquitetura 6 1
Arquitetura 6 1Arquitetura 6 1
Arquitetura 6 1
 
Automação ind 1_2014
Automação ind 1_2014Automação ind 1_2014
Automação ind 1_2014
 
Algebra booleana aplicações
Algebra booleana aplicaçõesAlgebra booleana aplicações
Algebra booleana aplicações
 
Algebra Boole
Algebra BooleAlgebra Boole
Algebra Boole
 
Padrões-01 - Introdução
Padrões-01 - IntroduçãoPadrões-01 - Introdução
Padrões-01 - Introdução
 
Padrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - AdaptadorPadrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - Adaptador
 
Operadores Booleanos
Operadores BooleanosOperadores Booleanos
Operadores Booleanos
 
Padrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract FactoryPadrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract Factory
 
ICC-07 Softwares - Introdução
ICC-07 Softwares - IntroduçãoICC-07 Softwares - Introdução
ICC-07 Softwares - Introdução
 
Padrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - SingletonPadrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - Singleton
 
Padrões-12 - Padrões Estruturais - Facade
Padrões-12 - Padrões Estruturais - FacadePadrões-12 - Padrões Estruturais - Facade
Padrões-12 - Padrões Estruturais - Facade
 
Padrões-09 - Padrões Criacionais - Factory Method
Padrões-09 - Padrões Criacionais - Factory MethodPadrões-09 - Padrões Criacionais - Factory Method
Padrões-09 - Padrões Criacionais - Factory Method
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhany
 
SO-11 Winux: Laboratório de Sistemas Operacionais
SO-11 Winux: Laboratório de Sistemas OperacionaisSO-11 Winux: Laboratório de Sistemas Operacionais
SO-11 Winux: Laboratório de Sistemas Operacionais
 

Plus de Eduardo Nicola F. Zagari

Plus de Eduardo Nicola F. Zagari (20)

Classificação de Documentos
Classificação de DocumentosClassificação de Documentos
Classificação de Documentos
 
Uma Breve Introdução ao MongoDB
Uma Breve Introdução ao MongoDBUma Breve Introdução ao MongoDB
Uma Breve Introdução ao MongoDB
 
Introdução à Linguagem Ruby
Introdução à Linguagem RubyIntrodução à Linguagem Ruby
Introdução à Linguagem Ruby
 
Onix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
Onix: Sistema Integrado de Gerˆencia para Redes SobrepostasOnix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
Onix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
 
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLSUma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
 
Uma Implementação do MPLS para Redes Linux
Uma Implementação do MPLS para Redes LinuxUma Implementação do MPLS para Redes Linux
Uma Implementação do MPLS para Redes Linux
 
Módulo de Estudos e Treinamento em Tempo Real
Módulo de Estudos e Treinamento em Tempo RealMódulo de Estudos e Treinamento em Tempo Real
Módulo de Estudos e Treinamento em Tempo Real
 
Módulo de Estudos em Tempo Real
Módulo de Estudos em Tempo RealMódulo de Estudos em Tempo Real
Módulo de Estudos em Tempo Real
 
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
 
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
 
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
 
Padrões-13 - Padrões Estruturais - Proxy
Padrões-13 - Padrões Estruturais - ProxyPadrões-13 - Padrões Estruturais - Proxy
Padrões-13 - Padrões Estruturais - Proxy
 
Padrões-07 - Padrões Criacionais
Padrões-07 - Padrões CriacionaisPadrões-07 - Padrões Criacionais
Padrões-07 - Padrões Criacionais
 
Padrões-06 - Padrões Arquiteturais - Microkernel
Padrões-06 - Padrões Arquiteturais - MicrokernelPadrões-06 - Padrões Arquiteturais - Microkernel
Padrões-06 - Padrões Arquiteturais - Microkernel
 
Padrões-05 - Padrões Arquiteturais - MVC
Padrões-05 - Padrões Arquiteturais - MVCPadrões-05 - Padrões Arquiteturais - MVC
Padrões-05 - Padrões Arquiteturais - MVC
 
Padrões-04 - Padrões Arquiteturais - Broker
Padrões-04 - Padrões Arquiteturais - BrokerPadrões-04 - Padrões Arquiteturais - Broker
Padrões-04 - Padrões Arquiteturais - Broker
 
Padrões-03 - Padrões Arquiteturais - Pipes e Filtros
Padrões-03 - Padrões Arquiteturais - Pipes e FiltrosPadrões-03 - Padrões Arquiteturais - Pipes e Filtros
Padrões-03 - Padrões Arquiteturais - Pipes e Filtros
 
Padrões-02 - Padrões Arquiteturais - Camadas
Padrões-02 - Padrões Arquiteturais - CamadasPadrões-02 - Padrões Arquiteturais - Camadas
Padrões-02 - Padrões Arquiteturais - Camadas
 
ICC-01 História dos Computadores
ICC-01 História dos ComputadoresICC-01 História dos Computadores
ICC-01 História dos Computadores
 
ICC-02 Evolução dos Computadores
ICC-02 Evolução dos ComputadoresICC-02 Evolução dos Computadores
ICC-02 Evolução dos Computadores
 

ICC-05 Álgebra Booleana

  • 1. Álgebra Binária Booleana Capítulo 3
  • 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
  • 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. 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