|
Ripetere più volte l'esecuzione di una sequenza do { istr1; istr2; ... } while(A > 0); Dopo aver eseguito le istruzioni istr1 e istr2 decide se ripetere la loro esecuzione o continuare con le istruzioni successive (la sequenza controllata è stata eseguita comunque una volta). Osservazione: le istruzioni controllate devono necessariamente provocare una modifica di A, altrimenti l'iterazione non avrebbe mai termine. Se si controlla l'esecuzione di una sola istruzione do istr1; while(A > 0); Si può prevedere la possibilità che la sequenza non venga eseguita per nulla, allora è necessaria una decisione ulteriore in testa if(A > 0) do { istr1; istr2; ... } while(A > 0); Decide (selezione singola) se eseguire o meno il blocco costituito da una ripetizione (con decisione in coda). Il codice può essere semplificato riorganizzando il tutto while(A > 0) { istr1; istr2; ... } Decide se eseguire le istruzioni istr1 e istr2 o proseguire con le successive; in caso di risposta affermativa ritornerà a ripetere il test. Se viene controllata l'esecuzione di una sola istruzione while(A > 0) istr1; Il ciclo con controllo in testa assume spesso una forma "standardizzata" i=1; while(i <= N) { istr1; istr2; ... i++; } dove
In questi casi tutta la scrittura è convenientemente riassunta nella struttura di controllo for for(i=1; i <= N; i++) { istr1; istr2; ... } Se il valore della variabile è decrementato for(i=N; i >= 1; i--) { istr1; istr2; ... } I linguaggi C-like offrono una grande flessibilità all'interno delle parentesi tonde
utilizzata anche a sproposito... |
|