Ripetizione precalcolata

ciclo122

Il ciclo con controllo in testa assume spesso una forma standardizzata nella quale

  • I, una variabile intera è utilizzata come indice, contatore, all’interno della sequenza
  • 1, il valore iniziale della variabile è assegnato prima del ciclo
  • +X, il valore della variabile è modificato (+1) a ogni passo
  • la ripetizione termina se la variabile supera un certo valore fissato

In questi casi tutta la scrittura è convenientemente riassunta nella struttura di controllo for()

  • in Pascal il passo è indicato da To (+1) oppure da DownTo (-1)
  • in VISUAL BASIC il passo può essere scelto positivo/negativo e intero/decimale tramite lo Step
  • il linguaggio C offre una flessibilità esagerata all’interno delle parentesi tonde (che viene spesso utilizzata a sproposito…)

C, C++, Java, …

for(i=1; i <= N; i++)
{
    istr1;
    ...
}
for(i=N; i >= 1; i--)
{
    istr1;
    ...
}
for(...; ...; ...)
{
    istr1;
    ...
}

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(..., ..., ...):   
    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