Ripetizione con controllo in testa

ciclo120Ripetere più volte l’esecuzione di una sequenza (con decisione in testa alla sequenza)

Decide se
eseguire istruzione 1, istruzione 2, … e poi ritornare in alto

oppure

proseguire direttamente con le istruzioni successive.

Rispetto alla ripetizione con controllo in coda c’è la possibilità che la sequenza controllata non venga eseguita neanche una volta.

While A > 0 Do
   Begin
      Istr_1;
      Istr_2;
   End;

Si potrebbe risolvere lo stesso problema aggiungendo alla ripetizione con decisione in coda una decisione ulteriore in testa.

Decide (selezione singola) se eseguire o meno il blocco costituito da una ripetizione (con decisione in coda)

If A > 0 Then
   Repeat
      Istr_1;
      Istr_2;
   Until A <= 0;

Si può fare ma... è troppo complicato, meglio utilizzare la possibilità di controllo in testa dell'esecuzione...