Exemplo. Seja uma função matemática descrita por: y = 5x 2 + 3. A relação funcional entre x e y pode ser dada por:



Documentos relacionados
Simplificação de Expressões Booleanas e Circuitos Lógicos

4. Álgebra Booleana e Simplificação Lógica. 4. Álgebra Booleana e Simplificação Lógica 1. Operações e Expressões Booleanas. Objetivos.

5. O Mapa de Karnaugh

ÁLGEBRA BOOLEANA- LÓGICA DIGITAL

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

ELETRÔNICA DIGITAL 1

Simplificação por mapa de Karnaugh

Álge g bra b B ooleana n Bernardo Gonçalves

Aula 5: determinação e simplificação de expressões lógicas

III. Representações das portas lógicas (recordação): Figura 1: Símbolos padronizados e alternativos para várias portas lógicas e para o inversor 2

Prof. Leonardo Augusto Casillo

Representação de Circuitos Lógicos

Técnicas Digitais A AULA 08. Prof. João Marcos Meirelles da Silva. Sala 425

Circuitos Aritméticos

PCS 3115 (PCS2215) Sistemas Digitais I. Módulo 05 Álgebra Booleana. Prof. Dr. Edison Spina. Sobre o material do Prof. Dr. Marcos A. Simplicio Jr.

Cálculo proposicional

Bases Matemáticas. Daniel Miranda de maio de sala Bloco B página: daniel.miranda

1. À primeira coluna (P), atribui-se uma quantidade de valores V igual à metade do total de linhas

Capítulo VI Circuitos Aritméticos

PCS 3115 (PCS2215) Conteúdo

RACIOCÍNIO LÓGICO QUANTITATIVO

Lista de Exercícios 5: Soluções Teoria dos Conjuntos

Matemática Básica Intervalos

Q(A, B, C) =A.B.C + A.B.C + A.B.C + A.B.C + A.B.C + A.B.C. m(1, 2, 3, 6) T (A, B, C, D) =A.B.C.D+A.B.C.D+A.B.C.D+A.B.C.D+A.B.C.D+A.B.C.

BC-0504 Natureza da Informação

Parte 05 - Técnicas de programação (mapas de Veitch-Karnaugh)

Figura 1 - Somador para dois números de 4 bits com extensores lógicos (EL) e Aritméticos(EA).

Relações. Antonio Alfredo Ferreira Loureiro. UFMG/ICEx/DCC MD Relações 1

Comandos de Desvio 1

7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014

PREPARATÓRIO PROFMAT/ AULA 3

LÓGICA FORMAL Tabelas Verdade

