Copyright © Istituto Italiano Edizioni Atlas Algebra Booleana Lorenzi – V. Moriggia INFORMATICA. C++. TEORIA E AMBIENTE DI PROGRAMMAZIONE Atlas Copyright © Istituto Italiano Edizioni Atlas
Calcolo delle proposizioni Vero = 1 Falso = 0 Proposizioni Valori di verità + Connettivi Proposizioni composte A AND B A OR B A XOR B NOT A AND , , , OR , , + , XOR , , NOT ,
Operatore AND (congiunzione) Tavola di verità A B A and B 1
Operatore OR (disgiunzione) Tavola di verità A B A or B 1 aaaaaaa
Operatore NOT (negazione) Tavola di verità A not A 1
Esercizi “on the fly” Se: A = Vero, B = Falso, C = Vero, qual è il valore di verità delle seguenti espressioni: A or (not B and C) A and Falso B or Vero A and B and C
Esercizi Costruire la tavola di verità di: A or Vero (A or Falso) A and Vero (A and Falso) not not A not (A and B) (not A) or (not B)
Proprietà proprietà: Commutativa ed associativa Distributiva Gli operatori introdotti godono di numerose proprietà: Commutativa ed associativa Distributiva A and ( B or C ) = ( A and B ) or ( A and C ) A or ( B and C ) = ( A or B ) and (A or C) not not A = A A and A = A A or A = A A or (notA) = Vero A and (notA) = Falso ….
NOT (A AND B) = (NOT A) OR (NOT B) NOT (A OR B) = (NOT A) AND (NOT B) Leggi di De Morgan NOT (A AND B) = (NOT A) OR (NOT B) A B -A -B A B - (A B) (-A)+(-B) 1 NOT (A OR B) = (NOT A) AND (NOT B) A B -A -B A+B - (A+B) (-A) (-B) 1
Osservazioni Le leggi di De Morgan sono utili per negare espressioni complesse: not ( X>5 or N<1000 ) = not (X>5) and (not(N<1000)) Le leggi di De Morgan mostrano che i tre operatori AND OR NOT non sono indipendenti E’ possibile esprimere AND tramite OR e NOT: A and B = not not ( A and B ) = not ((not A) or (not B)) E’ possibile esprimere OR tramite AND e NOT: A or B = not not (A or B) = not ((not A) and (not B))
Esempi di applicazione delle leggi di De Morgan (prezzo = 80 ) OR (peso > 50) prodotti che costano sicuramente 80 euro o pesano tanto Negazione: (prezzo <> 80) e (peso <=50) Non costano 80 euro e pesano poco (distanza < 50 ) or (popolazione > 20000) città vicine oppure città popolose Negazione: città lontane e disabitate (distanza >=50) e (popolazione <= 20000)
Operatore XOR (disgiunzione esclusiva) Tavola di verità A B A xor B 1
Esercizi Se A = Vero, B = Vero, C = Falso qual è il valore di verità di: A xor (B or C) A xor B xor C (A and B) xor C Costruire la tavola di verità di: A xor B xor C not (A xor B)
Esercizi Costruire la tabella di verità delle espressioni logiche: A (- B) + C A + B (C (- C)) A B + (C (- C)) (A + (- A)) B Applicare le leggi di De Morgan a: -(A + (- B) + C) -(-(A + (- B) (- C))) -(-A (- B) (- C))
Dalla tabella alla funzione booleana F(A,B) = A(-B) + (-A)(-B) = (- B) ( A + (- A)) = (- B) Vero = - B A B F(A,B) 1 A (- B) (-A) (- B)
Calcolatrice di Windows (Accessori) Accedere a Visualizza per selezionare la modalità: Scientifica
Operatori booleani Dove si usano Nelle formule di Excel Nella riga dei criteri nelle query di Access Nei motori di ricerca in Internet Nei linguaggi di programmazione Nella progettazione dei circuiti logici Nella crittografia
Motori di ricerca milano università milano OR università Google: non è necessario usare l'operatore booleano AND (per impostazione predefinita, Google ricerca tutte le parole chiave inserite dall'utente). Uso di OR (maiuscolo) Ricerca avanzata milano università milano OR università 7.550.000 pagine 91.100.000 pagine
Crittografia (chiave simmetrica) (A xor K) xor K = A Decodifica: A = C xor K Messaggio A C = A xor K Messaggio codificato Chiave K Chiave K Bob A 1 1 0 0 1 1 0 1 0 K 1 0 1 1 1 0 0 0 1 C 0 1 1 1 0 1 0 1 1 C xor K 1 1 0 0 1 1 0 1 0 Alice