Lezione 5
La logica booleana
Sommario
? I principi della logica booleana
? Gli operatori logici
1
Variabili Booleane
? Variabile booleana=quantità che può assumere
solo due valori
? I due valori hanno il significato di: vero o falso
? Per convenzione si rappresentano come:
? Vero=1
? Falso=0
Logica Booleana
? Logica di Boole o Logica Booleana è la teoria che
tratta la manipolazione di variabili booleane
? L’aritmetica è la teoria che tratta la manipolazione dei
numeri
? La Logica Booleana fa uso di alcuni operatori
? In aritmetica gli operatori sono ad esempio: + -
? La combinazione degli operatori e delle variabili
permette di definire le funzioni booleane
2
Le funzioni Booleane
? Le funzioni booleane sono caratterizzate da una
o più variabile di ingresso e una variabile di
uscita
? In aritmetica una funzione ha il seguente aspetto:
z=3 x + 2 y
dove x e y sono variabili di ingresso e z è la variabile di
uscita
? Le variabili di ingresso sono dette indipendenti,
cioè possono assumere liberamente qualsiasi
valore
? La variabile di uscita è detta dipendente, cioè
una volta stabilito il valore assunto dalle
variabili di ingresso, è obbligata ad assumere un
valore
Rappresentazione degli operatori
della logica booleana
? Esistono due modi per rappresentare gli
operatori booleani:
? rappresentazione algebrica
? rappresentazione circuitale
? Rappresentazione Algebrica: per rappresentare
gli operatori si utilizzano dei simboli
? Rappresentazione Circuitale: è una
rappresentazione grafica dove gli operatori sono
rappresentati mediante porte collegate da
segmenti
3
Esempi di rappresentazioni
? Funzione in rappresentazione algebrica:
U=((X.Y)+X.Z) ? Y
? Funzione in rappresentazione circuitale:
X
Y
Z
U
DIREZIONE DEL SEGNALE
Rappresentazione Circuitale
? Nella rappresentazione circuitale il valore delle
variabili è un segnale
? Un segnale è qualcosa (attività elettrica) che può
essere presente o assente
? Per convenzione se presente è identificato con il
valore 1 se assente con il valore 0
? Il segnale può fluire in una unica direzione
? Si può pensare alle porte logiche come a piccoli
dispositivi che prendono in ingresso un segnale
e restituiscono in uscita un segnale trasformato
4
Tabella della verità
? Una funzione booleana può essere
rappresentata in modo esaustivo (ma non
compatto) tramite una tabella della verità
? la tabella contiene
? una colonna per ogni variabile di ingresso
? una colonna per ogni variabile di uscita
? una riga per ogni combinazione delle variabili di
ingresso
? tante righe quante sono tutte le possibili combinazioni
di di valori che gli ingressi possono assumere
? in corrsipondenza dei valori di ingresso è riportato il
valore assunto dalla variabile di uscita
Esempio di tabella di verità
? Funzione in rappresentazione algebrica:
U=((X.Y)+X.Z) ? Y
? Funzione in rappresentazione tabellare:
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
U
0
0
1
1
1
0
0
0
5
Esempio di rappresentazione tabellare
in aritmetica
? Funzione in rappresentazione algebrica:
Y=1+2X
? Funzione in rappresentazione tabellare:
X
0
1
2
3
Y
1
3
5
7
Operatori booleani
? Gli operatori sono:
? NOT: inversione
? AND : e
? OR: o
? EXOR o XOR: uno dei due
6
NOT
? L’operatore NOT restituisce l’opposto del valore
della variabile di ingresso
? Tabella
? Circuito
X
0
1
U
1
0
X
U
? Algebra: U=X
AND
? L’operatore AND si applica a due variabili di
ingresso. Ritorna 1 solo se entrambe sono 1.
? Tabella
X
0
0
1
1
? Circuito
X
Y
0
1
0
1
U
0
0
0
1
U
Y
? Algebra: U=X • Y
7
OR
? L’operatore OR si applica a due variabili di
ingresso. Restituisce 0 solo se entrambe sono 0.
? Tabella
X
0
0
1
1
? Circuito
Y
0
1
0
1
U
0
1
1
1
X
U
Y
? Algebra: U=X+Y
EXOR
? L’operatore EXOR o XOR si applica a due
variabili di ingresso. Restituisce 1 solo se solo
una delle due è 1.
? Tabella
X
0
0
1
1
? Circuito
X
Y
0
1
0
1
U
0
1
1
0
U
Y
? Algebra: U=X Y
8
Un operatore + l’operatore NOT
? Si può rappresentare la successione di un
operatore AND, OR, XOR e l’operatore NOT in
modo compatto con:
X
U
Y
X
U
Y
X
U
Y
Esempio
? Ad una festa in maschera il padrone di casa
costruisce un rilevatore automatico di costume
per determinare quali persone ammettere.
? La regola è la seguente:
? le persone devono avere baffi finti e occhiali
? inoltre devono avere o scarpe da pagliaccio o cappello
da pirata
? oppure devono avere un vestito in maschera completo
? ma non è ammesso chi ha un cane
? Un custode preme i tasti di un circuito e in
risposta ottiene/non attiene un segnale se la
persona è ammessa/non ammessa
9
Esempio...
? La prima condizione è che debbano avere sia
baffi finti che occhiali
Baffi
Ok
Occhiali
Esempio...
? Inoltre è necessario avere anche scarpe da
pagliaccio o cappello da pirata
Baffi
Occhiali
Ok
Scarpe
Cappello
10
Esempio...
? Chi ha un qualsiasi vestito completo può entrare
indipendentemente dalle altre condizioni,...
Baffi
Occhiali
Scarpe
Cappello
Ok
Vestito
Esempio.
? …ma chi ha un cane non può assolutamente
entrare
Baffi
Occhiali
Scarpe
Cappello
Vestito
Ok
Cane
11
Esempio
? Circuito con interruttori e lampadina:
? Se un interrutore A è aperto allora la corrente
non può passare, non c’e’ segnale, A=0
? Se un interruttore A è chiuso allora la corrente
passa, c’è segnale, A=1
A
OR
B
A
B
AND
A
B
A
B
Esercizio
? Dato un circuito elettrico per l’accensione di una
lampadina determinare la funzione booleana che
dà le condizioni per cui la lampadina è accesa.
12
Passare dalla Tavola della Verità alla
Funzione Algebrica
? Data una tavola della verità si può ricavare la
funzione booleana nel seguente modo:
? Si consideri solo le righe della tavola per le quali
la variabile di uscita è vera
? Infatti vogliamo scrivere le condizioni che rendono vera
la funzione. Necessariamente qualsiasi combinazione
di valori delle variabili in ingresso che non rendono
vera la funzione la rendono falsa.
? Una riga corrisponde a porre in AND i valori di
tutte le variabili
? Considerare due o più righe corrisponde a porre
in OR le espressioni trovate per le righe
Esempio
? Data la seguente tavola della verità:
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
U
0
0
1
1
1
0
0
0
? si considerano solo le righe che rendono vera la
variabile di uscita
13
Esempio
? Si considera una riga:
X
0
Y
1
Z
0
U
1
? quale è la relazione che lega i valori delle
variabili in ingresso affinche’ la variabile di
uscita sia vera (1)?
X.Y.Z=1
Esempio
? E procedendo analogamente per tutte le righe:
X
0
0
1
? si ottiene:
Y
1
1
0
Z
0
1
0
U
1
1
1
X.Y.Z=1
X.Y.Z=1
X.Y.Z=1
14
Esempio
? La variabile U è vera quando almeno una delle
tre condizioni trovate è vera
? Il valore di verità per la variabile U si ottiene
pertanto ponendo in OR lee condizioni trovate:
X.Y.Z + X.Y.Z + X.Y.Z = U
Passare da una funzione alla Tavola
della Verità
? Data una funzione la si scompone in termini
elementari
? Si riportano i valori assunti da termine
elementare in una colonna distinta della tavola
della verità
? Si usano i risultati parziali come valori di
ingresso per le espressioni successive
? Si determinano le variabili di uscita
15
Passare da un Circuito Logico alla
Tavola della Verità
? Dato un circuito logico si determina l’uscita di
ogni porta
? Per fare questo:
? Si riportano i valori assunti da ogni porta in una
colonna distinta della tavola della verità
? Si usano i valori di uscita di ogni porta come valori di
ingresso per le porte successive come indicato dal
circuito
? Si determinano le variabili di uscita
Passare da una funzione algebrica ad
un circuito
? Si elencano tutte le variabili di ingresso a
sinistra
? Si elencano tutte le variabili di uscita a destra
? Si riscrivono gli operatori tramite le porte a
cominciare dalle parentesi più interne
16