You are on page 1of 14

lemenfi di Informofico o,o, Z008/09 -

Prof, 0,A, Di Lucco


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

You might also like