Lezione 9: Cicli "mentre" con la contadina

Cicli "mentre" | Cicli | Contadina

Panoramica

Quando gli alunni arrivano a questa lezione, dovrebbero avere già molta pratica nell'uso dei cicli ripeti ___ volte, quindi è il momento di aggiungere qualcosa di nuovo.

I cicli "mentre" sono cicli che continuano a ripetere le istruzioni che contengono fin a soddisfare una certa condizione. Questi cicli vengono utilizzati quando il programmatore non conosce a priori il numero esatto di volte che le istruzioni devono essere ripetute, ma sa quale condizione deve essere soddisfatta per tutto il tempo in cui il ciclo deve continuare a ripetersi. Ad esempio, gli alunni dovranno far in modo che la Contadina continui a riempire buche o rimuovere mucchi di terra. Non conosceranno le dimensioni dei buchi o dei mucchi, ma sapranno che devono continuare a riempire i buchi e rimuovere palate di terra dai mucchi finché il terreno non è piatto.

Traguardo di apprendimento

Man mano che i tuoi alunni continuano ad approfondire la loro conoscenza dei cicli, si imbatteranno in problemi in cui un'istruzione deve essere ripetuta, ma non si sa per quante volte. È qui che entrano in gioco i cicli mentre. Nella lezione di oggi, gli alunni svilupperanno una comprensione di base dei cicli condizionali, ampliando anche la loro conoscenza dei cicli in generale.

Pianificazione

Introduzione (10 min)

Attività principale (30 min)

Conclusione (15 min)

Approfondimenti

Visualizza in Code Studio

Obiettivi

Gli alunni saranno in grado di:

  • distinguere tra cicli che si ripetono un numero fisso di volte e cicli che si ripetono per tutto il tempo in cui una certa condizione è vera
  • usare un ciclo "mentre" per creare programmi in grado di risolvere problemi con valori di ripetizione sconosciuti

Preparazione

Collegamenti

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

Per gli insegnanti

Per gli alunni

Glossario

  • Condizione - Una situazione che un programma controlla per decidere se permettere o meno una certa azione.
  • Ciclo - L'azione di ripetere qualcosa più e più volte.
  • Ripeti - Fai di nuovo qualcosa
  • Ciclo "mentre" - Un ciclo che si ripete per tutto il tempo in cui una certa condizione risulta vera

Guida didattica

Introduzione (10 min)

Presentazione

Utilizza il termine "mentre" in una frase davanti ai tuoi alunni. Chiedi agli alunni cosa significa la parola "mentre". Se dicessi "mentre c'è una buca, riempila di terra" cosa dovrebbero fare? Per quanto tempo lo farebbero?

Quando usi una parola come "mentre", ti stai affidando ad una condizione per dire al computer quanto deve essere eseguito quel ciclo. Una condizione è una situazione che viene controllata per verificare se è vera o falsa. Nel caso precedente, la condizione è "se c'è una buca". Le uniche alternative possibili sono: "c'è una buca" o "non c'è una buca", quindi l'affermazione può essere solo vera o falsa.

Spiega agli alunni che impareranno un nuovo tipo di ciclo. In precedenza gli alunni utilizzavano i cicli solo per ripetere un'istruzione un preciso numero di volte. In questi esercizi non sapranno sempre quante volte deve essere ripetuta una certa istruzione, tuttavia sapranno quando proseguire e quando fermarsi. I cicli mentre consentono al programmatore di ripetere un'istruzione mentre una condizione è vera. Nell'esempio precedente, la condizione è l'esistenza di una buca.

Se c'è tempo, chiedi agli alunni di discutere altre situazioni in cui potrebbe essere utile usare un ciclo mentre. Ecco dei possibili esempi:

  • correre verso una palla mentre si trova di fronte a te,
  • versare dell'acqua mentre c'è spazio in un bicchiere,
  • camminare mentre c'è strada in avanti.

Attività principale (30 min)

Corso D - Esercizi online 2018 - Sito web

Solitamente gli alunni comprendono facilmente i cicli mentre, ma se pensi che la tua classe possa avere problemi con questi esercizi, ti consigliamo di sfruttare la Programmazione in coppia - Video per gli alunni. Ciò consentirà agli alunni di scambiarsi idee l'un l'altro mentre programmano. La programmazione in coppia contribuisce a migliorare la sicurezza e la comprensione di argomenti come i cicli "mentre".

