User Tools

Site Tools


appunti3s:operatori_logici

Differences

This shows you the differences between two versions of the page.


appunti3s:operatori_logici [2020/06/08 22:19] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== Algebra di Bool ======
  
 +L'algebra booleana è un'algebra nata per definire la logica delle proposizioni, dove si studia lo stato (il valore) di verità delle proposizioni. Una proposizione può essere //vera// oppure //falsa//
 +
 +ATTENZIONE: in italiano il termine //preposizione// ha un altro significato, quale?
 +
 +Esempio di proposizione (con valore):
 +P = "il mio libro è rosso" (vero)
 +Q = "il tuo cane miagola" (falso)
 +
 +In tale algebra esistono diversi operatori (detti operatori booleani oppure connettivo logico) che possono essere applicati ad una o più preposizioni.
 +  * AND (detto congiunzione)
 +  * OR (detto disgiunzione)
 +  * NOT (detto negazione)
 +  * diversi altri...
 +
 +Esempio di operatore NOT
 +  * NOT P = "il mio libro NON è rosso" (falso)
 +  * NOT Q = "il tuo cane NON miagola" (vero)
 + 
 +Esempio di operatore AND e di risultato della congiunzione
 +  * P AND Q = "il mio libro è rosso" E "il tuo cane miagola" (falso)
 +
 +Esempio di operatore OR e di risultato della disgiunzione
 +  * P OR Q = "il mio libro è rosso" OPPURE "il tuo cane miagola" (vero)
 +
 +===== La tabella di verità =====
 +
 +Per ogni operatore booleano (AND, OR, ecc.) si può costruire una tabella che aiuta a descriverlo. 
 +Nella seguente tabella sono messe a confronto gli operatori AND e OR.
 +
 +^ P ^ Q ^P AND Q^P OR Q^
 +| V | V |  V  |  V  |
 +| V | F |  F  |  V  |
 +| F | V |  F  |  V  |
 +| F | F |  F  |  F  |
 +
 +===== Il calcolo automatico =====
 +
 +Al valore vero viene fatto corrispondere il valore //1// mentre al falso lo //0//.
 +In linguaggio C++ permette l'elaborazione di espressioni booleane composte da variabili che possono valere: False o True.
 +In quasi tutti i linguaggi di programmazione il numero intero ZERO viene interpretato come False. Qualsiasi altro numero come True. 
 +Inoltre ci sono espressioni di confronto come: //a < b// che hanno un risultato True oppure False
 +
 +===== A cosa serve? =====
 +Il calcolo automatico di questo tipo di espressioni (//a < b//) permette al programma di eseguire un'istruzione oppure un'altra a seconda se l'espressione (//a < b//) sia vera o falsa.
 +
 +Esempio [[appunti3s:tre_strutture#struttura_condizionale]]
 +in cui, fornendo annoDiNascita, annoAttuale si ottiene "sei maggiorenne" o "sei minorenne"
appunti3s/operatori_logici.txt · Last modified: 2020/06/08 22:19 by 127.0.0.1