Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Algebra di Boole
2
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Tavole di verità
AND 0 1 OR 0 1
0 0 0 0 0 1
1 0 1 1 1 1
NOT 0 1
1 0
3
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esempio di espressioni
A B C A OR (B AND C) A AND (B OR (NOT C))
0 0 0 0 0
0 0 1 0 0
0 1 0 0 0
0 1 1 1 0
1 0 0 1 1
1 0 1 1 0
1 1 0 1 1
1 1 1 1 1
4
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Trasformazione
A B C f Si può specificare l’output di
0 0 0 0 ogni funzione booleana
esprimendo, tramite una
0 0 1 0
espressione booleana, quali
0 1 0 0
combinazioni delle variabili di
0 1 1 1 input determinano l’output 1
1 0 0 0 011-101-110-111
1 0 1 1 !ABC+A!BC+AB!C+ABC
1 1 0 1
1 1 1 1
5
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Prima forma canonica
Per passare dalla rappresentazione mediante tabella di verità alla
notazione tramite espressione booleana è necessario:
1. Identificare tutte le righe della tabella di verità che danno 1 in output;
2. Per ogni riga con un 1 in output scrivere la configurazione delle variabili
che la definiscono (tutte le variabili della configurazione saranno in AND
tra loro)
3. Collegare tramite OR tutte le configurazioni ottenute.
6
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio
A B C f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
7
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Risoluzione
!A!BC + !AB!C + A!B!C + ABC
8
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Equivalenza
Def. Due funzioni booleane si dicono equivalenti se
presentano lo stesso output per qualsiasi configurazione
dell’input.
AB!C + A!BC + ABC = A(B + C)
9
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Funzione più semplice
Determinare la più semplice funzione booleana equivalente alla
funzione data facilita l’interpretazione della funzione stessa e
permette di semplificare anche i circuiti logici corrispondenti.
10
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Proprietà dell’algebra di Boole
Commutativa a+b=b+a a*b=b*a
Associativa (a+b)+c=a+(b+c) (a*b)*c=a*(b*c)
Idempotenza a+a=a a*a=a
Assorbimento a+(a*b)=a a*(a+b)=a
Distributiva a*(b+c)=(a*b)+(a*c) a+(b*c)=(a+b)*(a+c)
Min e Max a*0=0 a+1=1
Elemento neutro a+0=a a*1=a
Complemento a*!a=0 a+!a=1
De Morgan !(a+b)=!a*!b !(a*b)=!a+!b
11
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio
Risoluzione:
• A(1+B)+C(B+!B)
• A+C
12
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Porte Logiche
Possiamo esprimere delle operazioni logiche attraverso le
porte logiche che simulano le funzioni dell’algebra di boole
13
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Equivalenza tra funzioni e circuiti
Esiste una equivalenza tra le funzioni logiche e le porte
elementari delle reti logiche (Shannon)
14
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Funzioni ed espressioni
x y z f
0 0 0 0
Espressioni equivalenti
0 0 1 1
f = x+y*!z+!y*z 0 1 0 1
f = x*!z+x*y+y*!z+!y*z
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
15
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esempio
16
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esempio
17
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
C=0 “rimango in casa”
Leggi A, B
C=1 “esco”
NO
Bel tempo A=1 Bel tempo
B=1 Caldo
SI C=1 Esco
NO A=0 Non bel tempo
Caldo Rimango in casa B=0 Non caldo
C=0 Resto a casa
SI
esco
Algoritmo semplice 18
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Lettura dell’IF
IF A AND B THEN C
SE bel tempo E caldo ALLORA esco
SE non bel tempo E caldo ALLORA resto a casa
SE bel tempo E non caldo ALLORA resto a casa
SE non bel tempo E non caldo ALLORA resto a casa
19
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Rete combinatoria
F(A,B,C) = AB + !C
20
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
F(0,0,0) = 1
21
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio
Applicando i teoremi dell’algebra di Boole, verificare la
seguente equivalenza tra espressioni
!A!B!C + B!C + A(B + !B!C) = AB + !C
22
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio
Applicando i teoremi dell’algebra di Boole, semplificare le
seguenti espressioni e disegnarne la tavola di verità e la rete
logica
AB!C + AB + AC + C
!A!BC + A!B + !A!B + AB
A + AB + B + BC
23
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio
Disegnare il circuito logico della seguente espressione
!((AB) + (!BC))
24
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Sintesi delle reti combinatorie
25
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio funzione maggioranza
Si chiede di sintetizzare (in 1° forma canonica) una funzione
combinatoria dotata di 3 ingressi A, B e C, e di un’uscita F,
funzionante come segue:
Se la maggioranza degli ingressi vale 0, l’uscita vale 0
Se la maggioranza degli ingressi vale 1, l’uscita vale 1
26
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Tabella funzione maggioranza
A B C f
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
27
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Schema logico
28
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Funzione combinatoria
Dallo schema logico della rete combinatoria così sintetizzata,
si può ricavare la funzione combinatoria data come
espressione booleana come somma di prodotti
F(A, B, C) = !A B C + A !B C + A B !C + A B C
29
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Reti equivalenti
F1 = AB + AC
F2 = A(B + C)
F1 = AB + AC =
= A(B + C) = F2
30
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Operazioni NAND e NOR
NAND NOR
A B f A B f
0 0 1 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 0
31
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Rete NAND e NOR
32
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
XOR o OR Esclusivo
AB = !AB + A!B
A B
0 0 0
0 1 1
1 0 1
1 1 0
33
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizi
F = !(!(!A+!B)+!(!A+!C))
F = CD!B+A+!C
F = (A+B+!C+D)(A+!B+!C+D)(A+!B+!C+!D)
34
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
A B C D F
0 0 0 0 0
Esercizi 0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
35
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Mappa di Karnaugh
A B f
0 0 0
0 1 1 B A 0 1
1 0 1 0 0 1
1 1 0 1 1 0
36
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Mappa di Karnaugh a 3 valori
A B C F
0 0 0 1
AB
0 0 1 0 C 00 01 11 10
0 1 0 0 0 1 0 0 1
0 1 1 1
1 0 0 1
1 0 1 1 0
1 0 1 0
1 1 0 0
1 1 1 1
37
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Mappa di Karnaugh a 4 valori
A B
CD
C D F
AB 00 01 11 10
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
00 1 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 1
0
1
1
1
1
0
1
0
0
01 1 1 0 0
1 0 0 0 1
1
0
0
0
1
1
0
1
1
11 0 1 1 0
10 1 1 1
1 0 1 1 0
1 1 0 0 0 0
1 1 0 1 1
1 1 1 0 0
10 0 1 1 0
39
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio
F=!A!B!C + !A!BC + A!B!C + A!BC
F=!AC!D + !ABC + B!CD + A!C
F=(A+!B+C)(!A+!B+C)(A+!B+!C)(!A+!B+!C)
F=(!B+!C+D)(A+!C+!D)(B+C+!D)(!A+C+D)
40
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Equivalenza tra Karnaugh e
le reti logiche
41
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Semplificazione
Per n variabili si può dire che:
Due 1 adiacenti rappresentano un prodotto di n-1 variabili
Quattro 1 adiacenti rappresentano un prodotto di n-2 variabili
Otto 1 adiacenti rappresentano un prodotto di n-3 variabili
Sedici 1 adiacenti rappresentano un prodotto di n-4 variabili
Etc…
42
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Metodo di minimizzazione
Si rappresenta la funzione logica sulla mappa
Si localizzano sulla mappa i più grandi raggruppamenti
possibili di 1 adiacenti che formano potenze di due
Si sceglie il numero minimo di raggruppamenti che
copre tutti gli 1 della mappa tenendo presente che
eventuali termini isolati debbono essere riportati
integralmente
43
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esempio
f = !A!B!C + !ABC + !AB!C + A!B!C + A!BC
AB
C 00 01 11 10
0 1 1 0 1
1 0 1 0 1
f = !AB + !A!C + A!B
f = !AB + A!B +!B!C
44
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Reti logiche
45
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esempio
AB
CD 00 01 11 10
00 1 0 0 1 f = !B!C + !CD + ABD + !ABC!D
01 1 1 1 1
11 0 0 1 0
10 0 1 0 0
46
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Rete logica
47
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Funzione a 5 variabili
f = !A!BC!DE + !ABC!DE + !A!BCDE + !ABCDE + ABC!DE
+ ABCDE + A!B!CDE + A!B!CD!E
48
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Minimizzare funzione a 5 variabili
A=0 A=1
BC BC
DE 00 01 11 10 DE 00 01 11 10
00 0 0 0 0 00 0 0 0 0
01 0 1 1 0 01 0 0 1 0
11 0 1 1 0 11 1 0 1 0
10 0 0 0 0 10 1 0 0 0
F = !ACE + A!B!CD + BCE
49
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio 1
AB
CD 00 01 11 10
00 0 0 0 0
01 1 0 1 1
11 1 1 1 1
10 0 1 0 0
50
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio 2
AB
CD 00 01 11 10
00 0 1 0 0
01 1 1 1 1
11 1 0 1 1
10 0 0 0 0
51
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio 3
AB
CD 00 01 11 10
00 0 1 1 0
01 1 0 0 1
11 1 0 0 1
10 0 1 1 0
52
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio 4
AB
CD 00 01 11 10
00 1 1 0 0
01 1 1 0 1
11 1 0 0 1
10 0 1 1 0
53
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio 5
AB
CD 00 01 11 10
00 1 1 0 1
01 1 1 0 0
11 1 1 0 0
10 1 1 0 1
54
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio 6
AB
CD 00 01 11 10
00 0 1 1 0
01 1 0 1 1
11 1 0 1 1
10 0 1 1 0
55
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio 7
AB
CD 00 01 11 10
00 1 1 1 1
01 1 1 1 1
11 0 0 0 0
10 0 1 1 0
56
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio 8
A=0 A=1
BC BC
DE 00 01 11 10 DE 00 01 11 10
00 0 0 0 0 00 0 0 0 1
01 0 1 1 1 01 0 1 1 1
11 0 1 1 0 11 0 1 1 0
10 1 0 0 0 10 1 0 0 0
57
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizio 9
A=0 A=1
BC BC
DE 00 01 11 10 DE 00 01 11 10
00 0 0 0 0 00 0 0 0 0
01 1 1 1 1 01 0 1 1 0
11 1 1 1 1 11 0 1 1 0
10 0 0 0 0 10 0 0 0 0
58
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Esercizi
F=!A!B!C + !A!BC + A!B!C + A!BC
F=!AC!D + !ABC + B!CD + A!C
F=(A+!B+C)(!A+!B+C)(A+!B+!C)(!A+!B+!C)
F=(!B+!C+D)(A+!C+!D)(B+C+!D)(!A+C+D)
F=!ABCD+ABCD+A!BCD+!AB!CD
F=!ABCD+ABCD+A!BCD
F=!A!BC+!AB!C+!BC+ABC
F=!A!BCD+!AB!C!D+!ABC!D+A!BCD+AB!C!D+AB!CD+ABC!D
59
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Somma di numeri binari
Regole
0+0=0
0+1=1
1+0=1
1 + 1 = 0 con riporto di 1
60
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Sottrazione di numeri binari
Regole
0–0=0
1–1=0
1–0=1
0 – 1 = 1 con prestito di 1
61
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Sottrazione con complemento a 2
Trasformo la sottrazione in somma utilizzando il
complemento a 2 del secondo termine
Cambio degli 1 con 0 e viceversa, più 1
La sottrazione 0101 – 0011
Equivale alla somma 0101 + 1101
62
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)
Prodotto di numeri binari
Regole
0*0=0
0*1=0
1*0=0
1*1=1
63
Prof.ssa E. Gentile Fondamenti dell'Informatica (ICD-TA)