Proposizioni Algebra di Boole Condizioni Operatori di relazione
Proposizione ( o Asserzione) Una frase con valore di verità Mario è andato al cinema I pinguini volano Oggi è domenica Una proposizione può essere: semplice o elementare o atomica; Non scomponibili in due o più proposizioni elementari. Mario è mio fratello composta o molecolare Connessione di più proposizioni elementari Mario è mio fratello ed è notaio Una proposizione composta nasce da proposizioni atomiche connesse mediante i connettivi logici oppure, e, non disgiunzione, congiunzione, negazione Mario abita a Napoli oppure abita a Roma Mario abita a Napoli e lavora ad Avellino Mario non abita a Napoli
Proposizione composta = proposizionesemplice1 connettore logico proposizionesemplice2 Y = p1 connettore p2 Y = p1 p1 oppure p2 p2 Y = p1 p1 e p2 p2 Y = p1 p1 non non p2 p2 L algebra della logica ( o di Boole) Definita dal matematico George Boole per studiare la logica delle proposizioni L algebra di Boole ha: due soli valori Vero (True), Falso (False) tre operatori (operatori booleani) AND (congiunzione) OR (disgiunzione) NOT (negazione).
L algebra di Boole: Consente di determinare la verità o la falsità di una proposizione composta (espressione logica composta) con gli operatori dell algebra a partire dalla verità o falsità delle proposizioni componenti La congiunzione logica ( e, and, ) La proposizione composta y= p q è vera se e solo se entrambe le due proposizioni elementari p e q sono vere Tabella verità congiunzione Y="oggi è giovedi ed è il 15 gennaio", p=oggi è giovedì q= oggi è il 15 gennaio Y= p q è vera se e solo se entrambe le due proposizioni sono vere (oggi è realmente il 15 gennaio ed è anche giovedì);
Una applicazione circuitale Interruttore abbassato valore logico 1 Interruttore aperto valore logico 0
La disgiunzione logica ( o, or, ) La proposizione composta y= p q è vera se almeno una delle due proposizioni elementari p e q è vera Tabella verità disgiunzione Y="oggi è giovedi oppure è il 15 gennaio", p=oggi è giovedì q= oggi è il 15 gennaio Y= p q è vera se almeno una delle due proposizioni è vera (oggi è realmente il 15 gennaio ed è anche giovedì); (oggi è realmente il 15 gennaio ma non è giovedì); (oggi è realmente giovedì ma non è il 15 gennaio);
Una applicazione circuitale Interruttore abbassato valore logico 1 Interruttore aperto valore logico 0
La negazione logica ( non, not, ) la proposizione y= p nega (inverte) il valore della proposizione p. Tabella verità negazione not è un operatore unario p="natale è il 25 dicembre Vero p="natale non è il 25 dicembre Falso p Falso p Vero
Proposizioni complesse Più di 2 proposizioni elementari Priorità operatori logici : NOT AND OR A OR b AND c == a OR (b AND c) A OR NOT b == a OR ( NOT c) A OR NOT b AND c == a OR (( NOT b ) AND c) La presenza di parentesi altera le priorità degli operatori NOT ( A AND ( B OR C ) OR B ) 1 2 3 4 A AND ( B OR NOT (A OR B ) ) 1 2 3 4
Date le proposizioni: A=5 è maggiore di 3 Determinare il valore della espressioni logica: B=9 è il quadrato di 3 Y=(A or C) and not C C=7 è multiplo di 3 A=Vera B=Vera C=Falsa Date le proposizioni: (V or F) and not F (V) and V V A=Dante era un pittore; B=Manzoni era un poeta; Determinare il valore della espressione logica: C=Achille era un guerriero Y=(A and B) and (A and not C) A=Falsa B=Vera Y=(A and B) and (A and not C) C=Vera (F and V) and (F and not V) (F and V) and (F and F) (F) and (F) F
Proprietà dell algebra di Boole Commutativa a OR b = b OR a a AND b = b AND a Associativa (a OR b) OR c =a OR (b OR c) (a AND b) AND c =a AND (b AND c) Idempotenza a OR a =a a AND a =a 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) Del minimo e del massimo a AND F =F a OR V =V Del complemento a AND ( NOT a) =F a OR ( NOT a) = V
Teorema di De Morgan a OR b = NOT (( NOT a) AND (NOT b)) a AND b = NOT (( NOT a) OR (NOT b)) a OR b = NOT (( NOT a ) AND (NOT b)) a vera b falsa a OR b = V V F V F
Negli Algoritmi. sono spesso presenti passi decisionali che contengono una proposizione (o predicato) dal cui valore di verità (Vero o Falso) dipende la sequenza dinamica Chiamiamo CONDIZIONI tali proposizioni Esempio di condizione semplice: Hai altre rate vecchie da pagare In modo più sintetico la condizione può esprimersi con l espressione Nro rate vecchie > 0 Utilizzo di un operatore di relazione
In generale le condizioni sono strutturate ovvero composte da condizioni più semplici legate da operatori logici Esempio di condizione composta: Hai altre rate vecchie da pagare o hai accettato nuove rate Nro rate vecchie > 0 OR Nro rate nuove > 0 L impiegato accetta un altro conto corrente dell utente allo sportello se questi ha già presentato meno di 5 conti correnti oppure non ci sono altri utenti in coda Nro conti correnti <= 5 OR Nro utenti coda = 0
Operatori di relazione Permettono il confronto fra valori Deve esserci congruenza fra i Tipi dei valori Di certo non è logico confrontare un numero con un nome di persona Diverse tipologie di operatori relazionali =,, >, <,, Operatori relazionali più noti sono quelli che permettono il confronto fra valori numerici 1 < 2 Vero 7 >10 Falso 5 0 Vero Gli operatori =, sono applicabili a valori di qualunque natura Rossi = Verde Falso Gli altri operatori richiedono una relazione d ordine sull insieme dei valori
L insieme caratteri è validato come insieme ordinato: {a,b,c,.z, A, B, C, Z} A = B Falso C > a Vero A B Vero Gli operatori di relazione non sono operatori logici, ma consentono di costruire espressioni che possono essere usate come argomenti di operatori logici -1 < 0 AND 5 > 3