Baixe o app para aproveitar ainda mais
Prévia do material em texto
Expressões Lógicas Neste tópico abordaremos a álgebra booleana e os operadores relacionais e lógicos da linguagem C. 2 Álgebra Booleana A álgebra booleana é um sistema algébrico, cujo desenvolvimento inicial dos fundamentos é devido ao inglês George Boole (1815-1864) Através de postulados, identidades e propriedades da álgebra booleana é possível simplificar expressões lógicas 3 Álgebra Booleana Variáveis booleanas são representadas por letras que podem assumir dois valores: 0 e 1 Os operadores booleanos são: Complemento (—) Disjunção (+) Conjunção (.) Uma expressão booleana é aquela em que as variáveis e operadores são booleanos 4 Postulado do complemento Seja o complemento de A: Se A = 0, logo = 1 Se A = 1, logo = 0 Através deste postulado definimos a identidade A = A Ā Ā Ā Ā 5 Postulado da Disjunção As regras da disjunção (+) na álgebra booleana são: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1 Através do postulado definimos as seguintes identidades: A + 0 = A A + 1 = 1 A + A = A A + = 1Ā 6 Postulado da Conjunção As regras da conjunção (.) na álgebra booleana são: 0 . 0 = 0 0 . 1 = 0 1 . 0 = 0 1 . 1 = 1 Através do postulado definimos as seguintes identidades: A . 0 = 0 A . 1 = A A . A = A A . = 0Ā 7 Propriedade Comutativa (1/2) Propriedade comutativa da disjunção A + B = B + A A B A + B B + A 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 8 Propriedade Comutativa (2/2) Propriedade comutativa da conjunção A . B = B . A A B A . B B . A 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 9 Propriedade Associativa (1/2) Propriedade associativa da disjunção A + B + C = (A + B) + C = A + (B + C) A B C A+B+C (A+B)+C A+(B+C) 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 10 Propriedade Associativa (2/2) Propriedade associativa da conjunção A . B . C = (A . B) . C = A . (B . C) A B C A.B.C (A.B).C A.(B.C) 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 11 Propriedade Distributiva A . (B + C) = A . B + A . C A B C A.(B+C) A.B + A.C 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 12 Teoremas de De Morgan (1/2) 1º teorema: o complemento da conjunção é igual a disjunção dos complementos A.B=A+B A B A.B A+B 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 13 Teoremas de De Morgan (2/2) 2º teorema: o complemento da disjunção é igual a conjunção dos complementos (A+B)=A .B A B (A+B) A.B 0 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 14 Identidades Auxiliares A+AB = A A+AB = A+B (A+B).(A+C) = A+BC 15 Exercício Monte a tabela verdade das identidades auxiliares 16 Simplificação de Expressões É possível simplificar expressões booleanas utilizando os postulados, identidades, propriedades e os teoremas de De Morgan 17 Simplificação de Expressões Exemplo: S = A.B.C + AC + AB S = A.(B.C + C + B) S = A.(B.C + (C + B)) S = A.(B.C + (B + C)) S = A.(B.C + B.C) S = A.1 S = A Evidenciando A (propriedade distributiva) Propriedade associativa Propriedade comutativa 1º teorema de De Morgan Identidade: A + A = 1 18 Exercício Simplifique as expressões booleanas abaixo a) S = (A+B+C).(A+B+C) b) S = (A+B+C).(A+B+C) c) S = A.B.C+A.B.C+A.B.C+A.B.C+A.B.C 19 Expressões Lógicas em C Verdadeiro e Falso em C Representa verdadeiro e falso por valores inteiros, 1 e 0, respectivamente Qualquer coisa diferente de 0 é verdadeira C99 _Bool stdbool.h bool true false 20 Expressões Lógicas em C Operadores relacionais Símbolo Operação < Menor que > Maior que <= Menor ou igual que >= Maior ou igual que == Igual != Diferente 21 Expressões Lógicas em C Operadores lógicos Símbolo Operação && E lógico (conjunção) || OU lógico (disjunção) ! NEGAÇÂO lógica (complemento) 22 Expressões Lógicas em C Prioridade dos operadores lógicos Os operadores aritméticos têm prioridade sobre os relacionais que por sua vez têm prioridade sobre os lógicos a + b > c – d * 2 || f >= g + 1 && !h 1º Os operadores unários têm prioridade sobre os binários 2º3º 4º 5º6º 7º 8º9º Operador Prioridade ! 1º && 2º || 3º 23 Referências SCHILDT, Herbert. C Completo e Total. 3. ed., Makron Books, 1997. DEITEL, H.M.; DEITEL, P.J.. Como Programar em C. LTC, 2. ed., 1999. MIZRAHI, V.V.. Treinamento em Linguagem C. Módulo 1, Makron Books, 1990. PRATA, Stephen. C Primer Plus. 5. ed., Sams, 2004. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23
Compartilhar