09.02.2014 Views

Fondamenti di Informatica B

Fondamenti di Informatica B

Fondamenti di Informatica B

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!