I cicli determinati
Nella programmazione informatica i cicli determinati sono strutture di controllo iterative che ripetono lo stesso blocco di istruzioni per un numero determinato di volte.
L'algoritmo del ciclo determinato
Una struttura iterativa determinata si basa sul seguente algoritmo.
Attenzione. Un ciclo determinato compie n cicli + 1. Quindi, non compie soltanto n cicli ma sempre uno in più (n+1). L'ultimo ciclo aggiuntivo è il controllo non soddisfatto (c>n) che determina la fine e l'uscita dal ciclo determinato. Questo aspetto è fondamentale quando si studia la complessità di un algoritmo.
Un esempio pratico
Il seguente pseudocodice stampa i numeri da 1 a 5.
c=1
print c
c=2
print c
c=3
print c
c=4
print c
c=5
print c
Il risultato in output è il seguente:
1
2
3
4
5
Tuttavia, è una tecnica di programmazione inefficiente perché richiede almeno tante istruzioni quanti sono i cicli o anche più.
Esempio. Se volessi sviluppare un programma che stampa i numeri da 1 a un miliardo, dovrei scrivere almeno un miliardo di righe di codice nel programma. E' impensabile! Inoltre, se successivamente volessi cambiare il nome della variabile, dovrei fare un miliardo di modifiche.
Per questa ragione è sempre meglio usare un ciclo determinato.
Come funziona un ciclo determinato
Piuttosto che scrivere dieci righe diverse, posso usare un ciclo determinato da 1 a 5.
for c=1 to 5 {
print c
}
Il ciclo utilizza una variabile come contatore (c).
Dopo ogni ciclo, la variabile contatore viene incrementata automaticamente di +1 se non è disposto diversamente.
Il risultato in output del programma è sempre lo stesso:
1
2
3
4
5
Tuttavia, il ciclo è una tecnica di programmazione più efficiente rispetto a scrivere n istruzioni nel programma.
Una struttura ciclica può compiere qualsiasi numero di cicli, utilizzando sempre tre righe di codice.
Le strutture a ciclo determinato nella programmazione
Ogni linguaggio di programmazione può eseguire i cicli determinati.
Tuttavia, la sintassi delle istruzioni cambia da linguaggio a linguaggio.
PHP
Il linguaggio Php utilizza l'istruzione FOR
for $c=1 to 5 {
echo $c
}
ASP
Il linguaggio Asp usa l'istruzione FOR NEXT
FOR c = 1 TO 5 STEP 1
Response.Write(c);
NEXT
PYTHON
Il linguaggio Python usa l'istruzione FOR
for c in range(1,10):
print(c)
VISUAL BASIC
Il linguaggio Visual Basic utilizza l'istruzione FOR NEXT
For c = 1 To 10
Console.WriteLine(c)
Next
FORTRAN
Il linguaggio Fortran usa l'istruzione DO CONTINUE
DO 100 C=1,10
WRITE(*,*) C
100 CONTINUE
oppure DO END DO
DO C=1,10
WRITE(*,*) C
END DO