Il ciclo con controllo in testa assume spesso una forma standardizzata nella quale
- I, una variabile intera è utilizzata come contatore di controllo, indice, all’interno della sequenza
- 1, il valore iniziale della variabile è assegnato prima del ciclo
- +1, il valore della variabile è modificato (incrementato…) a ogni passo
- N, la ripetizione termina se la variabile supera un certo valore fissato
In questi casi tutta la scrittura è convenientemente riassunta nella struttura di controllo for()
|
Da 1 a N |
Da N a 1 |
Con passo |
C… |
|
for(i=1; i <= N; i++) { istr1; ... } |
|
|
for(i=N; i >= 1; i--) { istr1; ... } |
|
|
for(...; ...; ...) { istr1; ... }F |
|
Pascal |
|
For I:=1 To N Do Begin Istr1; ... End; |
|
|
For I:=N DownTo 1 Do Begin Istr1; ... End; |
|
|
Python |
|
for i in range(1,N+1): istr1 ... |
|
|
for i in range(N,0,-1): istr1 ... |
|
|
for i in range(S1,S2,S3): istr1 ... |
|
SMALL
BASIC |
|
For I=1 to N Istr1 ... EndFor |
|
|
For I=N to 1 Step -1 Istr1 ... EndFor |
|
|
For I=... to ... Step ... Istr1 ... EndFor |
|
VISUAL
BASIC |
|
For I=1 to N Istr1 ... Next I |
|
|
For I=N to 1 Step -1 Istr1 ... Next I |
|
|
For I=... to ... Step ... Istr1 ... Next I |
|
Ci sono molte differenze
- in BASIC il passo può essere scelto positivo/negativo e intero/decimale tramite lo step
- in Pascal il passo è indicato da To (+1) oppure da DownTo (-1)
- il linguaggio C offre una flessibilità esagerata all’interno delle parentesi tonde (che viene spesso utilizzata a sproposito…)