(Equivalência e Implicação lógica aula 10

Álgebra de Boole (ou Boleana) Circuitos Digitais Portas Lógicas e Álgebra de Boole. Álgebra de Boole: Tabela Verdade. Álgebra de Boole: funções

Métodos Formais. Agenda. Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções. Relações e Funções

AV2 - MA UMA SOLUÇÃO

Instituto Federal Fluminense Campus Campos Centro Programa Tecnologia Comunicação Educação (PTCE)

Matrizes e Sistemas Lineares. Professor: Juliano de Bem Francisco. Departamento de Matemática Universidade Federal de Santa Catarina.

Instituto Politécnico. Curso: Tec. Redes de Computadores. Disciplina: Organização de Computadores. Prof.: Fábio Lucena Veloso

Aula 1 Conjuntos Numéricos

1 Teoria de conjuntos e lógica

ÁLGEBRA DE BOOLE B.1 - DIAGRAMA DE VENN

Ficha de Exercícios nº 2

Os eixo x e y dividem a circunferência em quatro partes congruentes chamadas quadrantes, numeradas de 1 a 4 conforme figura abaixo:

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Plano de Ensino. Leandro Schwarz Endereço eletrônico:

Aula 6 Propagação de erros

Capítulo 3: Álgebra Booleana e Métodos de Simplificação de Equações Booleanas

Calculando seno(x)/x com o interpretador Hall.

PORTA OU EXCLUSIVO (XOR) CIRCUITOS DE COINCIDÊNCIA (XNOR)

ÁLGEBRA VETORIAL E GEOMETRIA ANALÍTICA (UFCG- CUITÉ)

CAPÍTULO O Método Simplex Pesquisa Operacional

Resolução da Prova de Raciocínio Lógico do MPOG/ENAP de 2015, aplicada em 30/08/2015.

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS

Circuitos Digitais Álgebra de Boole

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução

Determinantes. Matemática Prof. Mauricio José

Resolução da Prova de Raciocínio Lógico do STJ de 2015, aplicada em 27/09/2015.

PUC-Rio Desafio em Matemática 23 de outubro de 2010

A integral indefinida

Análise de Sistemas de Controle no Espaço de Estados

Roteiro da aula. MA091 Matemática básica. Conjuntos. Subconjunto. Aula 12 Conjuntos. Intervalos. Inequações. Francisco A. M. Gomes.

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 7

Solução Comentada Prova de Matemática

Circuitos Lógicos Aula 3

PRINCÍPIOS DA MULTIPLICAÇÃO, DA ADIÇÃO E DA INCLUSÃO-

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt

Princípios Básicos de CLP

Considere as situações:

ELETRÔNICA DIGITAL. Parte 6 Display, Decodificadores e Codificadores. Prof.: Michael. 1 Prof. Michael

Álgebra Booleana e Tabelas-Verdade

Unidade 3 Função Afim

Pelo que foi exposto no teorema de Carnot, obteve-se a seguinte relação:

Circuito integrado Temporizador 555. Circuito Integrado Temporizador (Timer) 555

A forma geral de uma equação de estado é: p = f ( T,

Ficha Prática 5: Cap 3.Princípios Elementares de Contagem

UNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO

Orientação a Objetos

Raciocínio Lógico Matemático

Noções básicas de Lógica

A raiz quadrada. Qual é o número positivo que elevado ao 16 = 4

Potenciação e radiciação

Erros e Incertezas. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011.

SOLUÇÕES N item a) O maior dos quatro retângulos tem lados de medida 30 4 = 26 cm e 20 7 = 13 cm. Logo, sua área é 26 x 13= 338 cm 2.

Resolução do exemplo 8.6a - pág 61 Apresente, analítica e geometricamente, a solução dos seguintes sistemas lineares.

Aparelhos de Laboratório de Electrónica

PROFMAT AV3 MA (1,0) (a) Prove isto: Se um número natural não é o quadrado de um outro número natural, sua raiz quadrada é irracional.

21- EXERCÍCIOS FUNÇÕES DO SEGUNDO GRAU

Apontamentos e Resoluça o de Exercí cios

Em linguagem matemática, essa proprieade pode ser escrita da seguinte maneira: x. 1 = x Onde x representa um número natural qualquer.

Lista de Exercícios MMC e MDC

Inversão de Matrizes

IND 1115 Inferência Estatística Aula 8

ÁLGEBRA. Aula 5 _ Função Polinomial do 1º Grau Professor Luciano Nóbrega. Maria Auxiliadora

EXERCÍCIOS PREPARATÓRIOS PARA AS DISCIPLINAS INTRODUTÓRIAS DA MATEMÁTICA

Geometria Analítica. Prof Marcelo Maraschin de Souza

Infra-Estrutura de Hardware

Notas de aula de Lógica para Ciência da Computação. Aula 11, 2012/2

3. Computadores Industriais

Transcrição:

Capítulo 3: Álgebra Binária Booleana O Conceito de Função O conceito de variável e de função de uma variável nos é familiar. O campo de uma variável, isto é, o intervalo de valores que pode ser assumido por uma variável x, pode ser especificado de inúmeras maneiras. Por exemplo, x pode variar sobre o campo dos reais de menos até mais infinito; ou x pode ser restrita ao intervalo de -17 a -4; ou pode ainda ser restrita a valores inteiros de 1 a 10 e assim por diante. Uma função é uma regra através da qual se determina o valor de uma segunda variável (dependente) y a partir do valor da variável (independente) x, sendo esta dependência representada por y = f(x). Exemplo. Seja uma função matemática descrita por: y = 5x 2 + 3. A relação funcional entre x e y pode ser dada por: X 0 3 1 8 2 23 3 48 y = f(x) As variáveis dependente (y) e independente (x) não precisam ser numéricas como na tabela a seguir, onde são descritos os significados das luzes de um semáforo: X Verde y = f(x) Prossiga Amarelo Vermelho Devagar Pare Tipos de Função As funções são classificadas como contínuas, quando podem assumir quaisquer valores dentro de um dado intervalo e discretas, caso só possam assumir alguns valores, como as funções booleanas usadas nos computadores. 45

Funções Booleanas Em sistemas digitais como no caso dos computadores, encontramos variáveis que são particulares no sentido de só poderem assumir dois valores, geralmente denominados verdadeiro e falso, aos quais se associam os números binários 1 e 0. Este tipo de variável é denominado variável binária ou lógica, e as funções algébricas definidas para as variáveis binárias são conhecidas como álgebra booleana, em homenagem a Charles Boole, que no século XIX desenvolveu a álgebra das variáveis binárias. Uma variável lógica é uma variável que tem três propriedades: A variável lógica só pode assumir um de dois valores possíveis; Os valores são expressos por afirmações declarativas, como no exemplo do semáforo; Os dois valores possíveis, expressos por afirmações declarativas, devem ser tais que, com base em raciocínio humano, ou seja, com base na lógica, sejam mutuamente exclusivos. Suponha que o semáforo do exemplo anterior, só pudesse estar verde ou vermelho. Neste caso, a variável x da tabela do semáforo seria uma variável lógica. As hipóteses possíveis seriam: O semáforo está verde, o que seria representado por x = verde ou; O semáforo está vermelho, representado por x = vermelho. Devido à mútua exclusividade, ao afirmarmos que x = vermelho também estamos dizendo que x = nãoverde. 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: 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. 46

Funções Booleanas Básicas Existem várias funções booleanas, mas apenas umas popucas são necessárias para expressar a maioria dos problemas. No caso de funções com apenas uma variável independente temos: função negação função coincidência X Y = não(x) X Y = (X) 1 0 1 1 0 1 0 0 Na função coincidência, Y assume o valor de X sempre. Na função negação ocorre o contrário. Vamos agora considerar o caso em que Y é função das variáveis booleanas X e Z. Neste caso, as duas funções mais comuns são: 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 Na função e Y só assume o valor 1 caso as variáveis X, Z sejam simultaneamente iguais a 1 (X e Z iguais a 1); Na função ou Y assume o valor 1 caso X seja 1 ou Z seja1 ou ambos. Expressões Booleanas Usando funções booleanas podemos escrever expressões matemáticas representando situações que envolvam uma tomada de decisão. Seja por exemplo a questão: João irá ao cinema mas apenas se conseguir um carro emprestado e Maria também puder ir. Para transformarmos esta sentença em um problema matemático devemos associar a cada afirmação uma variável booleana para depois compormos a função que a representa. 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 = compania 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. Variável Y = ida de João ao cinema 47

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) X Z Y = f(x,z) SIGNIFICADO 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. As linguagens de programação de computadores possuem formas de escrever expressões como a do exemplo acima (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. 48

FUNÇÕES BOOLEANAS - Estudo Completo A notação 0 e 1 A = 0 ==> A = F ou tensões elétricas, geralmente A = 1 ==> A = V 0 V e +5 V. 0 e 1 são valores lógicos de uma variável (não são números). Funções Lógicas a) a função AND Z = A AND B ou Z = A B ou Z = AB (A e B) Imagine o seguinte circuito: Convenções: chave aberta = 0 chave fechada = 1 lâmpada apagada = 0 lâmpada acesa = 1 A tabela verdade é o mapa onde se coloca todas as possíveis situações com seus respectivos resultados. A tabela reflete o modo como a função se comporta perante todas as situações possíveis: CHAVE A CHAVE B CHAVE C aberta aberta apagada aberta fechada apagada fechada aberta apagada fechada fechada acesa ou: A B Z=f(A,B) 0 0 0 0 1 0 1 0 0 1 1 1 49

