[ø]
Esercizio 105
Un programma in linguaggio C contiene la seguente condizione:
if ( (x==0 && y==1) || (z==5 && y==1) )
Usando le tecniche dell’algebra Booleana riscrivere l’espressione in modo che complessivamente richieda
un minor numero di operazioni per il suo calcolo (senza tener conto di eventuali ottimizzazioni del
compilatore).
Soluzione
x y  zy  ( x  z) y Quindi, in pratica si è raccolto y
if ( (x==0 || z==5 ) && (y==1) )
Esercizio 123
Si dimostri che la seguente espressione è un’identità Booleana:
ac  bc  ab  c  abc
Soluzione.
Hanno la stessa tabella della verità (nota: in rispettivamente in giallo, verde, blu i termini dei due
membri, due colori in caso di aree sovrapposte)
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
c
0
1
0
1
0
1
0
1
1M
1
0
1
0
1
1
1
0
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
c
0
1
0
1
0
1
0
1
2M
1
0
1
0
1
1
1
0
ES 118
AB + AC + AD + ABC + ABD + ACD + BCD =
= A (B + C + D + BC + BD + CD) + BCD=
= A[(B(1+C) + C(1+D)+D(1+C)] + BCD
= A[B+C+D] + BCD
= AB + AC + AD + BCD
R. se si ipotizza che (teo>17) = !(teo<18) [vero se i voti vanno da 1 a 30]
Teo > 17 = A; pro > 17 = B; lab > 24 = C; orale > 27 = D;
AB + AC + AD = A(B+C+D)
(teo >17) && ( (pro>17) || (lab>24) || (orale > 27) )
Iniziale: 3 &&, 1 !, 2 ||, finale: 1 &&, 0 !, 2 ||
Sup. prova scritta di teoria= A, sup programmazione = B, orale integrativo = C, variabili indipendenti, X
dipendente
X = AB + ABC = B(A + AC)
B’D’ + A’BD + AD . Costruiamo la tabella della verità.
D
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
BD'
0
0
1
1
0
0
0
0
A'BD
0
0
0
0
0
0
1
0
AD
0
0
0
0
0
1
0
1
X
0
0
1
1
0
1
1
1
Le soluzioni sono indicate in giallo.
Y= x (y+z’) + x’(yz’)’ = x (y+z’) + x’(y’+z) = xy + xz’ + x’y’ + x’z =
=
=
=1
che è un Ex-Nor