Lezione 18: Divertiti usando i cicli con contatore

Lezione tradizionale | Cicli con contatore

Panoramica

Sappiamo che i cicli consentono di ripetere delle azioni più e più volte, ma ora impareremo come utilizzare i cicli con delle strutture aggiuntive integrate. Queste nuove strutture consentiranno agli alunni di creare del codice più potente e dinamico.

Traguardo di apprendimento

A questo punto, gli alunni sono diventati maestri nell'utilizzo dei cicli. Oggi impareranno un altro tipo di ciclo comunemente usato in programmazione. Il "ciclo con contatore" ripete le istruzioni che contiene un certo numero di volte, ma tiene anche traccia del valore di una particolare variabile che può utilizzare durante le iterazioni. Ad esempio, un ciclo può iniziare con il valore 4, terminare con il valore 8, incrementando di 1 ad ogni iterazione, si ripeterà quindi 4 volte; ed i valori 4, 5, 6 e 7 verranno catturati in una particolare variabile per poter essere utilizzati nel codice. L'uso di questa struttura permette di creare programmi davvero fantastici. Oggi gli alunni impareranno semplicemente le basi del "ciclo con contatore", ma nella prossima lezione lo sfrutteranno appieno!

Pianificazione

Introduzione (20 min)

Attività principale (20 min)

Conclusione (15 min)

Verifica (5 min)

Approfondimenti

Visualizza in Code Studio

Obiettivi

Gli alunni saranno in grado di:

  • determinare il valore iniziale, il valore finale ed il passo di un "ciclo con contatore"
  • illustrare i valori che assume la variabile contatore durante ogni iterazione del ciclo

Preparazione

  • Guarda il [teacher-video-for-loop-fun-2][0].
  • Guarda il [lesson-in-action-for-loop-fun][1].
  • Stampa una copia per ogni gruppo del documento [csf-for-loop-fun-worksheet][2].
  • Stampa una copia per ogni alunno del documento [csf-for-loop-fun-assessment][3].
  • Assicurati che ogni alunno abbia un [think-spot-journal][4].

Collegamenti

Attenzione! Fai una copia di tutti i documenti che intendi condividere con gli alunni.

Per gli insegnanti

Per gli alunni

Glossario

  • Cicli con contatore - Un’istruzione di ripetizione (ciclo) basata su una variabile contatore, caratterizzata da un valore iniziale, un valore finale ed un “passo” (la quantità di cui viene incrementata o decrementata ad ogni ripetizione).

Guida didattica

Introduzione (20 min)

Glossario

In questa lezione viene presentato un termine molto importante:

  • Ciclo con contatore - Ripetiamo insieme: Ci-clo con con-ta-to-re

Un’istruzione di ripetizione (ciclo) basata su una variabile contatore, caratterizzata da un valore iniziale, un valore finale ed un “passo” (la quantità di cui viene incrementata o decrementata ad ogni ripetizione).

Per tutte le esigenze

  • Fai notare che ci sono alcuni cicli che si utilizzano molto frequentemente, ad esempio cicli in cui devi tenere traccia di quante volte lo hai eseguito
    • a volte, non vuoi iniziare da 1
    • a volte, non vuoi contare con passo 1
    • i cicli con contatore ti danno la formidabile possibilità di gestire un contatore che inizia dal valore che vuoi, termina con il valore che vuoi e aumenta (o diminuisce) di qualsiasi passo tu voglia

A questo punto puoi direttamente mostrare un esempio del gioco:

Attività principale (20 min)

Divertiti usando i cicli con contatore - Esercitazione

A volte vogliamo ripetere le istruzioni contenute in un ciclo un certo numero di volte, ma vogliamo tenere anche traccia del valore di una particolare variabile da utilizzare durante le iterazioni. È qui che torna utile un "ciclo con contatore". Quando usi un ciclo con contatore, sai fin dall'inizio qual è il valore iniziale della variabile contatore, qual è il suo valore finale e di quanto il valore cambia ad ogni iterazione del ciclo.

Suggerimenti

Facendo questo gioco, è come usare il seguente ciclo con contatore

per ogni x (x=valoreIniziale; x <= valoreFinale; x = x + passo){
cerchia valoreXattuale;
aggiungi valoreXattuale a punteggio;
}

Blocco del "ciclo con contatore" per (in molti linguaggi di programmazione è indicato con il termine inglese for)

Istruzioni

Suggerimenti