A porta and é um circuito que executa a função AND: 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. O número de situações possíveis (número de linhas da tabela verdade) é igual a 2 N, onde N é o número de variáveis. b) a função OR Z = A + B ou Z = A B (A ou B) Imagine o seguinte circuito: Tabela Verdade: A B Z = A + B --------------------------------- 0 0 0 0 1 1 1 0 1 1 1 1 Porta Lógica OR: 50

c) a função NOT (complemento) A função NOT, ou função complemento, inverte o estado da variável. Z = A (não A) A Z = A ------------------ 0 1 1 0 Bloco Lógico que executa a função NOT = inversor d) a função NAND A função NAND é a função AND combinada com a função NOT. Z = (A B) Tabela verdade: A B Z = (A B) ----------------------- 0 0 1 0 1 1 1 0 1 1 1 0 Porta Lógica: 51

e) a função NOR A função NOR é a função OR combinada com a função NOT. Z = (A B) Tabela Verdade: A B Z = (A B) ----------------------- 0 0 1 0 1 0 1 0 0 1 1 0 Porta Lógica: f) 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. Tabela Verdade: A B Z = A B ----------------------- 0 0 0 0 1 1 1 0 1 1 1 0 Porta Lógica: 52

g) 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) Tabela Verdade: A B Z = (A B) ----------------------- 0 0 1 0 1 0 1 0 0 1 1 1 Porta Lógica: h) a função Implicação Z = A B (A implica B) Considere o seguinte exemplo: usa-se a variável A para representar a afirmação: "Está chovendo", isto é, quando está chovendo A = V e quando não está, A = F. Usa-se B para representar a afirmação "As pessoas estão usando guarda-chuvas". Suponha que se deseje escrever uma equação lógica que diga que A implica B, ou seja, que a ocorrência da chuva implica o uso do guarda-chuva. Se introduzir-se a variável Z = A B, Z será relacionada a A e B pela seguinte maneira: (Tabela Verdade) 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, B será falso. 53

