Non Versare il Liquido! - Il Gioco della Mano Ferma
Hai imparato a prendere decisioni basate su una sola domanda. Ma cosa succede quando una decisione dipende da più cose contemporaneamente? Per entrare in un account ti servono il nome utente giusto E la password giusta. In questa missione metterai alla prova la tua mano ferma con un gioco di equilibrio e imparerai a usare il potente operatore logico "E" (AND) per costruire condizioni complesse. Preparati a programmare una decisione che richiede il doppio della precisione!
Livello Intermedio
Cosa faremo?
Sei un insegnante?
Corsi
- Classi 6-12
Materiali
- Cellulare e computer
- Connessione a Internet
- Cartone, forbici e un paio di elastici per fissare il telefono al cartone
Descrizione
Questa attività introduce gli studenti ai condizionali composti attraverso l'operatore logico "E" (AND). Costruiranno un gioco di equilibrio in cui due condizioni del sensore (l'inclinazione sull'asse X e quella sull'asse Y trasformate in posizioni dei LED) devono essere vere contemporaneamente per riuscire. Questo insegna un modo di prendere decisioni più avanzato e più vicino alla realtà.
Obiettivi Educativi
- Comprendere e applicare l'operatore logico "E" (AND).
- Costruire istruzioni condizionali composte che valutano più condizioni.
- Risolvere un problema che richiede la verifica simultanea di più input.
- Applicare la logica booleana a uno scenario di gioco interattivo.
Inizio (10 minuti) - Il Potere della "E"
- Dai il benvenuto alla classe: "Oggi i nostri programmi impareranno a fare più cose insieme quando prendono una decisione. Costruiremo un gioco che metterà alla prova la vostra mano ferma e la vostra concentrazione."
- Introduci il concetto con un'analogia: "Per entrare in un'area ad alta sicurezza potrebbero servirti un badge E una scansione della retina. Una cosa sola non basta, servono tutte e due. In programmazione usiamo l'operatore 'E' proprio per questo tipo di situazioni rigorose."
- Collega tutto al gioco: "Per non 'versare il liquido' nel nostro gioco dovrai mantenere l'equilibrio da sinistra a destra E da avanti a indietro allo stesso tempo. Vediamo come si programma questa doppia condizione!"
Decisioni con Più Requisiti
Nella vita reale una sola domanda spesso non basta. Perché un'auto a guida autonoma attraversi un incrocio, il semaforo deve essere verde E non ci devono essere pedoni che stanno attraversando. Per comprare un oggetto in un videogioco devi avere abbastanza oro E avere spazio nel tuo inventario. La vita è piena di decisioni che dipendono da più fattori, e devono essere tutti veri nello stesso momento.
L'Operatore Logico 'E' (AND)
L'operatore "E" (AND) è lo strumento che usiamo per combinare più domande. È come una guardia di sicurezza molto severa che chiede due documenti d'identità. Ti lascia passare solo se il primo è valido E anche il secondo è valido. Se anche uno solo dei due non va bene, l'intera condizione è considerata falsa. Nella logica booleana:
VEROEVERO= VEROVEROEFALSO= FALSOFALSOEVERO= FALSOFALSOEFALSO= FALSO
La Logica dell'Equilibrio
Nel nostro gioco, la logica per restare nella zona "sicura" è una condizione composta:
SE (l'inclinazione su X trasformata in posizioni LED è tra i LED 3 e 5) E (l'inclinazione su Y trasformata in posizioni LED è tra i LED 3 e 5)
ALLORA... sei al sicuro.
ALTRIMENTI... allarme!
Se ti inclini troppo in avanti (fallisce la condizione Y) o troppo verso sinistra (fallisce la condizione X), il risultato complessivo della "E" sarà FALSO e perderai l'equilibrio.
Sviluppo (20-30 minuti) - Programmiamo l'Equilibrio
- Ora che gli studenti hanno capito perché serve verificare due cose insieme, è tempo di costruire il gioco.
- Guidali attraverso le istruzioni per creare il gioco di equilibrio, prestando particolare attenzione a come si costruisce il blocco 'E' (AND) annidando al suo interno le due condizioni, come dettagliato qui sotto. Incoraggiali a scoprire quanto è difficile tenere vere entrambe le condizioni allo stesso tempo.
Chiusura (7-10 minuti) - La Logica Severa della "E"
- Una volta che tutti stanno provando a battere il gioco, riflettete insieme sulla logica che lo fa funzionare.
- Avvia la discussione: "Analizziamo la nostra condizione. Se mantieni un equilibrio perfetto da sinistra a destra, ma ti inclini molto in avanti, perché suona l'allarme? Perché l'operatore 'E' è molto severo. In quali altre situazioni della vita reale servono due o più condizioni vere allo stesso tempo?"
Rifletti
Che cosa fa l'operatore "E" (AND)? Perché in questo gioco è servito al posto di un semplice "Se"?
Descrivi una situazione in cui l'allarme suonerebbe. Che valori dovrebbero avere ledX e ledY perché succeda — e da che parte dovresti inclinare il cellulare per ottenerlo?
Se volessi rendere il gioco più facile, allargheresti o restringeresti l'intervallo dei numeri sicuri (che adesso va da 3 a 5)?
Decisioni con Più Requisiti
Nella vita reale una sola domanda spesso non basta. Perché un'auto a guida autonoma attraversi un incrocio, il semaforo deve essere verde E non ci devono essere pedoni che stanno attraversando. Per comprare un oggetto in un videogioco devi avere abbastanza oro E avere spazio nel tuo inventario. La vita è piena di decisioni che dipendono da più fattori, e devono essere tutti veri nello stesso momento.
L'Operatore Logico 'E' (AND)
L'operatore "E" (AND) è lo strumento che usiamo per combinare più domande. È come una guardia di sicurezza molto severa che chiede due documenti d'identità. Ti lascia passare solo se il primo è valido E anche il secondo è valido. Se anche uno solo dei due non va bene, l'intera condizione è considerata falsa. Nella logica booleana:
VEROEVERO= VEROVEROEFALSO= FALSOFALSOEVERO= FALSOFALSOEFALSO= FALSO
La Logica dell'Equilibrio
Nel nostro gioco, la logica per restare nella zona "sicura" è una condizione composta:
SE (l'inclinazione su X trasformata in posizioni LED è tra i LED 3 e 5) E (l'inclinazione su Y trasformata in posizioni LED è tra i LED 3 e 5)
ALLORA... sei al sicuro.
ALTRIMENTI... allarme!
Se ti inclini troppo in avanti (fallisce la condizione Y) o troppo verso sinistra (fallisce la condizione X), il risultato complessivo della "E" sarà FALSO e perderai l'equilibrio.
Crea
Metti alla prova la tua mano ferma!
Costruisci il modellino di cartone— servono anche un paio di elastici per fissare il telefono al cartone
- Ci serviranno 3 componenti sul nostro smartphone: Inclinazione per misurare l'equilibrio su entrambi gli assi, DisegnoLED per l'indicatore visivo (la 'bolla' della livella) e TastieraMusicale per i suoni di successo e di allarme.
- Ricordati di scansionare tutti i codici ▣ QR sullo stesso dispositivo.
Siamo pronti per la sfida dell'equilibrio!
Composizione del Codice
All'avvio del programma imposteremo la variabile deveSuonareAllarme a vero; poi, nel blocco ripeti per sempre, imposteremo le variabili xSpostato e ySpostato, che conservano i valori dell'inclinazione sull'asse X e sull'asse Y, rispettivamente, con 100 in più per spostarli in un intervallo positivo. Imposteremo anche le variabili ledX e ledY, che indicano in quale posizione dello schermo dovranno accendersi i LED a seconda dell'inclinazione del dispositivo: in ognuna salviamo la variabile di inclinazione spostata corrispondente moltiplicata per 7 (per riscalarla alla dimensione dello schermo LED) e poi divisa per 198, il tutto dentro il blocco arrotonda per eccesso. Così ci assicuriamo che l'inclinazione del nostro cellulare si adatti sempre allo schermo LED.
La chiave di questo codice arriva adesso: imposteremo le variabili centratoX e centratoY, ognuna delle quali verifica due condizioni separate. Per esempio, centratoX controlla se ledX è sul terzo LED dello schermo o più avanti e, allo stesso tempo, grazie al blocco e, valuta se ledX è sul quinto LED o su uno precedente: il risultato è che la variabile centratoX sarà vera solo se ledX è tra i LED 3 e 5. Lo stesso succede, in modo analogo, con la variabile centratoY, solo che con ledY.
Poi, dentro il blocco se, vedrai un blocco e che contiene due condizioni separate, una per l'asse X e una per l'asse Y. Il programma le valuta entrambe a ogni ciclo. Solo se sono vere tutte e due nello stesso momento verrà eseguito il codice dell'indicatore verde. Dentro il percorso verde c'è inoltre un se deveSuonareAllarme: fa suonare la nota di successo una sola volta quando entri nella zona (la bandierina passa a falso), e il ramo dell'allarme la rimette a vero, lasciandola pronta per la prossima volta che ritrovi l'equilibrio. Nel momento in cui una delle due fallisce, l'intera condizione e diventa falsa e il programma salta subito al blocco altrimenti per far scattare l'allarme, dove i LED vengono disegnati in rosso e accompagnati da effetti sonori che segnalano che il cellulare non è a livello.
Infine, una precisazione: per disegnare la posizione del LED si usa sull'asse X la posizione di ledY e sull'asse Y quella di ledX, perché in origine i sensori di inclinazione del cellulare contano i valori con il cellulare in posizione verticale, mentre in questa attività lo usiamo in orizzontale, con lo schermo rivolto verso l'alto: per questo dobbiamo invertire gli assi.
Rifletti
Che cosa fa l'operatore "E" (AND)? Perché in questo gioco è servito al posto di un semplice "Se"?
Descrivi una situazione in cui l'allarme suonerebbe. Che valori dovrebbero avere ledX e ledY perché succeda — e da che parte dovresti inclinare il cellulare per ottenerlo?
Se volessi rendere il gioco più facile, allargheresti o restringeresti l'intervallo dei numeri sicuri (che adesso va da 3 a 5)?