Lezioni del modulo (2/2)
Cicli e Iterazioni
I cicli ed i costrutti iterativi in COBOL non sono definiti da parole chiave come for o while, ma fanno uso di variazioni sintattiche della stessa istruzione PERFORM.
Cicli Numerici Fissi (PERFORM TIMES)
Se dobbiamo ripetere l'esecuzione di un paragrafo per un numero fisso di volte, possiamo aggiungere il modificatore TIMES al comando PERFORM.
PERFORM ELABORA-RIGA 10 TIMES.
In questo caso, il compilatore eseguirà il paragrafo ELABORA-RIGA esattamente 10 volte, riprendendo poi l'esecuzione lineare del codice.
Cicli Condizionali (PERFORM UNTIL)
Per iterare fino a quando una determinata condizione non diviene vera (equivalente a un ciclo while invertito), usiamo l'istruzione PERFORM ... UNTIL.
PERFORM INCR-CONTATORE UNTIL WS-COUNTER > 5.
PROCEDURE DIVISION.
MAIN-PROCEDURE.
PERFORM PROCESS-ITEM UNTIL WS-COUNTER > 3.
STOP RUN.
PROCESS-ITEM.
DISPLAY "Counter: " WS-COUNTER.
ADD 1 TO WS-COUNTER.
Prova tu
Scrivi un'istruzione all'interno di MAIN-PROCEDURE per eseguire il paragrafo PROCESS-ITEM esattamente per 10 volte.
Mostra suggerimento
Usa la sintassi: PERFORM PROCESS-ITEM 10 TIMES.
Soluzione disponibile dopo 3 tentativi
Esegui ripetutamente il paragrafo PROCESS-STEP fino a quando la variabile WS-COUNTER diventa maggiore di 5.
Mostra suggerimento
Usa la sintassi: PERFORM PROCESS-STEP UNTIL WS-COUNTER > 5.
Soluzione disponibile dopo 3 tentativi