Teoremas da Álgebra de Boole Variáveis Lógicas => só dois valores Sistema binário de numeração => só dois dígitos Para definir uma função: 1) Expressão lógica: Z = A (B C), 2) Tabela Verdade, ou 3) A função é definida como tendo valores 1 nas linhas 3,4,5,6 e 7 da coluna Z de uma tabela verdade de três variáveis. linha no. A B C Z 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 1 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 Propriedades das funções lógicas: 1) Comutatividade: Z = A B = B A Z = A B = B A Z = A B = B A 2) Associatividade: Z = (A B) C = A (B C) Z = (A B) C = A (B C) Z = (A B) C = A (B C) AND OR XOR AND OR XOR 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 54

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 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 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) 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 ---------- Exercício:Mostrar o Teorema 21 através da tabela-verdade. 55

Funções de Duas Variáveis Existem 16 funções de duas variáveis. As funções f 0 e f 15 não são funções de A e B. As funções f 3, f 5, f 10 e f 12 são funções de uma variável (f 10 e f 12 são funções NOT). A seguir a relação de todas as funções de duas variáveis, a partir da tabela verdade para duas variáveis (A e B). As funções são também expressas usando apenas as funções AND, OR e NOT (as expressões são demonstradas usando uma tabela verdade. Por exemplo, f 6 : 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 ou seja, ( A B) (A B) = A B. As 16 funções: A 0 0 1 1 B 0 1 0 1 Função f 0 0 0 0 0 f = 0 f 1 0 0 0 1 f = A B (and) f 2 0 0 1 0 f = (A B) = A B f 3 0 0 1 1 f = A f 4 0 1 0 0 f = (B A) = A B f 5 0 1 0 1 f = B f 6 0 1 1 0 f = A B = (A B) ( A B) f 7 0 1 1 1 f = A B (or) f 8 1 0 0 0 f = (A B) (nor) f 9 1 0 0 1 f = (A B) = ( A B) (A B) f 10 1 0 1 0 f = B f 11 1 0 1 1 f = B A = A B f 12 1 1 0 0 f = A f 13 1 1 0 1 f = A B = A B f 14 1 1 1 0 f = (A B) (nand) f 15 1 1 1 1 f = 1 56

Teoremas de De Morgan (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... (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... (1) é dual a (2) => Princípio da Dualidade. Exercício: Mostrar que f 2 (A B) é o complemento de f 13 ( A B) através de De Morgan. Diagramas de Venn O diagrama de Venn divide o espaço em regiões mutuamente exclusivas => útil para visualizar geometricamente os teoremas da álgebra boolena. a) A A = 1 => o 1 representa o universo de interesse. b) (A B) (A B) ( A B) ( A B) = 1 c) A B = (A B) (A B) ( A B) 57

