La precedenza degli Operatori Logici

Transcript

La precedenza degli Operatori Logici
La precedenza degli Operatori Logici
La precedenza tra operatori indica l'ordine con cui gli operatori vengono valutati all'interno di una
espressione.
Per esempio nell'aritmetica l'operatore di moltiplicazione ha precedenza maggiore dell'operatore di
somma, poiché viene valutato per primo:
a + c * b = a + (c * b)
Anche per gli operatori logici esistono regole di precedenza. La seguente tabella elenca gli operatori
logici che abbiamo introdotto nel corso, secondo un ordine di precedenza decrescente:
Operatore
Precedenza
¬
(NOT)
Massima
Ʌ
(AND)
↓
⊕ (XOR)
V
(OR)
Minima
Quindi il NOT è l'operatore con precedenza più alta, cioè viene valutato per primo e l'OR è
l'operatore con precedenza più bassa.
Per esempio la seguente espressione:
R = ¬A V ¬B Ʌ C
viene valutata come:
R = (¬A) V ((¬B) Ʌ C)
Prima vengono valutati ¬A e ¬B, quindi il termine (¬B) Ʌ C ed infine l'OR.
Le seguenti espressioni sono equivalenti sulla base della precedenza degli operatori:
AVBɅCVD
=
A V (B Ʌ C) V D
AɅBVCɅD
=
(A Ʌ B) V (C Ʌ D)
AɅBɅCVD
=
((A Ʌ B) Ʌ C) V D
((¬A) Ʌ (¬B)) Ʌ (¬C)
¬A Ʌ ¬B Ʌ ¬C
=
(¬A) Ʌ ((¬B) Ʌ (¬C))
((¬A) Ʌ (¬C)) Ʌ (¬B)
1/3
Alcune reti logiche particolari...
1) La seguente rete logica restituisce un valore FALSO indipendentemente dal valore dell'ingresso:
R = ¬A Ʌ A
Tabella di verità:
A ¬A ¬A Ʌ A
1
0
0
0
1
0
2) La seguente rete logica restituisce un valore VERO indipendentemente dal valore dell'ingresso:
R = ¬A V A
Tabella di verità:
A ¬A ¬A V A
1
0
1
0
1
1
3) Negando l'uscita della rete al punto 2 otteniamo una rete equivalente a quella del punto 1:
¬(¬A V A)
viceversa negando l'uscita della rete al punto 1 otteniamo una rete equivalente a quella del punto 2 :
¬(¬A Ʌ A)
L'equivalenza è evidente dalle tabelle di verità, ma può essere dimostrata anche ricorrendo ai
teoremi di De Morgan:
¬(¬A V A) = ¬(¬A) Ʌ (¬A) = A Ʌ ¬A = ¬A Ʌ A
¬(¬A Ʌ A) = ¬(¬A) V (¬A) = A V ¬A = ¬A V A
2/3
Se volessimo annullare l'uscita di una rete logica qualsiasi, per ogni combinazione degli ingressi
basterebbe mettere in AND l'uscita stessa con l'uscita della rete al punto 1:
Se volessimo rendere VERA l'uscita di una rete logica qualsiasi, per ogni combinazione degli
ingressi basterebbe mettere in OR l'uscita stessa con l'uscita della rete al punto 2:
3/3