Informatica B - Esercizio algebra booleana

Informatica B
Esercizio algebra booleana
Informatica B
Esercizio algebra booleana
Ing. Michele Scandale
25-10-2012
Michele Scandale <[email protected]>
1
Informatica B
Esercizio algebra booleana
Esercizio
Si consideri la seguente espressione booleana:
(not B and C) or not (A and C)
Si costruisca la tabella di verità corrispondente e si dica se:
la formula è sempre vera per qualiasi valore di A, B, C
la formula è sempre falsa per qualsiasi valore di A, B, C
Michele Scandale <[email protected]>
2
Informatica B
Esercizio algebra booleana
Soluzione
Formula: (not B and C) or not (A and C)
Valori intermedi:
A
0
0
0
0
1
1
1
1
X = not B
Z = A and C
Y = X and C
W = not Z
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
Michele Scandale <[email protected]>
X
1
1
0
0
1
1
0
0
Y
0
1
0
0
0
1
0
0
Z
0
0
0
0
0
1
0
1
W
1
1
1
1
1
0
1
0
Y or W
1
1
1
1
1
1
1
0
3
Informatica B
Esercizio algebra booleana
Esercizio
Si consideri la seguente condizione scritta in linguaggio C, con a, b di
tipo int:
(!(a != b) && b < 5) || !(b > 9 && b < 5)
ottenuta dalla formula precedente mediante le sostituzioni A = b > 9,
B = a != b, C = b < 5.
Si dica se:
è vera o falsa quando a = 3 e b = 7?
è vera per qualsiasi valore di a e b?
è falsa per qualsiasi valore di a e b?
Michele Scandale <[email protected]>
4
Informatica B
Esercizio algebra booleana
Soluzione
La parte sinistra dell’espressione, (!(a != b) && b < 5), risulta
essere vera solo se a == b con b < 5. Dunque con i valori
assegnati si ha che è falsa. In generale non è né vera né falsa.
La parte destra dell’espressione, !(b > 9 && b < 5), equivale per
de Morgan a b <= 9 || b >= 5, da cui si deduce che per
qualunque valore di b è vera. Dunque lo è anche per
l’assegnamento dato.
Considerando che le due sottoespressioni analizzate sono in
relazione di or risulta che l’espressione è sempre vera, poichè
almeno una risulta essere sempre vera.
Michele Scandale <[email protected]>
5