Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico 1 1 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Algebra di Boole Il nome viene da George Boole, un matematico che defin delle strutture matematiche, dette appunto algebre di Boole detta anche logica delle proposizioni . . una frase pu assumere solo uno dei due valori di YHULWj: o VERA o FALSA valori booleani booleani ( (operandi operandi) ) solo due valori: vero (1) e falso (0) 2 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Algebra di Boole Operatori ed Operazioni connettivi logici permettono di formare frasi pi complesse e valutarne la YHULWj operatori logici not, , (unario) - Mego;ione logico and, , x (binario) Prodoffo logico or, , + (binario) Sommo logico B lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico Z 3 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Negazione (not) - Tavola di verit 0 1 1 0 not x x Data una generica frase [ : loperatore di negazione QRW ne inverte il valore 4 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Esempi di not x: 'piove' not x:'non piove' Possibili notazioni: not x oppure x oppure x _ lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico 3 5 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Somma (OR) - Tavola di verit 1 1 1 1 0 1 1 1 0 0 0 0 x or y y x Possibili notazioni: : x or y oppure x y oppure x + y Data due (o pi) generiche frasi [ e \ la frase risultante dalla loro somma logica vera se almeno una vera 6 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Esempi di or x: 'Benevento capoluogo di provincia' VERO y: 'il Napoli gioca in serie B' FALSO z: 'Benevento capitale d'Italia' FALSO x or y: 'Benevento capoluogo di provincia oppure il NA gioca in serie B' 9(52 y or z: 'Il Napoli gioca in serie B oppure Benevento capitale d'Italia' )$/62 lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico 4 7 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Prodotto (AND) - Tavola di verit 1 1 1 0 0 1 0 1 0 0 0 0 x and y y x Possibili notazioni: : x and y oppure x y oppure x x y Data due (o pi) generiche frasi [ e \ , la frase risultante dal loro prodotto logico vera se tutte sono vere 8 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Esempi di and x: 'Benevento capoluogo di provincia' VERO y: 'il Napoli gioca in serie B' FALSO x and y: 'Benevento capoluogo di provincia e il Napoli gioca in serie B' )$/62 x: la terra un pianeta' VERO y: la luna un satellite della terra' VERO x and y: la terra un pianeta e la luna un satellite della terra' 9(52 lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico 9 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Precedenza degli operatori logici Operatore unario: not Operatore binario: and Operatore binario: or 10 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Esempio Supponiamo di avere tre informazioni: a, b, c Sia: a VERA b FALSA c FALSA quanto vale l`espressione: a or b and c ? a or (b and c) 9(5$ lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico o 11 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Tabella di verit di: a or (b and c) 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 1 a or (b and c) b and c c b a 12 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Teoremi fondamentali Identit: 1xx=x 0+x=x Nullo: 0xx=0 1+x=1 Idempotenza: xxx=x x+x=x Inverso: (not x)xx=0 (not x)+x=1 Commutativa: xxy=yxx x+y=y+x Associativa: (xxy)xz=xx(yxz) (x+y)+z=x+(y+z) Distributiva: xx(y+z)=xxy+xxz x+(y xz)=(x+y)x(x+z) x = and + = or = not - Principio di duaIit: Principio di duaIit: derivabili luna dallaltra scambiando: + con x 0 con 1 lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico 7 13 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Valgono le propriet distributive x and (y or z) (x and y) or (x and z) ("mi piace" e "ho i soldi") oppure ("mi piace" e "ho la carta di credito") quella penna mi piace" e ( "ho i soldi" oppure "la carta di credito")
14 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Teorema di De Morgan (x x y) = x + y (x + y) = x x y - - - - Esempio: non (ho i soldi o ho la carta di credito)
non ho i soldi e non ho la carta di
credito 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 x x y (x+y) y x - - lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico 8 15 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Porte logiche and or not Rappresentazione circuitale delle operazioni logiche 16 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio and realizzato con interruttori {aperto = 0, chiuso = 1} x y x and y aperto aperto aperto chiuso aperto aperto aperto chiuso aperto chiuso chiuso chiuso x y x and y 0 0 0 1 0 0 0 1 0 1 1 1 and Confoffi in serie x y SLOD lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico 9 17 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio and realizzato con interruttori {aperto = 0, chiuso = 1} x y x and y aperto aperto aperto chiuso aperto aperto aperto chiuso aperto chiuso chiuso chiuso x y x and y 0 0 0 1 0 0 0 1 0 1 1 1 and x y SLOD Confoffi in serie 18 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Esempio y = ((a or b) and (not c)) or (c and d) circuito d b c a y lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico 10 19 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio d b c a y 1 0 0 0 1 1 1 0 1 20 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio y = ((a or b) and (not c)) or (c and d) 1 0 0 0 1 0 0 0 c and d 0 0 1 1 0 0 0 0 (a or b) and (not c) 1 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 y not c a or b d c b a lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico 11 21 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio y = ((a or b) and (not c)) or (c and d) 1 0 0 0 1 0 0 0 c and d 0 0 1 1 0 0 1 1 (a or b) and (not c) 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 y not c a or b d c b a 22 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Semplificazione F = xxyxz + xxyxz + xxz GLVWULEXWLYD - - - Il vantaggio dellalgebra di Boole sta nel fatto che permette la semplificazione dei circuiti Esempio = xxyx(z+z) + xxz LQYHUVR - - = xxy + xxz - = xxyx1 + xxz LGHQWLWj - lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico 1Z 23 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio F = xxyxz + xxyxz + xxz - - - F = xxy + xxz - Le due funzioni sono equivalenti: hanno la stessa tabella di verit ma la seconda funzione realizzabile con un circuito pi semplice 24 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Esercizio Scrivere unespressione booleana che determina se: il valore di una variabile i nellintervallo da 1 a 100, estremi inclusi 1. (i>=1) 2. (i<=100) (i>=1) and (i<=100) lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico 13 25 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Esercizio Scrivere unespressione booleana che determina se: il valore di una delle due variabili intere j e k multiplo dellaltro (j % k = 0) (k % j = 0) (j % k = 0) or (k % j = 0) Corretto?? imporre con j e k diversi da 0 (j = 0) and (k = 0) 26 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio lemenfi di Informofico o,o, Z008/09 - Prof, 0,A, Di Lucco Focolf di Ingegnerio - Univ, del Sonnio - CdL Ingegnerio nergefico 14 27 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Esercizio Valutare e disegnare il circuito F = (not a) and b G = (not a) or b 28 Elementi di Informatica Prof. G. A. Di Lucca - Univ. del Sannio Soluzione: F 0 0 1 0 F = (not a) and b 0 1 1 0 0 1 1 1 0 1 0 0 not a b a b a F