Interseção : A B União: A B Os diagramas de Venn dividem o universo (o retângulo) em 2 n áreas identificáveis diferentes, onde n é o número de variáveis. No esquema a) 1 variável => 2 1 = 2 áreas b) e c) 2 variáveis => 2 2 = 4 áreas Os diagramas de Venn são úteis quando se deseja a visualização geométrica de funções booleanas, podendo também ser usados para estabelecer ou verificar teoremas algébricos booleanos. d) Diagrama de Venn de 3 variáveis => 2 3 = 8 áreas isto é, Exercício.: Usar um diagrama de Venn para verificar o teorema da equação (19), (A B) ( A C) = (A C) ( A B) Exercício: Mostrar o Teorema 18 através de diagramas de Venn. 58

Exemplos de aplicação dos teoremas da Álgebra de Boole Uma operação lógica que une duas variáveis lógicas, como a função AND, etc., é muitas vezes denominada de conetivo. Funções de mais de duas variáveis são formadas pela aplicação repetida destes conetivos de duas variáveis. Os teoremas booleanos servem para simplificar expressões algébricas: Ex. 1: Simplificar w = xy + (yx)z w = xy + (xy)z pois AB = BA (comutatividade) Se v = xy => w = v + vz w = v + z pois A + AB = A + B (teo. 14) w = xy + z pois a função de variáveis lógicas é uma variável lógica. Ex. 2: Simplificar w = x ( x + y) ou w = x ( x + y) = xy A ( A + B) = AB (teo. 15) w = x ( x + y) = x x + xy A (B + C) = AB + AC = 0 + xy A A = 0 = xy A + 0 = A 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 = x x+ xy+ z+y = xy+ z+y A(B+C) = AB+AC e AA=A A=0 w = y+ xy+ z = y+y x+ z A+B = B+A; AB = BA w = y + z A + AB = A Exemplos da aplicação dos 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) v = (w + yz) = w. (yz) v = w ( y + z) A + AB = A Teo. de De Morgan Teo. de De Morgan 59

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 + x. y + x. z A + AB = A + B (A = w) v = w + x( y + z) AB + AC = A (B + C) Os exemplos seguintes ilustram o uso dos 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 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) Exemplos adicionais Como foi visto, afirmações e condições relativamente complexas podem ser expressas sob a forma de expressões algébricas booleanas. A partir daí usamos os teoremas da álgebra booleana para encontrar expressões mais simples e equivalentes, ilustrando assim, como o conceito de variável lógica e sua álgebra associada é usado para executar um processo de raciocínio lógico. Ex. 1: 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: 1. Já completou sessenta créditos e é uma estudante de Análise de Sistemas regularmente matriculada; 2. Completou sessenta créditos e é uma estudante de Análise e tem o consentimento do Instituto de Informática; 3. Completou menos de sessenta créditos e é uma estudante de Análise com matrícula especial; 60

4. É uma estudante regularmente matriculada e tem o consentimento do Instituto; 5. É uma estudante de Análise e não tem o consentimento do Instituto. Encontre uma expressão mais simples que indique a possibilidade de a estudante matricular-se na disciplina. 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 Instituto; 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 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 A expressão é idêntica à do exemplo 6 do sub-ítem anterior, portanto: v = x + yz 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). 61

Ex. 2: 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. 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) Transformando nas expressões equivalentes usando somente as funções AND, OR e NOT: u = (v + w)(x z + xz)(vz + v. z)( y + z)( w + vy) u = (vz + vw z)(x z + xz)( y + z)( w + vy) u = (v wz + vyz)(x y. z + x. yz + xz) u = v w. x. yz + v w. xz + v xyz u = v xz ( w. y + w + 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. 62

Diagramas de Circuitos Lógicos Existe uma correspondência entre uma expressão lógica e um diagrama de portas lógicas. Por exemplo considere a expressão simplificada do exemplo anterior: u = v xz( w + y) Agora 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). Simplificação de Circuitos Lógicos: Mapeamento Consideremos a expressão booleana Z = A. B + A.B + A.B. Um diagrama lógico dessa expressão (figura 6.1 a) e da expressão simplificada (figura 6.1 b) a seguir: 63