Conclusione (15 min)

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?
  • Qual è la differenza tra un ciclo mentre e un normale ciclo ripeti ___ volte?
  • Fai un esempio di un esercizio in cui potresti usare un ciclo mentre, ma non un ciclo ripeti ___ volte. Riesci a fare un esempio di un esercizio in cui potresti usare un ciclo ripeti ___ volte, ma non un ciclo mentre?

Approfondimenti

Il ballo di Simone - "mentre"

Vai con la tua classe in un ampio spazio e chiedi agli alunni di mettersi in fila di fronte a te. Assicurati che ogni alunno possa vederti. Definisci alcuni cicli "mentre" come:

  • mentre la mia mano destra è in alto, camminate verso di me;
  • mentre mi copro gli occhi, saltate verso di me;
  • mentre la mia testa è girata a destra, camminate all'indietro.

Vince il primo alunno che ti raggiunge. Se c'è tempo, lascia che gli altri alunni ricoprano il ruolo di "Simone" di fronte alla classe.

Visualizza in Code Studio

Student Instructions

"Hi, I'm a farmer. I need your help to flatten the field on my farm so it's ready for planting!"

Move to the pile of dirt and use the remove block to remove it.

Visualizza in Code Studio

Student Instructions

Visualizza in Code Studio

Student Instructions

"Move to the pile of dirt and tell me how many shovelfuls to remove."

Use as few blocks as possible to solve this puzzle.

Visualizza in Code Studio

Student Instructions

Look closely at the code below. What will happen after you click "Run"?

Nothing will happen.

The farmer will never stop removing dirt.

The farmer will remove dirt as long as there is a pile, then stop when the pile is gone.

I don't know.

Visualizza in Code Studio

Student Instructions

"I don't know how much dirt is in this pile!"

Help the farmer remove this entire pile using a while loop.

Visualizza in Code Studio

Student Instructions

Visualizza in Code Studio

Student Instructions

Look at all of those holes! Each one needs a different amount of dirt.

You can use the while loop to easily fill them all!

Visualizza in Code Studio

Student Instructions

Visualizza in Code Studio

Student Instructions

Challenge: Fill all of these holes using as few blocks as possible.

Visualizza in Code Studio

Student Instructions

Visualizza in Code Studio

Student Instructions

Visualizza in Code Studio

Student Instructions

Take a good look at the code below. What will be left at the end of this puzzle?

Nothing. This code will leave only level ground.

This code will leave the pile completely untouched.

This code will leave the holes completely untouched.

I don't know.

Mappatura delle competenze

Visualizza la mappatura completa del corso

CSTA K-12 Computer Science Standards (2017)

AP - Algoritmi e programmazione
  • 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
  • 3.L.6 - Acquisire e utilizzare parole e frasi colloquiali, accademiche generali e specifiche del dominio appropriate al livello scolare, comprese quelle che segnalano le relazioni spaziali e temporali (ad esempio, dopo cena quella sera siamo andati a cercarli).
SL - Parlare e ascoltare
  • 3.SL.1 - Impegnarsi efficacemente in una serie di discussioni collaborative (a tu per tu, 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.
  • 3.SL.3 - Porre e rispondere a domande sulle informazioni da un oratore, offrendo elaborazione e dettagli appropriati.
  • 3.SL.6 - Produrre frasi complete quando appropriato per compito e situazione al fine di fornire i dettagli o i chiarimenti richiesti.

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.5 - Utilizza strategicamente strumenti appropriati.
  • MP.6 - Punta alla precisione.
  • MP.7 - Cerca e fa uso di strutture.
  • MP.8 - Cerca ed esprime delle regolarità nel ragionamento ciclico.
OA - Operazioni e pensiero algebrico
  • 3.OA.3 - Usare la moltiplicazione e la divisione entro 100 per risolvere problemi di parole in situazioni che coinvolgono gruppi uguali, matrici e quantità di misura, ad esempio utilizzando disegni ed equazioni con un simbolo per il numero sconosciuto per rappresentare il problema.1

Competenze scientifiche

ETS - Engineering in the Sciences
ETS1 - Progettazione
  • 3-5-ETS1-2 - Generare e confrontare più possibili soluzioni a un problema in base alla probabilità che ciascuna soddisfi i criteri e i vincoli del problema.