Il Faro
Una semplice luce lampeggiante è bella, ma un vero faro ha un bagliore dolce e graduale. Come possiamo programmare quell’effetto di dissolvenza in entrata e in uscita? In questa missione, imparerai a usare il loop ‘For’ — un potente loop progettato per essere eseguito per un numero preciso di passaggi. Preparati a programmare un bellissimo faro pulsante che si illumina e si attenua gradualmente.
Loop; Loop for; Loop annidati; Variabili; Temporizzazione; Effetto graduale; Eventi
Sei un insegnante?
Corsi
- Classi 6-12
Materiali
- Cellulare, tablet o computer
- Connessione a Internet
Obiettivi Educativi
- Comprendere il concetto di un loop FOR.
- Creare un oggetto tecnologico (prototipo) utilizzando un dispositivo.
- Identificare le relazioni tra la tecnologia e il mondo circostante.
- Valutare il proprio lavoro e quello dei pari.
- Partecipare a dialoghi e riflessioni su idee di miglioramento.
Inizio (10 minuti) - Il Loop Controllato
- Dai il benvenuto agli studenti e presenta l’attività del giorno: “Oggi impareremo a prototipare un faro con una luce graduale e luminosa.”
- Introduci il nuovo strumento di programmazione di oggi. Chiedi alla classe: “E se avessimo bisogno di un loop che venga eseguito un numero esatto di volte, come 100 passaggi per passare da debole a luminoso?”
- Spiega che mentre un loop ‘per sempre’ è ottimo per l’automazione infinita, a volte abbiamo bisogno di più controllo. È qui che entra in gioco il loop ‘For’. Scomponi i suoi componenti per loro: una variabile contatore, un valore iniziale, un valore finale e un passo. Questo è lo strumento perfetto per creare animazioni fluide e graduali.
Il Loop FOR
Un loop ‘conta con variabile’, noto nella maggior parte dei linguaggi di programmazione come loop ‘for’, è progettato per ripetere un blocco di codice un numero specifico e noto di volte. Utilizza una variabile contatore per tenere traccia del suo progresso da un punto di partenza a un punto di arrivo.
Componenti del loop FOR
Pensa a un loop ‘For’ come a un piano di missione:
- Variabile: Il tuo contatore o “agente” che eseguirà il conteggio (ad es.
i
ointensita
). - Valore iniziale: Il numero di partenza per il tuo contatore.
- Valore finale: Il numero di destinazione in cui il loop si fermerà.
- Passi: Quanto cambia il contatore in ogni ripetizione (ad es. contando in avanti di 1, o all’indietro di 1).
Come lo usiamo per un bagliore graduale?
Un loop ‘for’ è perfetto per l’animazione perché viene eseguito per un numero noto di passaggi. Per far illuminare gradualmente il nostro faro, useremo un loop ‘for’ che conta una variabile intensita
da 0 a 100. In ogni passaggio, impostiamo la luminosità della luce sul valore corrente di intensita
. Questo crea una dissolvenza in entrata fluida. Per attenuarlo, useremo un secondo loop ‘for’ che conta intensita
da 100 a 0!
Sviluppo (20-30 minuti) - Costruzione del Bagliore
- Ora che gli studenti comprendono i meccanismi di un loop ‘For’, è tempo di costruire l’effetto di bagliore graduale.
- Guidali attraverso le istruzioni per creare il prototipo del faro, come dettagliato nella sezione pratica qui sotto. Presta molta attenzione a come useranno due loop ‘For’: uno per contare in avanti (dissolvenza in entrata) e un secondo per contare all’indietro (dissolvenza in uscita).
Chiusura (5-10 minuti) - Il Grande Dibattito sui Loop
- Una volta che tutti hanno un faro funzionante con un impulso fluido, è tempo di un’immersione più profonda nella teoria dei loop. Questo è un momento concettuale chiave.
- Usa la sezione finale per guidare una discussione critica che confronta il loop ‘For’ con il loop ‘While’ che hanno visto prima. Sfidali a ricostruire questo progetto con lo strumento “sbagliato” per vedere perché i programmatori scelgono loop diversi per lavori diversi.
Rifletti: FOR vs. WHILE
Ora hai usato diversi tipi di loop. Confrontiamoli.
- Qual è la differenza principale tra un loop ‘for’ (conta con variabile) e un loop ‘while’ (ripeti mentre)?
- Un loop ‘for’ è ottimo quando conosci i punti di inizio e fine esatti (come da 0 a 100). Un loop ‘while’ è ottimo quando devi solo aspettare che una condizione cambi.
- Ci sono casi in cui potresti usare entrambi? Assolutamente!
Il Loop FOR
Un loop ‘conta con variabile’, noto nella maggior parte dei linguaggi di programmazione come loop ‘for’, è progettato per ripetere un blocco di codice un numero specifico e noto di volte. Utilizza una variabile contatore per tenere traccia del suo progresso da un punto di partenza a un punto di arrivo.
Componenti del loop FOR
Pensa a un loop ‘For’ come a un piano di missione:
- Variabile: Il tuo contatore o “agente” che eseguirà il conteggio (ad es.
i
ointensita
). - Valore iniziale: Il numero di partenza per il tuo contatore.
- Valore finale: Il numero di destinazione in cui il loop si fermerà.
- Passi: Quanto cambia il contatore in ogni ripetizione (ad es. contando in avanti di 1, o all’indietro di 1).
Come lo usiamo per un bagliore graduale?
Un loop ‘for’ è perfetto per l’animazione perché viene eseguito per un numero noto di passaggi. Per far illuminare gradualmente il nostro faro, useremo un loop ‘for’ che conta una variabile intensita
da 0 a 100. In ogni passaggio, impostiamo la luminosità della luce sul valore corrente di intensita
. Questo crea una dissolvenza in entrata fluida. Per attenuarlo, useremo un secondo loop ‘for’ che conta intensita
da 100 a 0!
Crea il Faro
Creiamo il prototipo che ci permette di controllare il faro.
Avremo bisogno di 2 componenti: una lampada che sia la nostra fonte di luce e un interruttore per accendere e spegnere l’intero sistema.
1
Premi ✙ Aggiungi Dispositivo, seleziona Lampada e usa Apri in questa finestra o uno smartphone.
2
Premi ✙ Aggiungi Dispositivo e seleziona Interruttore.
Siamo pronti per iniziare a prototipare!
Composizione del Codice
Clicca sull’icona del punto interrogativo per aprire i commenti che spiegano il codice.
Rifletti: FOR vs. WHILE
Ora hai usato diversi tipi di loop. Confrontiamoli.
- Qual è la differenza principale tra un loop ‘for’ (conta con variabile) e un loop ‘while’ (ripeti mentre)?
- Un loop ‘for’ è ottimo quando conosci i punti di inizio e fine esatti (come da 0 a 100). Un loop ‘while’ è ottimo quando devi solo aspettare che una condizione cambi.
- Ci sono casi in cui potresti usare entrambi? Assolutamente!
Sfida: Puoi modificare questo progetto per farlo funzionare allo stesso modo ma usando blocchi “ripeti mentre” invece di blocchi “conta con variabile”?
Suggerimento: Dovresti creare la tua variabile intensita
, aggiungere o sottrarre manualmente 1 da essa all’interno del loop e far funzionare il loop mentre intensita
è inferiore a 100 (o maggiore di 0).