1aC     
Esercitazione di laboratorio n.13

Ripetizione di istruzioni

Ciclo for

Ciclo while

Esempi

Ripetizione di istruzioni
Dopo la sequenza di istruzioni e la struttura di selezione, la terza struttura di controllo necessaria per codificare ogni algoritmo è la struttura ciclica.

Nella maggior parte dei procedimenti che utilizziamo per risolvere problemi di tipo algoritmico (non solo quelli dell'informatica) si rende necessario ripetere delle istruzioni più volte.

Il ciclo (ripetizione, iterazione, loop) è la struttura di controllo che permette di eseguire più volte una porzione di istruzioni, fino a che una condizione risulta soddisfatta.
Ogni passaggio attraverso il ciclo è detto iterazione.

In figura, è mostrato il tipico diagramma di funzionamento di un ciclo:
controlla la condizione C (booleana): se è falsa, salta alle istruzioni successive al ciclo; se è vera esegue le istruzioni del ciclo;
torna poi a controllare la condizione booleana: se è falsa, salta alle istruzioni successive al ciclo; se la condizione è ancora vera esegue un'altra volta le istruzioni del ciclo;
... e così via.
Cicli infiniti
Dalla descrizione della struttura, quando si scrivono le istruzioni di ciclo, è fondamentale accertarsi che le condizione booleana C che gestisce le iterazioni diventi falsa.
Altrimenti le istruzioni del ciclo vengono eseguite indefinitvamente (o almeno fino a che il sistema non si blocca).

Esempio
Trovare un termine sul dizionario
Apriamo il dizionario ad una pagina dove pensiamo possa trovarsi il termine. Andiamo poi ad una pagina successiva o precedente a seconda che il termine che dobbiamo trovare si trova alfabeticamente dopo o prima della pagina aperta. Questo ripetutamente fino a che non arriviamo alla pagina che contiene il termine.

Tipi di cilco
JavaScript, come tutti i linguaggi di programmazione, ha più strutture di ciclo.
Le due fondamentali gestiscono ognuna delle seguenti situazioni:
  • sappiamo quante volte ripetere le istruzioni (ciclo for)
    Ad esempio: scrivere la tabellina del 9, da 9 a 90: bisogna far moltiplicare per 10 volte il 9 per un numero da 1 a 10 e far scrivere i 10 risultati.
  • non sappiamo quante volte ripetere le istruzioni, ma sappiamo che debbono essere ripetute finché una certa condizione è vera (ciclo while, condizione che controlla il ciclo all'inizio)
    Ad esempio: l'utente deve inserire username e password per farsi riconoscere e il sistema accetta fino ad un massimo di tre tentativi. L'utente può inserire username e password correttamente al primo, al secondo, al terzo tentativo o in nessuno di questi.
    Non si sa quante volte l'istruzione deve essere ripetuta.