I cicli nella programmazione

I cicli

Quando, nella risoluzione di un problema, si presenta la necessità di ripetere una serie di azioni, il costrutto che ci viene incontro è detto ciclo o loop.

Definizione: ciclo

Il ciclo è un percorso chiuso in cui vengono inserite le azioni da ripetere. La ripetizione di tali azioni è subordinata al verificarsi di una condizione. Tale condizione viene controllata volta per volta, prima di ripercorrere il ciclo.

Le azioni, presenti nel ciclo, prendono il nome di blocco del ciclo.

La condizione solitamente è legata ad una o più variabili che prendono il nome di variabili guida.

Distinzione tra i cicli

Prima distinzione

I cicli non sono tutti gli stessi. Una prima distinzione, possiamo farla in base a dove viene posizionato il blocco condizionale contenete la/le variabile/i guida:

  • ciclo precondizionale (La condizione è posta in testa)
  • ciclo postcondizionale (la condizione è posta in coda)

La differenza tra i due, è che, nel postcondizionale, il blocco del ciclo viene eseguito almeno una volta, mentre nel precondizionale, il blocco del ciclo potrebbe non essere mai eseguito.

Seconda distinzione

Un’ulteriore distinzione tra i cicli, dipende dal fatto che sia noto o meno a priori il numero di ripetizioni.

Nel caso in cui sia noto a priori il numero di ripetizioni, si utilizza il ciclo indicizzato detto più comunemente ciclo FOR, mentre nel caso in cui non sia noto il numero di ripetizioni, si utilizza il ciclo WHILE o DO-WHILE.


In tutti i cicli, il blocco del ciclo viene eseguito se e solo se la condizione risulta essere vera, altrimenti si esce dal ciclo.


Il ciclo FOR

Il ciclo FOR è un ciclo precondizionale, il cui costrutto è rappresentato in figura:

Nel primo blocco sono presenti tre campi:

  • inizializzazione:
    • con questa operazione viene inizializzato il contatore, essa viene eseguita soltanto una volta al primo ingresso nel blocco.
  • condizione:
    • nel campo condizione è presente la variabile guida (numerica) e fintanto che la condizione risulterà vera il ciclo continuerà ad essere eseguito.
  • incremento:
    • questo campo verrà eseguito dal secondo passaggio in poi. L’operazione che viene inserita in questo campo, effettua l’incremento del contatore, in modo che ad un certo punto, a seguito di una serie di incrementi, permetterà l’uscita dal ciclo, e ciò accadrà quando la condizione non risulterà più vera.

Il ciclo while

Il ciclo “while” è un ciclo precondizionale, il cui costrutto è riportato in figura:

Nel blocco del ciclo, sono presenti varie istruzioni, tra queste, non può mai mancare, l’istruzione che va a modificare la condizione indicata come “modifica condizione”. Se tale istruzione non dovesse essere presente, il loop non verrebbe mai interrotto.

In questo ciclo come accade per tutti i precondizionali, potrebbe accadere che le istruzioni del blocco non vengano mai eseguite.

Il ciclo do-while

Il ciclo “do-while” è un ciclo postcondizionale, il cui costrutto è riportato in figura:

Anche in questo caso, nel blocco del ciclo, è presente l’istruzione “modifica condizione” e anche qui se essa non fosse presente e scritta in modo adeguato, il loop non verrebbe interrotto.

Come per tutti i cicli postcondizionali, il blocco del ciclo, viene eseguito sempre, almeno una volta.