Professional Documents
Culture Documents
A A’ A * A’ A + A’
0 1 0 1
Docente: Gian Luca Marcialis
1 0 0 1
Esercitazione
ALGEBRA DI BOOLE
CODIFICA BINARIA DELL’INFORMAZIONE
Fondamenti di Informatica 1 - A.A. 2008/09 - Ing. Gian Luca Marcialis 2
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
Dal compito del 8/7/2008 Dal compito del 4/2/2009
Semplificare la seguente espressione con i teoremi Date tre variabili booleane, che descrivono tre eventi relativi all’esame di
Fondamenti di Informatica 1:
dell’algebra booleana: Scritto_Soddisfacente == 1 voto conseguito allo scritto > 20
Orale_Superato == 1 orale OK
A*B’ + B*C + A*C’ Scritto_Insufficiente == 1 voto conseguito allo scritto < 16
Soluzione Esprimere la variabile Esame_Superato in funzione delle precedenti,
secondo le regole di Fondamenti di Informatica 1
= A * (B’ + C’) + B*C = {commutatività + distributività} Soluzione:
Esame_Superato = Scritto_Soddisfacente + Orale_Superato * Scritto_Insufficiente’
= A * (B*C)’ + B*C = { De Morgan} Infatti Esame_Superato == 1 quando:
= (A + B*C) * ((B*C)’ + B*C) = {distributività + el. complementare} − Lo scritto ha voto > 20 Scritto_Soddisfacente == 1
− Oppure,
= A + B*C • Lo scritto ha voto >= 16 Scritto_Insufficiente’ == 1
• E l’orale è stato superato Orale_Superato == 1
Verificare l’uguaglianza con le tavole di verità Nota bene: la forma ottenuta è del tipo C + A*B’ (vedi slide n. 4)
Fondamenti di Informatica 1 - A.A. 2008/09 - Ing. Gian Luca Marcialis 5 Fondamenti di Informatica 1 - A.A. 2008/09 - Ing. Gian Luca Marcialis 6
Fondamenti di Informatica 1 - A.A. 2008/09 - Ing. Gian Luca Marcialis 7 Fondamenti di Informatica 1 - A.A. 2008/09 - Ing. Gian Luca Marcialis 8
Alcuni semplici algoritmi in pseudo-
Conversione in virgola mobile codice: l’algoritmo del prodotto
Esprimere il valore dell’esercizio precedente in virgola Si supponga di implementare l’algoritmo del prodotto di due valori X e N come N
volte la somma di X
mobile secondo la convenzione 1.b * 2E In altri termini, la seguente sommatoria:
N
‘b’ è la parte della mantissa che precede l’1 più Y = ∑ X = X + X + ... + X = X ⋅ N
significativo, unico valore in parte intera Soluzione i =1
Utilizziamo i come indice per contare il numero di volte che sommiamo X con sé stesso
Soluzione Ricordando che l’espressione A = A + B significa: “prendo il vecchio valore di A, gli sommo B, ed il risultato
1101.11 = 1101.11 * 23 * 2-3 = 1.10111 * 23 lo assegno di nuovo ad A”, posso scrivere l’algoritmo come segue:
− Input: X e N; Output Y = X * N
Esprimendo per esempio l’esponente in segno e valore con tre bit − i=0
− Y=0
(quello più significativo, posto a zero, indica segno positivo): − Ripeti
• Y=Y+X
1.10111 * 2011 • i=i+1
− Finché i < N
Si ottiene dunque b 10111, E 011
Fondamenti di Informatica 1 - A.A. 2008/09 - Ing. Gian Luca Marcialis 9 Fondamenti di Informatica 1 - A.A. 2008/09 - Ing. Gian Luca Marcialis 10