(a) circuito lógico não simplificado (b) circuito lógico simplificado (c) tabela verdade A B Z ----------------- 0 0 0 0 1 1 1 0 1 1 1 1 Figura 6.1 Notar que devem ser usadas seis portas, contando os inversores, para implementar esse circuito lógico, que executa a lógica detalhada na tabela verdade acima (figura 6.1c). Do exame da tabela verdade, e determinado que uma única porta OR de 2 entradas executará a função. Verifica-se que a porta OR mostrada acima (figura 6.1b) será o 64

método mais simples de executar esta lógica. Os circuitos lógicos das figuras (6.1a) e (6.1b) executam exatamente a mesma função lógica. Obviamente um projetista escolheria o circuito mais simples, e menos dispendioso, mostrada na figura (6.1b). A simplificação obtida foi feita pelo simples exame da tabela verdade e pelo reconhecimento do padrão OR. Porém, existem métodos sistemáticos de simplificação, além dos já vistos, e de obtenção da expressão algébrica de uma função lógica através da tabela verdade. Expressões booleanas de soma-de-produtos Considere a seguinte tabela verdade (figura 6.2a) de três variáveis (A, B e C). Observe que só duas combinações de variáveis irão gerar uma saída 1. Estas combinações são mostradas nas quinta e oitava linhas da tabela verdade: (a) 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 (b) Expressão booleana: Z = A. B. C + A.B.C (c) Circuito lógico AND-OR Figura 6.2 65

Da quinta linha, dizemos que uma entrada "um A E um não B E um não C irá gerar uma saída 1". Isto é mostrado do lado da linha, como a expressão booleana A. B. C. A outra combinação de variáveis que irá gerar uma saída 1 é mostrada na oitava linha. Nessa linha se lê que "um A E um B E um C irá gerar uma saída 1". A expressão booleana equivalente é mostrada do lado da linha como A.B.C. Estas duas combinações possíveis são depois submetidas juntas a uma operação OR para formar a expressão booleana completa da tabela verdade. A expressão completa é mostrada na figura 6.2b. Esta expressão é chamada de soma-de-produtos de uma expressão booleana. É conhecida também como forma de termos mínimos. O diagrama lógico da figura 6.2c executa a lógica desta função. Expressões booleanas de produto-de-somas Considere a tabela verdade OR da figura 6.3b. A expressão booleana desta tabela verdade pode ser escrita de duas formas. A primeira é a expressão de soma-de-produtos a partir dos 1s de saída da tabela verdade, como já visto no item anterior. Cada 1 na coluna de saída torna-se um termo a ser submetido a uma operação OR na expressão de termos mínimos. A expressão de termos mínimos para a tabela verdade é mostrada na figura 6.3c como Z = A.B + A. B + A.B. A segunda forma de se obter a expressão lógica é a forma de termos máximos ou produto-de-somas. Este tipo de expressão é desenvolvida a partir dos 0s na coluna de saída da tabela verdade. Para cada 0 na coluna de saída, é desenvolvido um termo submetido a uma operação OR. Notar que a variáveis de entrada são invertidas e depois submetidas a uma operação OR. A expressão de termos máximos para a tabela verdade OR é mostrada na figura 6.3a. A expressão de termos máximos para a tabela verdade OR é mostrada como Z = A + B. Para a tabela verdade da figura 6.3, a expressão booleana de termos máximos revela-se a mais simples. Tanto as expressões de termos mínimos quanto as de termos máximos descrevem a lógica da tabela verdade na fig. 6.3. (a) Expressão booleana de termos máximos: Z = A + B (b) Tabela verdade OR A B Z ------------------------------------ 0 0 0 Inverte as variáveis A + B 0 1 1 A.B 1 0 1 A. B 1 1 1 A. B (c) Expressão boolena de termos mínimos: Z = A.B + A. B + A.B Figura 6.3 66