mercoledì 4 febbraio 2026

Corso Pensiero Computazionale e Coding per Tutti: 4 L’algebra booleana

 


4 L’algebra booleana: la lingua segreta dei computer

L’algebra booleana è un sistema logico basato su soli due valori: Vero (1) e Falso (0). È alla base di tutto ciò che fa funzionare il mondo digitale, dai circuiti elettrici ai programmi dei computer.

Variabili booleane

Le variabili booleane possono assumere solo due valori: 0 (Falso) o 1 (Vero). Immagina un interruttore acceso o spento: quello è il concetto base della logica booleana.

Operazioni principali

  • AND (E): vero solo se tutte le condizioni sono vere.
  • OR (O): vero se almeno una condizione è vera.
  • NOT (NON): inverte il valore, da vero a falso e viceversa.

Tabelle di verità

Le tabelle di verità sono strumenti visuali che mostrano come funzionano queste operazioni. Eccone alcune di base:

AND
ABA AND B
000
010
100
111
OR
ABA OR B
000
011
101
111
NOT
ANOT A
01
10

Proprietà utili

  • Commutativa: A AND B = B AND A, A OR B = B OR A
  • Associativa: (A AND B) AND C = A AND (B AND C)
  • Distributiva: A AND (B OR C) = (A AND B) OR (A AND C)
  • Leggi di De Morgan:
    NOT(A AND B) = NOT A OR NOT B
    NOT(A OR B) = NOT A AND NOT B

Attività pratiche per capire l’algebra booleana

🎮 Semaforo logico

Immagina un semaforo con tre segnali:

  • G = verde (1 = verde acceso, 0 = spento)
  • Y = giallo
  • C = macchina in arrivo (1 = sì, 0 = no)

Il personaggio può attraversare se:

  • Il semaforo è verde OR
  • Il semaforo è giallo AND non c’è macchina in arrivo.

Espressione booleana: CanPass = G OR (Y AND NOT C)

Tabella di verità: Semaforo
GYCY AND NOT CCanPass
00000
00100
01011
01100
10001
10101
11011
11101

🔍 Caccia agli oggetti

Hai una collezione di oggetti con queste caratteristiche:

  • R = rosso
  • T = tondo
  • S = leggero

Se vuoi trovare gli oggetti che sono rossi E tondi, usi l’espressione R AND T.

Se vuoi quelli che sono rossi O tondi ma leggeri, allora: (R OR T) AND S.

🧩 Mini circuiti logici

Con cartoncini o disegni, rappresenta le porte logiche:

  • AND: due interruttori in serie
  • OR: due interruttori in parallelo
  • NOT: un inverter che cambia il valore

Prova a costruire il circuito che attiva l’uscita solo se A = 1 e B = 0, cioè A AND NOT B.

Esercizi svolti e quiz finale

Esercizio 1: Tabella di verità per F = NOT(A AND (B OR C))

Costruzione tabella
ABCB OR CA AND (B OR C)F = NOT(...)
000001
001101
010101
011101
100001
101110
110110
111110

Spiegazione: Se A è falso, F è vero. Altrimenti, F dipende da B e C secondo le regole di De Morgan.

Esercizio 2: Semplifica F = (A AND B) OR (A AND NOT B)

Soluzione:
Fattorizziamo A: F = A AND (B OR NOT B)
Sapendo che B OR NOT B = 1, otteniamo F = A AND 1 = A.
Quindi, F = A.

Esercizio 3: Costruisci l’XOR usando AND, OR e NOT

L’operazione XOR (Exclusive OR) è vera solo quando A e B sono diversi.
Si può esprimere così:
A XOR B = (A AND NOT B) OR (NOT A AND B)

Tabella di verità XOR
ABA AND NOT BNOT A AND BXOR
00000
01011
10101
11000

Quiz finale: metti alla prova la tua logica!

  1. Qual è il risultato di: VERO AND FALSO?
    Risposta: FALSO — perché AND richiede che entrambi siano veri.
  2. Qual è il risultato di: VERO OR FALSO?
    Risposta: VERO — perché OR richiede almeno uno vero.
  3. Qual è il risultato di: NOT VERO?
    Risposta: FALSO — NOT inverte il valore.
  4. Se A = VERO e B = VERO, quanto vale A AND B?
    Risposta: VERO (1).
  5. Se A = FALSO e B = FALSO, quanto vale A OR B?
    Risposta: FALSO (0).
  6. Cosa dice la legge di De Morgan su NOT (A AND B)?
    Risposta: NOT (A AND B) = NOT A OR NOT B.
  7. Simplifica l’espressione (A AND B) OR (A AND NOT B).
    Risposta: A.

Complimenti, hai imparato i fondamenti dell’algebra booleana! Ora puoi riconoscere come i computer prendono decisioni logiche passo dopo passo.


martedì 3 febbraio 2026

Corso Pensiero Computazionale e Coding per Tutti: 3 Il linguaggio binario e i sistemi di numerazione

3 Il linguaggio binario e i sistemi di numerazione

Introduzione: perché il binario?

Immagina un corridoio pieno di lampadine. Ogni lampadina può essere accesa (1) o spenta (0). Con una sola lampadina puoi indicare due stati: acceso/spento. Con due lampadine hai quattro combinazioni (00, 01, 10, 11). Questo è il cuore del linguaggio digitale: segnali ON/OFF, sì/no, 1/0. I computer parlano così perché i componenti elettronici — transistor, porte logiche — funzionano scegliendo tra due stati.

Concetti teorici essenziali

  • Bit = binary digit = 0 o 1.
  • Posizione in un numero binario corrisponde a una potenza di 2. Da destra a sinistra: 2⁰, 2¹, 2², 2³, …
  • Byte = 8 bit. Nibble = 4 bit. Parole (word) dipendono dall’architettura (16, 32, 64 bit).
  • Range valori: con n bit si rappresentano 0 … (2ⁿ − 1) per numeri senza segno.
  • Due-complemento = convenzione per rappresentare numeri negativi (vedremo come funziona).

Tabella rapida potenze di 2 (utile come "tassello" in classe)

  • 2⁰ = 1
  • 2¹ = 2
  • 2² = 4
  • 2³ = 8
  • 2⁴ = 16
  • 2⁵ = 32
  • 2⁶ = 64
  • 2⁷ = 128
  • 2⁸ = 256

Conversioni — esempi passo-passo (eseguiti digit-by-digit)

A) Da binario a decimale — Esempio: 1011

Leggiamo da sinistra (ma calcoliamo per posizione da destra a sinistra):

  • cifre (da sinistra a destra): 1 0 1 1
  • posizioni (da destra): 2³, 2², 2¹, 2⁰ = 8, 4, 2, 1
    Calcolo:
  • 1 × 2³ = 1 × 8 = 8
  • 0 × 2² = 0 × 4 = 0
  • 1 × 2¹ = 1 × 2 = 2
  • 1 × 2⁰ = 1 × 1 = 1
    Somma = 8 + 0 + 2 + 1 = 11 (decimale).

B) Da decimale a binario — Metodo divisione per 2 (resti)

Esempio: convertiamo 156 in binario (mostro ogni divisione: quoziente e resto).

  • 156 ÷ 2 = 78 resto 0
  • 78 ÷ 2 = 39 resto 0
  • 39 ÷ 2 = 19 resto 1
  • 19 ÷ 2 = 9 resto 1
  • 9 ÷ 2 = 4 resto 1
  • 4 ÷ 2 = 2 resto 0
  • 2 ÷ 2 = 1 resto 0
  • 1 ÷ 2 = 0 resto 1 (qui terminiamo)
    Ora leggiamo i resti dal basso verso l’alto: 1 0 0 1 1 1 0 010011100 (binario). Verifica: 128 + 0 + 0 + 16 + 8 + 4 + 0 + 0 = 156.

C) Da decimale a esadecimale (base 16) — esempio: 255

Divisione per 16:

  • 255 ÷ 16 = 15 resto 15 → 15 in esadecimale è F
  • 15 ÷ 16 = 0 resto 15F
    Quindi 255 decimale = FF (esadecimale).

Codifica di caratteri: ASCII (pratica)

I computer memorizzano lettere come numeri. ASCII standard associa ad esempio:

  • "A" → 65 → in binario 01000001 (8 bit).
    Esempio pratico: trasformiamo la parola Tom (passo-passo):
  • T = 84 → dividendo per 2 otteniamo binario: 01010100
  • o = 111 → binario: 01101111
  • m = 109 → binario: 01101101
    Nome in binario: 01010100 01101111 01101101.

(Se vuoi, puoi fornire la tabella ASCII da stampare; per la lezione basta mostrare qualche esempio e far convertire i padroni di casa.)

Operazioni binarie — esempi svolti

A) Addizione binaria — esempio: 1011 + 1101

Allineiamo a destra:

1011 (11 decimale)
+ 1101 (13 decimale)
------

Sommiamo colonna per colonna da destra:

  • colonna 0 (2⁰): 1 + 1 = 2 → scrivo 0, porto 1 (carry).
  • colonna 1 (2¹): 1 + 0 + carry1 = 2 → scrivo 0, porto 1.
  • colonna 2 (2²): 0 + 1 + carry1 = 2 → scrivo 0, porto 1.
  • colonna 3 (2³): 1 + 1 + carry1 = 3 → 3 in binario è 1 con carry 1 (perché 3 = 1 + 2). Scrivo 1, porto 1.
  • carry finale = 1 → lo scrivo a sinistra.

Risultato: 11000.

Verifica in decimale: 11 + 13 = 24 → 11000 in binario = 16 + 8 = 24. Perfetto.

B) Sottrazione con due-complemento — esempio: 13 − 5 (usando 8 bit)

Rappresentazioni (8 bit):

  • 13 = 00001101
  • 5 = 00000101
    Passi per ottenere −5 in due-complemento:
  1. inverti tutti i bit di 5: 11111010
  2. aggiungi 1: 11111010 + 1 = 11111011 (questo è il −5 in due-complemento)
    Ora addiziona 13 + (−5):
00001101
+ 11111011
= 00001000 (con carry che scarta)

Risultato 00001000 = 8. Corretto.

C) Esempio di overflow (8 bit): 130 + 140

  • 130 = 10000010
  • 140 = 10001100
    Addizione:
  • Somma aritmetica: 130 + 140 = 270
  • In 8 bit il massimo è 255 → abbiamo overflow. Se consideriamo solo gli 8 bit di basso peso otteniamo 00001110 = 14.
    Spiegazione: la somma genera un carry oltre l’ottavo bit, perso se si lavora su 8 bit senza segnalazione → valore risultante = 270 mod 256 = 14.

Esercizi svolti

Esercizio 1 — Converti 19 in binario (passi)

Divisioni:

  • 19 ÷ 2 = 9 r 1
  • 9 ÷ 2 = 4 r 1
  • 4 ÷ 2 = 2 r 0
  • 2 ÷ 2 = 1 r 0
  • 1 ÷ 2 = 0 r 1
    Rivolgi i resti: 10011. Verifica: 16 + 0 + 0 + 2 + 1 = 19.

Esercizio 2 — Usa ASCII: quale è il binario di "C"?

"C" = 67 decimale. Convertiamo:

  • 67 ÷ 2 = 33 r 1
  • 33 ÷ 2 = 16 r 1
  • 16 ÷ 2 = 8 r 0
  • 8 ÷ 2 = 4 r 0
  • 4 ÷ 2 = 2 r 0
  • 2 ÷ 2 = 1 r 0
  • 1 ÷ 2 = 0 r 1
    Resta: 1000011. Con 8 bit (prefisso aggiunto): 01000011.

Esercizio 3 — Addizione: 0110 + 0011

  • 0110 (6) + 0011 (3) = 1001 (9). Passaggi: colonna per colonna, portando eventuali carry (qui nessuno tranne al limite).

Test finale (autovalutazione)

1. Converti in binario:
a) 6 →
b) 13 →
c) 31 →

2. Qual è il valore decimale di 10110?
a) 22 b) 23 c) 21 d) 24

3. Qual è il codice ASCII della lettera C?
a) 65 b) 67 c) 66 d) 68

4. In esadecimale, qual è il simbolo per il valore decimale 15?
a) E b) D c) F d) G

5. Quale rappresentazione binaria è corretta per il numero 9?
a) 1001 b) 1011 c) 0110 d) 1111

10) Soluzioni del test — con spiegazioni passo-passo

1. Converti in binario
a) 6 → divisioni: 6 ÷ 2 = 3 r0; 3 ÷ 2 = 1 r1; 1 ÷ 2 = 0 r1 → leggendo i resti: 110.
b) 13 → 13 ÷ 2 = 6 r1; 6 ÷ 2 = 3 r0; 3 ÷ 2 = 1 r1; 1 ÷ 2 = 0 r1 → resti: 1101.
c) 31 → 31 ÷ 2 = 15 r1; 15 ÷ 2 = 7 r1; 7 ÷ 2 = 3 r1; 3 ÷ 2 = 1 r1; 1 ÷ 2 = 0 r1 → 11111.

2. 10110 → valore decimale
Calcolo posizioni: da destra 2⁰=1, 2¹=2, 2²=4, 2³=8, 2⁴=16
Cifre: 1·16 + 0·8 + 1·4 + 1·2 + 0·1 = 16 + 0 + 4 + 2 + 0 = 22 → risposta a).

3. ASCII di C
A è 65, B 66, C 67 → risposta b). (In binario C = 01000011.)

4. Valore decimale 15 in esadecimale
In esadecimale i simboli 10–15 corrispondono a A–F; quindi 15 → F → risposta c).

5. Rappresentazione binaria del 9
9 = 8 + 1 = 2³ + 2⁰ → cifre 1001 → risposta a).


L’Alfabeto della Luce:
Come i Computer Usano il Binario per Creare il Mondo Digitale

Immaginate un corridoio infinito pieno di interruttori. Ognuno di questi può essere solo in due stati: acceso o spento. Non esistono sfumature, non c’è una via di mezzo. Questo scenario, apparentemente semplice, è il motore segreto di ogni smartphone, computer o intelligenza artificiale sul pianeta. È il mondo del linguaggio binario.

1. Perché i computer sono così "testardi"?

Noi esseri umani usiamo il sistema decimale (basato su 10 cifre, probabilmente perché abbiamo dieci dita), ma per una macchina è molto più sicuro e veloce distinguere tra "c'è corrente" (1) e "non c'è corrente" (0). Questi singoli frammenti di informazione si chiamano Bit (Binary Digit).

Quando mettiamo insieme 8 di questi "interruttori", otteniamo un Byte. Se un bit è una lettera, un byte è una parola corta; mettendone insieme miliardi, otteniamo i video in alta definizione che guardiamo ogni giorno.

2. Il gioco delle potenze: come contare con 0 e 1

Nel nostro sistema decimale, la posizione di una cifra cambia il suo valore (pensa alla differenza tra 1, 10 e 100). Nel binario funziona allo stesso modo, ma ogni posizione vale il doppio di quella precedente:

  • La prima posizione a destra vale 1.

  • La seconda vale 2.

  • La terza vale 4, poi 8, 16, 32, e così via.

Quindi, se vediamo il numero binario 1011, stiamo leggendo un codice che dice: "Prendi un 8, zero 4, un 2 e un 1". Sommandoli (8+2+1), scopriamo che per il computer quel codice significa 11.

3. Dalle cifre alle lettere: il codice ASCII

Ma come fa un computer a scrivere "Ciao" se capisce solo i numeri? Esiste una sorta di "dizionario universale" chiamato ASCII. In questo sistema, ogni lettera corrisponde a un numero specifico.

Ad esempio, la lettera "A" maiuscola è il numero 65. Quando premiamo "A" sulla tastiera, il computer riceve istantaneamente una sequenza di otto interruttori (01000001) che interpreta come quella specifica lettera.

4. Matematica binaria: addizioni e "trabocchi"

Sommare in binario è sorprendentemente simile a come facevamo a scuola, ma con una regola bizzarra: 1 + 1 fa 0 con il riporto di 1. È come se il nostro contatore non avesse spazio per il "2" e dovesse passare subito alla colonna successiva.

A volte, però, i computer incontrano un limite fisico: l'Overflow. Immaginate un contachilometri di una vecchia auto che arriva a 999.999; al chilometro successivo, torna a 000.000 perché non ha più spazio per le cifre. Nei computer accade lo stesso: se il risultato di un calcolo è troppo grande per lo spazio di memoria assegnato (ad esempio 8 bit), i bit "in eccesso" vengono persi, e il risultato finale appare drasticamente più piccolo di quello reale.

5. Non solo 0 e 1: il misterioso Esadecimale

Per evitare di scrivere stringhe lunghissime di zeri e uni (che farebbero impazzire i programmatori), si usa spesso l'Esadecimale. È un sistema a 16 cifre che usa i numeri da 0 a 9 e poi le lettere da A a F per indicare i valori da 10 a 15. È un modo "compatto" per leggere il binario: ad esempio, il colore bianco puro in un sito web è scritto come FFFFFF, che per il computer è una lunghissima sfilza di "1" accesi.

6. Il modello RGB: I tre colori primari della luce

Ogni volta che inviate un emoji o guardate un film in streaming, state assistendo a una danza frenetica di miliardi di minuscoli interruttori che si accendono e si spengono. Il linguaggio binario è l'essenza della semplicità che genera una complessità infinita.

Per capire come un computer visualizza un tramonto infuocato o il verde di un prato partendo solo da zeri e uni, dobbiamo pensare allo schermo come a un immenso mosaico composto da milioni di tessere minuscole: i pixel.

Ecco il processo che trasforma i numeri in colori, passo dopo passo:

A differenza della pittura (dove i colori primari sono rosso, giallo e blu), i computer usano il sistema RGB (Red, Green, Blue). Ogni singolo pixel dello schermo è composto da tre piccolissime "lampadine" di questi colori.

Mescolando la luce di queste tre lampadine a diverse intensità, il nostro occhio percepisce tutti i colori possibili:

  • Rosso + Verde + Blu (al massimo) = Bianco

  • Rosso + Verde = Giallo

  • Tutte spente = Nero

  • Getty Images

7. La "Profondità di Colore": Quanti bit per ogni pixel?

Per decidere quanto deve essere luminosa ogni "lampadina" (R, G o B), il computer assegna loro dei numeri. Nella maggior parte dei sistemi moderni, si usano 8 bit per ogni colore.

Ricordate il sistema binario? Con 8 bit possiamo rappresentare numeri da 0 a 255.

  • 0: La lampadina è completamente spenta.

  • 255: La lampadina è alla sua massima luminosità.

Poiché abbiamo tre colori (R, G, B) e ognuno ha 8 bit, ogni pixel "pesa" 24 bit. Questo sistema permette di creare $256 \times 256 \times 256$ combinazioni, ovvero oltre 16 milioni di colori diversi: una varietà superiore a quella che l'occhio umano riesce a distinguere!

8. Dal Binario all'Esadecimale: Il linguaggio dei grafici

Quando i designer o i programmatori scelgono un colore per un sito web, non scrivono lunghe stringhe di 0 e 1, ma usano il sistema Esadecimale (base 16) che abbiamo visto prima.

Un codice colore esadecimale è composto da 6 caratteri (due per il Rosso, due per il Verde, due per il Blu). Ad esempio:

  • #FF0000: Rosso al massimo (FF), Verde a zero (00), Blu a zero (00). Risultato: Rosso puro.

  • #00FF00: Risultato: Verde puro.

  • #808080: Una via di mezzo per tutti e tre. Risultato: Grigio.

9. Come viene memorizzata una foto?

Una fotografia digitale non è altro che una lunghissima lista di numeri. Il file (che sia un JPEG o un PNG) dice al computer:

  1. "Il pixel nella posizione (0,0) deve avere Rosso=200, Verde=50, Blu=30".

  2. "Il pixel a fianco deve avere Rosso=201..."

  3. E così via per milioni di volte.

Quando apri l'immagine, la scheda video legge questi numeri e invia la giusta quantità di corrente elettrica alle minuscole lampadine LED del tuo schermo.

10 Curiosità: Perché alcune foto "pesano" più di altre?

Se ogni pixel occupa 24 bit e una foto ha 12 megapixel (12 milioni di pixel), il file dovrebbe essere enorme. Per questo esistono gli algoritmi di compressione come il JPEG, che "riassumono" i numeri: invece di scrivere il colore di ogni singolo pixel, dicono "in quest'area di 10 pixel sono tutti quasi blu, scriviamoli tutti uguali per risparmiare spazio".

Corso Pensiero Computazionale e Coding per Tutti: 4 L’algebra booleana

  4 L’algebra booleana: la lingua segreta dei computer L’algebra booleana è un sistema logico basato su soli due valori: Vero (1) e Fa...