Se uno qualsiasi dei valori ottenuti dal lancio dei dadi risulta al di fuori dei limiti indicati dal gioco (come il lancio di un valore iniziale di 6 ma poi il lancio di 2, 1, 2 per il valore finale: 2+1+2=5, in questa fase non conviene ancora considerare un ciclo che conta all'indietro), chiedi all'alunno di ripetere i lanci.

Per i bambini potrebbe essere difficile comprendere questo pseudo-codice, ma potrebbe essere utile spiegare ad alta voce (aiutandosi magari con uno schema) cosa succederà all'interno del ciclo con contatore.

  • Dividi gli alunni in coppie
  • Per iniziare il turno, ogni alunno tira tre volte:
    • un dado per determinare il valore iniziale di X
    • tre dadi per determinare il valore finale di X
    • un dado per determinare il valore del passo
  • L'alunno usa una delle linee numeriche fornite, per schematizzare il ciclo con contatore che ha creato
    • Inizia dal valore iniziale di X
    • Conta lungo la linea numerica, cerchiando i valori assunti dalla variabile X
    • Fermati quando arrivi al valore finale predeterminato
  • Somma tutti i valori cerchiati al tuo punteggio, quindi lascia che il compagno giochi il suo turno
  • Vince chi conquista 2 turni su 3

Conclusione (15 min)

Tiriamo le somme: cosa abbiamo imparato?

Suggerimenti

Queste domande servono per mettere in relazione i concetti appresi nella lezione con un quadro più generale relativo al futuro degli alunni. In base alla tua conoscenza della classe, valuta se è meglio discuterne in classe, in gruppo o a coppie.

  • Quale dovrebbe essere il "passo" se volessi contare da 4 a 13 per tre?
  • Cosa pensi di riuscire a realizzare grazie al ciclo con contatore?
  • Puoi riprodurre un ciclo normale usando un ciclo con contatore?
  • Come potresti farlo?

Diario di bordo

Far scrivere agli alunni ciò che hanno appreso, perché è utile e come si sentono al riguardo, può aiutare a consolidare le conoscenze acquisite oggi e a creare un riferimento da consultare in futuro.

Spunti per il diario di bordo

  • Di cosa trattava la lezione di oggi?
  • Come ti sei sentito durante la lezione di oggi?
  • Cos'è un ciclo con contatore?
  • Perché dovresti usare un "ciclo con contatore" invece di un normale ciclo ripeti ... volte o un ciclo mentre?

Verifica (5 min)

Divertiti usando i cicli con contatore - Verifica

Distribuisci la verifica e, dopo aver fornito sufficienti istruzioni, consenti agli alunni di completare l'attività in modo indipendente. Grazie alle attività svolte, l'argomento dovrebbe risultare familiare.

Approfondimenti

Sfrutta queste attività per migliorare l'apprendimento degli studenti. Possono essere anche utilizzate come attività extra-scolastiche.

Alla rovescia!

  • Prova di nuovo la medesima attività, ma questa volta seleziona il valore iniziale usando tre dadi ed il valore finale con uno solo ed imposta un incremento negativo!

Il gioco della campana

  • Usando un gesso, disegna su un pavimento adatto lo schema del gioco della campana
    • Numera le caselle dal basso verso l'alto
    • Chiedi agli alunni di definire una casella iniziale, una casella finale e quante ne devono saltare ogni volta (il passo)
    • Quando il percorso è stato eseguito, chiedi agli alunni di scrivere il ciclo che hanno appena eseguito
    • Per aggiungere complessità, puoi definire diverse attività da svolgere in ogni casella
  • Levels
  • 1
  • (click tabs to see student view)
Visualizza in Code Studio

Student Instructions

Mappatura delle competenze

Visualizza la mappatura completa del corso

CSTA K-12 Computer Science Standards (2017)

AP - Algoritmi e programmazione
  • 1B-AP-09 - Crea programmi che utilizzano variabili per memorizzare e modificare i dati.
  • 1B-AP-11 - Scompone (suddivide) i problemi in sotto-problemi più piccoli e gestibili per facilitare il processo di sviluppo del programma.

Competenze interdisciplinari

Questo elenco riporta le competenze di altre materie sulle quali gli alunni hanno l'opportunità di esercitarsi in questa lezione.

Competenze linguistiche

L - Lingua
  • 5.L.6 - Acquisire e utilizzare parole e frasi accademiche generali e specifiche del dominio appropriate al livello scolare, comprese quelle che segnalano contrasto, addizione e altre relazioni logiche (ad esempio, tuttavia, sebbene, allo stesso modo, in aggiunta, in aggiunta).
SL - Parlare e ascoltare
  • 5.SL.1 - Impegnarsi efficacemente in una serie di discussioni collaborative (in coppia, in gruppo e guidate dall'insegnante) con diversi compagni su argomenti e testi della quinta classe, basandosi sulle idee altrui ed esprimendo chiaramente le proprie.
  • 5.SL.1.a - Presentarsi alle discussioni preparato, dopo aver letto o studiato il materiale richiesto; attingere esplicitamente a quella preparazione e ad altre informazioni note sull'argomento per esplorare le idee in discussione.
  • 5.SL.4 - Riferire su un argomento o testo o presentare un'opinione, sequenziando le idee in modo logico e utilizzando fatti appropriati e dettagli pertinenti e descrittivi a supporto delle idee o dei temi principali; parlare chiaramente a un ritmo comprensibile.
  • 5.SL.6 - Adattare il discorso a una varietà di contesti e compiti, utilizzando l'inglese formale quando appropriato al compito e alla situazione.

Competenze matematiche

MP - Esercizi di matematica
  • MP.1 - Comprende il significato dei problemi e persevera nella loro soluzione.
  • MP.2 - Ragiona in modo astratto e quantitativo.
  • MP.4 - Modellare con la matematica
  • MP.6 - Punta alla precisione.
  • MP.7 - Cerca e fa uso di strutture.
OA - Operazioni e pensiero algebrico
  • 5.OA.2 - Scrivi delle semplici espressioni che registrano i calcoli con i numeri e interpreta le espressioni numeriche senza valutarle. Ad esempio, esprimi il calcolo "somma 8 e 7, poi moltiplica per 2" come 2 × (8 + 7). Riconosci che 3 × (18932 + 921) è...

Competenze scientifiche

ETS - Engineering in the Sciences
ETS1 - Progettazione
  • 3-5-ETS1-1 - Definire un semplice problema di progettazione che rifletta un'esigenza o un desiderio che includa criteri specifici per il successo e vincoli su materiali, tempi o costi.