Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica

Un esercizio semplice
Dimostrare che A * A’ = 0 e A + A’ = 1 Si usino le tabelle di verità A 0 1 A’ 1 0 A * A’ 0 0 A + A’ 1 1

FONDAMENTI DI INFORMATICA 1
http://www.diee.unica.it/~marcialis/FI1 A.A. 2008/2009

Docente: Gian Luca Marcialis

Esercitazione ALGEBRA DI BOOLE CODIFICA BINARIA DELL’INFORMAZIONE
Fondamenti di Informatica 1 - A.A. 2008/09 - Ing. Gian Luca Marcialis 2

Il teorema di De Morgan
Si verifichi l’uguaglianza (A + B)’ = A’ * B’ utilizzando
le proprietà dell’algebra booleana le tabelle di verità

Semplificazione di espressioni booleane
Si semplifichi la seguente espressione applicando le proprietà e i teoremi dell’algebra booleana: A*B’ + C*A’ + A*C Soluzione:
= C * (A’ + A) + A*B’ = {prop. distributiva} = C + A*B’ {prop. El. Complementare + neutro} Verificare che il numero di operatori booleani richiesti dopo la semplificazione sia inferiore a quello iniziale
− Inizialmente: 3 AND, 2 OR, 2 NOT − Semplificando: 1 AND, 1 OR, 1 NOT

Soluzione
Per la proprietà dell’elemento complementare: (A+B)’ * (A+B) = 0 Quindi anche A’ * B’ * (A+B) = 0 Sviluppando l’espressione precedente: A’ * B’ * A + A’ * B’ * B = A’ * A * B + A’ * B’ * B = 0 + 0 = 0 c.v.d.

Fondamenti di Informatica 1 - A.A. 2008/09 - Ing. Gian Luca Marcialis

3

Fondamenti di Informatica 1 - A.A. 2008/09 - Ing. Gian Luca Marcialis

4

2008/09 . complementare} Dal compito del 4/2/2009 Date tre variabili booleane. 0. Gian Luca Marcialis 5 Nota bene: la forma ottenuta è del tipo C + A*B’ (vedi slide n. 2008/09 . l’algoritmo termina Convertire il decimale 11 in binario Soluzione: Algoritmo delle divisioni successive. 5.11 − Ottenuto come segue: 0. 2008/09 . resto 1}. Gian Luca Marcialis 8 .A. • Lo scritto ha voto >= 16 Scritto_Insufficiente’ == 1 • E l’orale è stato superato Orale_Superato == 1 Verificare l’uguaglianza con le tavole di verità Fondamenti di Informatica 1 .5 * 2 = 1. Il resto corrisponde alle cifre binarie a partire da quella meno significativa 11/2={quoz. espresso in cifre binarie. ottenendo: 13 = 1101 Per la parte frazionaria si usa l’algoritmo delle moltiplicazioni successive 0. Gian Luca Marcialis 7 Quindi: 13.Ing. 5/2 = {2.5.7510 in binario Soluzione Si separano parte intera e parte frazionaria Per la parte intera si usa l’algoritmo delle divisioni successive. 4) Fondamenti di Informatica 1 .Dal compito del 8/7/2008 Semplificare la seguente espressione con i teoremi dell’algebra booleana: A*B’ + B*C + A*C’ Soluzione = A * (B’ + C’) + B*C = = A * (B*C)’ + B*C = = (A + B*C) * ((B*C)’ + B*C) = = A + B*C {commutatività + distributività} { De Morgan} {distributività + el.A.A.Ing. nella rappresentazione decimale Soluzione Si usa l’algoritmo di conversione: X = 1*23 + 0*22 + 1*21 + 1*20 = 8 + 0 + 2 + 1 = 1110 Aritmetica in virgola fissa Esprimere 13.A. 1/2 = {0. 2/2 = {1.75 * 2 = 1.75 = 0.A.A.Ing.A. Gian Luca Marcialis 6 Esercizi di aritmetica binaria Convertire 1011. 0}.A. 2008/09 . che descrivono tre eventi relativi all’esame di Fondamenti di Informatica 1: Scritto_Soddisfacente == 1 voto conseguito allo scritto > 20 Orale_Superato == 1 orale OK Scritto_Insufficiente == 1 voto conseguito allo scritto < 16 Esprimere la variabile Esame_Superato in funzione delle precedenti.7510 = 1101.112 Fondamenti di Informatica 1 . secondo le regole di Fondamenti di Informatica 1 Soluzione: Esame_Superato = Scritto_Soddisfacente + Orale_Superato * Scritto_Insufficiente’ Infatti Esame_Superato == 1 quando: − Lo scritto ha voto > 20 Scritto_Soddisfacente == 1 − Oppure. 1}.0 − Poiché la parte frazionaria dopo l’ultima iterazione è zero. 1} Fondamenti di Informatica 1 .Ing.

Ing.A. voglio implementare l’algoritmo dell’elevamento a potenza Y = BE In questo caso abbiamo una “produttoria”: Y = ∏ B = B ⋅ B ⋅ . Y=1 Finché i<=E − Y=Y*B − i=i+1 Ripeti Abbiamo anticipato l’espressione “Finché” così l’algoritmo funziona anche se E = 0..Conversione in virgola mobile Esprimere il valore dell’esercizio precedente in virgola mobile secondo la convenzione 1.A.Ing.A. E.10111 * 2011 Si ottiene dunque b  10111. Fondamenti di Informatica 1 .. 2008/09 . 2008/09 . ed il risultato lo assegno di nuovo ad A”. Gian Luca Marcialis 11 . 2008/09 . unico valore in parte intera Soluzione 1101. posto a zero. gli sommo B. la seguente sommatoria: Y = ∑ X = X + X + .A.A. ⋅ B = B E i =1 E Soluzione Appoggiamoci sempre ad i come “contatore” L’espressione A = A + B può anche essere A = A * B che significa “prendo il vecchio valore di A. Gian Luca Marcialis 9 Alcuni semplici algoritmi in pseudocodice: l’algoritmo del prodotto Si supponga di implementare l’algoritmo del prodotto di due valori X e N come N volte la somma di X In altri termini. + X = X ⋅ N Soluzione i =1 N Utilizziamo i come indice per contare il numero di volte che sommiamo X con sé stesso Ricordando che l’espressione A = A + B significa: “prendo il vecchio valore di A. Gian Luca Marcialis 10 L’algoritmo della potenza Con lo stesso criterio precedente.A. E  011 Fondamenti di Informatica 1 .11 = 1101.11 * 23 * 2-3 = 1. Output Y = X * N i=0 Y=0 Ripeti • Y=Y+X • i=i+1 − Finché i < N Fondamenti di Informatica 1 .Ing. posso scrivere l’algoritmo come segue: − − − − Input: X e N... gli moltiplico B ed il risultato lo assegno ad A” Input: B. indica segno positivo): 1. Output: Y = BE i=1.10111 * 23 Esprimendo per esempio l’esponente in segno e valore con tre bit (quello più significativo.b * 2E ‘b’ è la parte della mantissa che precede l’1 più significativo.

Sign up to vote on this title
UsefulNot useful