Logica Booleana
Una Sola Condizione non Basta Sempre
Section titled “Una Sola Condizione non Basta Sempre”Nella lezione precedente abbiamo usato if con una sola condizione alla volta. Nella realtà, le decisioni spesso dipendono da più fattori insieme.
“Accendi il riscaldamento se la temperatura è bassa E la finestra è chiusa.” “Suona l’allarme se rilevo movimento O se la porta viene aperta.”
Per esprimere questo tipo di logica esistono gli operatori booleani, che permettono di combinare più condizioni in una sola.
Gli Operatori Booleani
Section titled “Gli Operatori Booleani”| Operatore | Simbolo | Descrizione |
|---|---|---|
| AND | && | Tutto deve essere vero |
| OR | || | Almeno uno è vero |
| NOT | ! | Inverte il valore (Vero diventa Falso e viceversa) |
AND - &&
Section titled “AND - &&”La condizione complessiva è vera solo se tutte le condizioni sono vere contemporaneamente. Basta che una sola sia falsa perché il risultato sia falso.
Analogia: Cassaforte a due Chiavi
Section titled “Analogia: Cassaforte a due Chiavi”Una cassaforte con due serrature: si apre solo se si inserisce sia la chiave A sia la chiave B. Una sola chiave non basta.
Tabella della verità AND:
| Condizione A | Condizione B | Risultato |
|---|---|---|
true | true | ✅ true |
true | false | ❌ false |
false | true | ❌ false |
false | false | ❌ false |
OR - ||
Section titled “OR - ||”La condizione complessiva è vera se almeno una delle condizioni è vera. Diventa falsa solo se sono tutte false.
Tabella della verità OR:
| Condizione A | Condizione B | Risultato |
|---|---|---|
true | true | ✅ true |
true | false | ✅ true |
false | true | ✅ true |
false | false | ❌ false |
NOT - !
Section titled “NOT - !”Inverte il valore booleano di una condizione. Ciò che era true diventa false e viceversa.
Scritture abbreviate con i booleani
Section titled “Scritture abbreviate con i booleani”Con le variabili bool, esistono due scritture equivalenti e più pulite:
Toggle - Invertire gli Stati
Section titled “Toggle - Invertire gli Stati”Uno degli usi più potenti del NOT è il toggle: invertire uno stato booleano ogni volta che viene eseguita una riga.
Analogia: interruttore della luce
Section titled “Analogia: interruttore della luce”Ogni volta si preme l’interruttore, cambia stato: se era acceso si spegne, se era spento si accende. Non importa lo stato attuale; il risultato è sempre l’opposto.
In italiano:
- Se sto correndo →
!running→ non sto correndo - Se non sto correndo →
!running→ sto correndo
Questo pattern è utilissimo per far lampeggiare un LED, alternare tra due stati, o registrare ogni pressione di un pulsante:
Combinare più Operatori
Section titled “Combinare più Operatori”Si possono combinare AND, OR e NOT nella stessa condizione. Usare le parentesi tonde per rendere esplicito l’ordine di valutazione: