Scopri come calcolano i computer... senza comprendere.
Un gioco a coppie per il pensiero computazionale
Siediti di fronte al tuo compagno. Uno di voi sarà il Programmatore, l'altro la CPU.
Tu sai cosa si sta calcolando. Il tuo compito e leggere le istruzioni alla CPU, passo dopo passo. Non puoi fare i calcoli al posto suo. Non puoi spiegare. Solo leggere.
"Sei la mente dietro le quinte"
Tu NON sai cosa stai calcolando. E non devi capirlo. Esegui esattamente quello che ti dice il Programmatore. Niente di più, niente di meno. Non pensare. Esegui.
"Sei una macchina, e ne sarai fiero"
Leggi queste istruzioni alla CPU una alla volta. La CPU parte dalla casella in alto a sinistra. I comandi sono: destra, sinistra, giù, su, segna (colora la casella corrente).
Disegno: una casetta
destra 3 volte. Segna.giù. Vai a sinistra. Segna.destra. Segna.destra. Segna.giù. Vai a sinistra 3 volte. Segna.destra. Segna.destra. Segna.destra. Segna.destra. Segna.giù. Segna.giù. Segna.giù. Segna.sinistra. Segna.sinistra. Segna.sinistra. Segna.sinistra. Segna.su. Segna.su. Segna.Questa è la tua griglia. Parti dalla casella in alto a sinistra. Quando il Programmatore dice "segna", clicca sulla casella corrente (o colorala sul foglio). Muoviti solo come ti viene detto.
La CPU ha eseguito un programma senza sapere cosa stava creando. Il Programmatore ha tradotto un'idea (il disegno) in una sequenza di istruzioni semplici. Questo è esattamente quello che fa un programma: una lista di istruzioni che un computer esegue ciecamente, una alla volta. La CPU non ha mai "visto" la casetta — ha solo spostato e colorato.
Leggi queste istruzioni alla CPU. La CPU deve mimare ogni azione. Se chiede "come?", dettaglia di più. Se fa qualcosa di sbagliato, è colpa tua: non eri abbastanza preciso.
Non sai cosa stai facendo. Il Programmatore ti dirà cosa fare passo per passo. Mima ogni azione con le mani come se fosse reale. Se un'istruzione non è chiara, dici: "Istruzione non chiara, ripeti". Non cercare di indovinare.
Ricorda: Non pensare. Esegui. Se il Programmatore dice "inclina di 45 gradi", inclina di 45 gradi. Non di 44 e non di 46.
Le cose che per noi sono ovvie ("fai un caffè") per un computer non lo sono affatto. Un computer non sa cos'è un caffè, una moka, o l'acqua. Ha bisogno di istruzioni esplicite per ogni singolo passaggio. Questo è il motivo per cui programmare è difficile: devi spiegare tutto come se parlassi a qualcuno che non ha mai visto il mondo. È anche il motivo per cui i bug esistono — basta dimenticare un dettaglio.
Le 4 caselle partono tutte da 0. Leggi questa procedura alla CPU. Ripetetela 15 volte (una volta per ogni "numero" da contare). Dopo ogni ciclo, scrivi su un foglio il contenuto delle 4 caselle.
La regola (da leggere ogni volta):
0: scrivi 1 e fermati.1: scrivi 0 e spostati a sinistra.Esempio primi passi: 0000 → 0001 → 0010 → 0011 → 0100...
Queste sono le tue 4 caselle. All'inizio sono tutte 0. Fai esattamente quello che ti dice il Programmatore. Clicca sulle caselle per cambiare il valore (0/1).
Il sistema binario usa solo due cifre: 0 e 1. I computer usano questo sistema perché i circuiti elettronici hanno solo due stati: acceso o spento. La CPU non sapeva di star contando — ha solo applicato una regola meccanica ("se 0 scrivi 1, se 1 scrivi 0 e vai a sinistra"). Eppure il risultato è perfetto. Calcolare non richiede comprensione, solo regole precise.
Usa la stessa identica regola dell'esercizio precedente, applicata una sola volta. Fai eseguire alla CPU tutti e 3 gli esempi in ordine.
Sfida 1: Parti da 0100
Imposta le caselle a 0-1-0-0 e applica la regola. Risultato atteso: 0101
Sfida 2: Parti da 0111
Imposta le caselle a 0-1-1-1 e applica la regola. Risultato atteso: 1000
Sfida 3: Parti da 1001
Imposta le caselle a 1-0-0-1 e applica la regola. Risultato atteso: 1010
Il Programmatore ti dirà il numero di partenza. Imposta le caselle e poi applica la regola che ti viene letta.
Sfida 1: 0100 = 4, e 0101 = 5 (cioè 4+1). Sfida 2: 0111 = 7, e 1000 = 8 (il "riporto" ha attraversato tre caselle!). Sfida 3: 1001 = 9, e 1010 = 10. La stessa regola meccanica funziona sempre, qualunque sia il numero di partenza. La CPU non ha mai avuto bisogno di "capire" l'aritmetica.
La CPU ha 3 righe di caselle: Numero A, Numero B, Risultato. C'e anche una casella "Riporto" (inizia a 0). Leggi la procedura colonna per colonna, partendo da destra.
Imposta: A = 0101 (cioè 5), B = 0011 (cioè 3)
Regola (per ogni colonna, da destra a sinistra):
1 tra questi tre valori.0 nel Risultato, Riporto = 0.1 nel Risultato, Riporto = 0.0 nel Risultato, Riporto = 1.1 nel Risultato, Riporto = 1.Ecco le tue righe di caselle. Imposta i numeri come ti dice il Programmatore, poi segui le istruzioni colonna per colonna.
A = 0101 in binario corrisponde a 5. B = 0011 corrisponde a 3. Il risultato 1000 corrisponde a 8. La CPU ha eseguito l'addizione binaria contando il numero di "1" in ogni colonna — una regola puramente meccanica. Non ha mai avuto bisogno di sapere cosa sono i numeri. Questo è esattamente come funziona il processore del vostro computer: miliardi di operazioni come questa ogni secondo.
Leggi questa procedura alla CPU. Ripeti l'intero ciclo finche non completi un passaggio senza nessuno scambio.
La regola:
Disponi le carte in questa sequenza iniziale. Poi segui le istruzioni del Programmatore. Puoi solo guardare 2 carte alla volta.
Ordine finale atteso: 1, 2, 3, 5, 8, 9
Il Bubble Sort e uno degli algoritmi di ordinamento più semplici. Confronta coppie adiacenti e le scambia se sono nell'ordine sbagliato. È lento (per grandi quantità di dati i computer usano algoritmi più furbi), ma dimostra un principio fondamentale: con una regola semplicissima applicata ripetutamente, si può risolvere un problema complesso. La CPU non ha mai "visto" l'intera lista — ha solo confrontato coppie.
Il numero target e 42. Non dirlo alla CPU! Leggi la procedura e rispondi alle domande della CPU.
La regola:
Questa è la tua lista ordinata. Segui le istruzioni del Programmatore. Puoi sbarrare i numeri eliminati.
Conta quanti tentativi servono!
Invece di controllare i numeri uno per uno (che in media richiederebbe 8 tentativi su 15 numeri), avete dimezzato lo spazio a ogni passaggio. Risultato: il numero 42 si trova in massimo 4 tentativi! Con una lista di 1.000 numeri basterebbero 10 tentativi. Con un milione? Solo 20. Questo è il potere degli algoritmi: una regola intelligente rende possibile l'impossibile. Google cerca tra miliardi di pagine usando lo stesso principio.
Il messaggio da cifrare e: CIAO MONDO. La chiave e: spostamento di 3 posizioni in avanti nell'alfabeto. Non dire alla CPU cosa sta facendo!
La regola:
Usa questa tabella di sostituzione. Il Programmatore ti dirà una lettera: cercala nella riga "Originale" e scrivi la corrispondente dalla riga "Cifrata".
| Originale | A | B | C | D | E | F | G | H | I | J | K | L | M |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cifrata | D | E | F | G | H | I | J | K | L | M | N | O | P |
| Originale | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
| Cifrata | Q | R | S | T | U | V | W | X | Y | Z | A | B | C |
Messaggio cifrato:
"CIAO MONDO" è diventato "FLDR PRQGR". Questo metodo si chiama Cifrario di Cesare — Giulio Cesare lo usava davvero per comunicare con i suoi generali 2000 anni fa! La CPU non sapeva di star proteggendo un segreto: ha solo cercato lettere in una tabella e le ha sostituite. La crittografia moderna funziona con lo stesso principio (tabelle di sostituzione), ma con chiavi molto più complesse. Quando inviate un messaggio su WhatsApp, il vostro telefono fa qualcosa di simile — miliardi di volte più complicato, ma concettualmente identico.