Fondamenti di Informatica B

annuncio pubblicitario
Fondamenti di Informatica B
Esercitazione n.1
Algerba booleana
„ Tabelle della verità
„ Diagrammi di Venn
„ Elementi logici
„
Fondamenti di Informatica B
Esercitazione n.1
Esercitazione n.1 – Algebra booleana
Esercizio 1
Riepilogo teorico
„
„
„
„
„
„
„
„
„
„
„
„
„
„
A
A
A
A
A
A
A
A
A
A
A
A
A
A
+0=A A+1=1
•1=A
A•0=0
+B=B+A
•B=B•A
• (B + C) = A •B + A • C
+ (B • C) = (A +B) • (A + C)
•A=0 A+A=1
+ (B + C) = (A + B) + C
(BC) = (AB) C
+A=A
•A=A
+B =A • B
•B=A+B
= A
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
2
Fondamenti di informatica B
„ Verificare con diverse metodologie la seguente equivalenza:
A B + A B C + A C D +A B C D +A C D +A B D +B C D + B C D =
A B C + A B +D
„
Soluzione con algebra di Boole (semplifico la parte sinistra):
A B + A B C + A C D +A B C D +A C D +A B D +B C D + B C D =
A B ( C + 1)
A B +
C D (A + A )
C D +A B C D +
C D (B + B )
+A B D + C D =
A B (D + 1) + C D (A B + 1) + A B C D + A B D + C D =
3
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
4
1
Esercizio 1
Esercizio 1
„
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
A B + A B D +A B D +A B C D +A B C D + C D +C D =
B D (A + A )
A B +
B D +
A B C (D + D )
A B C +
D (C + C )
D =
D (B + 1)
A B C + A B +D
Esercitazione n.1 – Algebra booleana
uguaglianza verificata
Fondamenti di informatica B
5
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
Soluzione con tabella di verità:
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
ABABCACDABCD ACD ABD BCDBCD
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
Esercitazione n.1 – Algebra booleana
Esercizio 1
„
„
Fondamenti di informatica B
6
Dato che A + B = 1 e AB = 0, verificare utilizzando delle trasformazioni
algebriche che:
A C + A B +BC = B +C
„
Soluzione:
A C + A B +BC = B +C
raccolgo C
C (A + B ) + A B = B + C
essendo A + B = 1
C + A B =B +C
C + A B +A B =B +C
essendo A B = 0 posso sommarlo
C + B (A + A ) = B + C
essendo A + A = 1
uguaglianza verificata
C +B =B +C
Fondamenti di informatica B
D II
0 0
1 1
0 0
1 1
0 1
1 1
0 1
1 1
0 1
1 1
0 0
1 1
0 0
1 1
0 0
1 1
Esercizio 2
Soluzione con diagrammi di Venn:
impossibile perché i diagrammi di Venn si possono utilizzare per
verificare equivalenze con un massimo di 3 variabili.
Esercitazione n.1 – Algebra booleana
I ABC AB
0
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
0
1
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
7
Esercitazione n.1 – Algebra booleana
raccolgo B
Fondamenti di informatica B
8
2
Esercizio 3
„
„
Esercizio 3
Semplificare la seguente espressione ed implementarla con sole
porte NOR:
A B C +A C + A C D
Soluzione:
Trasformiamo in un’espressione con sole porte NOR
A B +A C +C D =
A B C +A C + A C D =
A B C + A C ( B + 1) + A C D =
A B C +A B C +A C + A C D =
A B (C + C )
doppia negazione
A +B + A + C + C +D =
DeMorgan
(A + B ) (A + C ) (C + D ) =
DeMorgan
(A A + A C + A B + B C ) (C + D ) =
A B +A C + A C D =
A B + A C ( D + 1) + A C D =
A B +A C +A C D + A C D =
(A + A C + A B + B C ) (C + D ) =
A (1 + C + B )
C D (A + A )
(A + B C ) (C + D ) =
A B +A C +C D
Esercitazione n.1 – Algebra booleana
A B + A C + C D =
9
Fondamenti di informatica B
Esercitazione n.1 – Algebra booleana
Esercizio 3
Esercizio 3
Trasformiamo in un’espressione con sole porte NOR
Oppure con il metodo delle mappe di Karnaugh
B +C
A C + A D +B C C +B C D =
AB
00
CD
A C + A D +B C +B C D =
A+C
B C (1 + D )
A+D
A C + A D +B C =
A C +A D + B C =
(A + C ) + (A + D ) + ( B + C )
10
Fondamenti di informatica B
01
11
10
00
0 0
0 1
01
0 0
0 1
11
0 0
1 1
10
1
1 1 1
A B C
AC
A C D
doppia negazione
(A + C ) (A + D ) ( B + C ) = (A + C ) (A + D ) ( B + C ) =
DeMorgan
(A + C ) + (A + D ) + ( B + C )
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
11
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
12
3
Esercizio 3
Esercizio 4
„
Da cui si ricava il seguente circuito
A B C D
Scrivere la funzione F(A, B, C, M, N) sotto una forma in cui la variabile A
compaia solo una volta affermata e negata e semplificare l’espressione
ottenuta.
F = A B C + D (A + M + N ) + A (B + M ) + A N
„
N .B . L a funzione deve assumere la forma A ( ) + A ( )
Soluzione:
A B C + D (A + M + N ) + A (B + M ) + A N
A B C + A D + D M + D N +A B +A M +A N
A B C + A D + D M (A + A ) + D N (A + A ) + A B + A M + A N
A B C + A D +A D M + A D M +A D N + A D N +A B +A M +A N
A ( B C + D M + D N + B + M + N ) + A (D + D M + D N )
Esercitazione n.1 – Algebra booleana
13
Fondamenti di informatica B
Esercitazione n.1 – Algebra booleana
Esercizio 4
„
Verificare con diverse metodologie la seguente equivalenza:
„
Soluzione con algebra di Boole (semplifico la parte sinistra):
A B C +A B C +A C + C =A + C +A C
D (1 + M + N )
A B C +A B C +A C + C =A + C +A C
A (B C + B + D M + M + N ) + A ( D )
A B (C + C )
A (B C + B (C + 1) + D M + M ( D + 1) + N ) + A D
A (1 + C )
A B +
A C + C =A + C
A B + A C + C (A + 1) = A + C
A (B C + B C + B + D M + M D + M + N ) + A D
C (B + B )
14
Esercizio 5
A ( B C + D M + D N + B + M + N ) + A (D + D M + D N )
N ( D + 1)
Fondamenti di informatica B
A B +A C +A C + C =A + C
D (M + M )
A (B + C + C )
A (C + B + D + M + N ) + A D
A (B + 1)
A + C =A + C
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
15
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
16
4
Esercizio 5
„
Esercizio 5
Soluzione con tabella di verità:
A B C ABC ABC AC
C
I
A
C
AC
II
0 0 0
0
0
0
1
1
0
1
0
1
0 0 1
0
0
0
0
0
0
0
0
0
0 1 0
0
0
0
1
1
0
1
0
1
0 1 1
0
0
0
0
0
0
0
0
0
1 0 0
0
0
0
1
1
1
1
0
1
1 0 1
0
0
1
0
1
1
0
1
1
1 1 0
1
0
0
1
1
1
1
0
1
1 1 1
0
1
1
0
1
1
0
1
1
Esercitazione n.1 – Algebra booleana
Soluzione con diagrammi di Venn:
„
Fondamenti di informatica B
B
A
C
C
ABC
A B C
17
AC
Esercitazione n.1 – Algebra booleana
C
A
AC
C
18
Fondamenti di informatica B
Esercizio 6
„
„
U
U
Esercizio 6
„
B
A
Disponendo unicamente di porte NAND a due ingressi e di porte NOT:
a. Progettare un circuito che realizzi la funzione NAND a 4 ingressi
b. Generalizzare la soluzione nel caso di una funzione NAND a più di 4
ingressi
Soluzione b
C on 8 ingressi:
A B C D E F G H = A B + C D + E F + G H =
Soluzione a
A B + C D + E F + G H = A B
A B C D = A B + C D = A B + C D = A B C D
A B
C D + E F
A
B
A
B
C
D
C
D
E
F
G H
C D + E F
= A B C D
E F
G H =
G H
G
H
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
19
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
20
5
Esercizio 6
Esercizio 6
C on 5 ingressi:
Con 6 ingressi
A B C D E = A B + C D + E = A B + C D + E =
A B
C D + E = A B C D + E = A B
C D E
A
B
A
B
C
D
C
D
E
F
E
Ogni NAND può avere in ingresso un circuito NAND-NOT o un ingresso del circuito
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
21
Esercitazione n.1 – Algebra booleana
Esercizio 7
Esercizio 7
Si scriva la tavola della verità della seguente funzione
logica, e se ne trovi l’espressione minima con una tecnica a
scelta:
F = (A ⊕ B) + ( A + B C )
Si verifichi l’equivalenza tra l’espressione della funzione F e
la sua espressione minima utilizzando le regole
dell’algebra booleana.
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
22
Fondamenti di informatica B
23
A
B
C
A⊕B
BC
A+B C
(A ⊕ B) + ( A + B C )
0
0
0
0
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
24
6
Esercizio 7
Esercizio 8
„
BC
A
0
1
00
1 1
01
1 1
11
1 0
10
1
0
F =A+B
(A ⊕ B) + ( A + B C ) =
La seguente uguaglianza è verificata? Giustificare la risposta.
A B D +C D A +E D A + C D A =D A + C A
A B + A B + (A + B C ) =
„
A B + A B + (A B C ) =
Soluzione con algebra di Boole (e considerazioni):
A B + A B + A (B + C ) =
A B D +C D A +E D A + C D A =D A + C A
A B +A B+A B +A C =
A (B D + C D + E D + C D ) = A (D + C )
A B +A B+A B +A B +A C =
A (B + B + C ) + B (A + A) =
Se A=0 l’uguaglianza è verificata.
Se A=1 otteniamo:
A+B
B D +C D +E D + C D =D + C
D (B + C + E ) + C D = D + C
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
25
Esercitazione n.1 – Algebra booleana
Esercizio 8
Esercizio 8
D (B + C + E ) + C D = D + C
Se D = 0 l’uguaglianza è sempre verificata
(infatti D = 1 , perciò otteniamo C = C )
Se D = 1 (perciò D = 0 ) otteniamo
B +C +E =1
Che NON è verificata se B = 0, C = 0, E = 0.
L’uguaglianza non è verificata per A=1, B=0, C=0, D=1, E=0.
Lo stesso si ottiene con la tabella delle verità:
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
26
Fondamenti di informatica B
27
A
B
C
D
E
ABD
CDA
EDA
CDA
I
DA
CA
II
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
28
7
Esercizio 8
A
B
C
D
E
ABD
CDA
EDA
CDA
I
DA
CA
II
1
0
0
0
0
0
0
0
1
1
0
1
1
1
0
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
1
1
0
1
Esercitazione n.1 – Algebra booleana
Fondamenti di informatica B
29
8
Scarica