Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
1016 volume V Programmazione<br />
Se l’indice che si inserisce è zero, viene richiesto nuovamente di fornire un dato valido.<br />
Paragrafo ‘MAIN’<br />
Viene eseguito paragrafo ‘INSERIMENTO-INDICE’, che serve a ricevere il valore<br />
dell’indice di inserimento dall’utente.<br />
Viene eseguito il paragrafo ‘LAVORO’ ripetutamente, terminando il ciclo quando la<br />
variabile ‘EOJ’ contiene il valore uno.<br />
Viene visualizzato il valore di tutta la variabile ‘RECORD-ELEMENTI’, attraverso<br />
l’istruzione ‘DISPLAY’.<br />
Il programma si arresta perché incontra l’istruzione ‘STOP RUN’.<br />
Paragrafo ‘LAVORO’<br />
Il programma riceve dall’esterno il valore per ‘ELEMENTO(INDICE)’.<br />
Il programma riceve dall’esterno l’assenso o il dissenso riguardo alla continuazione<br />
dell’esecuzione; se l’intenzione è di proseguire viene eseguito il paragrafo<br />
‘INSERIMENTO-INDICE’, in caso contrario, viene messo il valore uno nella variabile<br />
‘EOJ’.<br />
Paragrafo ‘INSERIMENTO-INDICE’<br />
Il programma riceve dall’esterno il valore per la variabile ‘INDICE’, quindi controlla che<br />
questo sia diverso da zero; in caso contrario, si ha una chiamata dello stesso paragrafo,<br />
in modo ricorsivo.<br />
A causa della caratteristica ricorsiva del paragrafo ‘INSERIMENTO-INDICE’, nel programma<br />
originale era riportato in un commento: «attenzione! può essere nocivo».<br />
Una copia di questo file dovrebbe essere disponibile presso 〈allegati/cobol/ELM0800.cob 〉.<br />
|000100 IDENTIFICATION DIVISION.<br />
|000200 PROGRAM-ID. ELM0800.<br />
|000300 AUTHOR. DANIELE GIACOMINI.<br />
|000400 DATE-WRITTEN. 1985-02-14.<br />
|000500*<br />
|000600 ENVIRONMENT DIVISION.<br />
|000700*<br />
|000800 DATA DIVISION.<br />
|000900*<br />
|001000 WORKING-STORAGE SECTION.<br />
|001100 01 RECORD-ELEMENTI.<br />
|001200 02 ELEMENTO PIC X OCCURS 9 TIMES.<br />
|001300 01 INDICE PIC 9.<br />
|001400 01 EOJ PIC 9 VALUE ZERO.<br />
|001500 01 RISPOSTA PIC XX.<br />
|001600*<br />
|001700 PROCEDURE DIVISION.<br />
|001800*------------------------- LIVELLO 0 -----------------------------<br />
|001900 MAIN.<br />
|002000 PERFORM INSERIMENTO-INDICE.<br />
|002100 PERFORM LAVORO UNTIL EOJ = 1.<br />
|002200 DISPLAY RECORD-ELEMENTI.<br />
|002300*<br />
|002400 STOP RUN.