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