Vai al contenuto

Strutture di iterazione

In questa lezione impari a

  • usare il blocco Mentre (While) per la ripetizione indefinita
  • usare il blocco Per (For) per la ripetizione definita
  • usare contatori e accumulatori
  • evitare i cicli infiniti

L'ultimo grande blocco: ripetere istruzioni senza doverle scrivere cento volte.

Il blocco Mentre (While)

Il blocco Mentre ripete un gruppo di istruzioni finché una condizione resta vera. Si usa quando non sai in anticipo quante volte servirà ripetere.

Mentre risposta == "si"
contatore = contatore + 1
Input risposta
↩ torna a controllare la condizione

Attenzione al ciclo infinito: se la condizione non diventa mai falsa (per esempio dimentichi di far cambiare risposta dentro il ciclo), il programma non si ferma più. Controlla sempre che dentro il ciclo qualcosa avvicini la fine.

Il blocco Per (For)

Il blocco Per ripete un numero definito di volte, usando da solo un contatore. Quando lo modifichi, Flowgorithm chiede: variabile contatore, valore iniziale, valore finale e incremento.

Per i = 1 a 10
Output i
↩ aumenta i e ripete, finché i ≤ 10

Contatori e accumulatori

Concetto Cosa fa Esempio
Contatore conta quante volte succede qualcosa contatore = contatore + 1
Accumulatore somma via via dei valori totale = totale + valore

Contatore e accumulatore vanno dichiarati e messi a 0 prima del ciclo, altrimenti il primo calcolo parte da un valore sbagliato.

Esercizi

⭐ Facile

Esercizio 1 – Quante flessioni riesci a fare? Un ciclo Mentre conta le flessioni finché l'utente non dice basta.

  1. Dichiara contatore (Integer, parte da 0) e risposta (String).
  2. Mentre risposta <> "basta": aumenta contatore di 1 e chiedi "Fatta un'altra? (scrivi basta per fermarti)".
  3. Fuori dal ciclo mostra: "Hai fatto " & contatore & " flessioni!".

⭐ Facile

Esercizio 2 – La tabellina. Con un ciclo Per stampa la tabellina di un numero a scelta.

  1. Dichiara e chiedi numero (Integer).
  2. Per i da 1 a 10 mostra: numero & " x " & i & " = " & (numero * i).

⭐⭐ Medio

Esercizio 3 – Quanto spendi in snack? Somma le spese di una settimana con un accumulatore.

  1. Dichiara totale (Real, parte da 0) e speseGiorno (Real).
  2. Per i da 1 a 7: chiedi quanto hai speso quel giorno e aggiungilo a totale.
  3. Fuori dal ciclo mostra il totale della settimana.

Consegna: salva i tre file .fprg e mostra all'insegnante l'esecuzione di ciascuno.