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