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