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.
1028 volume V Programmazione<br />
Paragrafo ‘MAIN’<br />
Viene aperto in lettura il file da leggere.<br />
Viene eseguita la lettura di un primo blocco, pari alla dimensione della variabile<br />
‘RECORD-DA-LEGGERE’; se si verifica la condizione ‘AT END’, ovvero se il file è vuoto,<br />
viene messo il valore uno nella variabile ‘EOF’.<br />
Viene eseguito il paragrafo ‘LETTURA’, ripetutamente, utilizzando come condizione di<br />
arresto il fatto che la variabile ‘EOF’ contenga il valore uno.<br />
Viene chiuso il file da leggere.<br />
Il programma si arresta perché incontra l’istruzione ‘STOP RUN’.<br />
Paragrafo ‘LETTURA’<br />
Viene visualizzata la porzione di file appena letta.<br />
Viene eseguita la lettura del file da leggere; se si verifica la condizione ‘AT END’, ovvero<br />
se la lettura non ha acquisito alcunché, viene messo il valore uno nella variabile ‘EOF’.<br />
Una copia di questo file dovrebbe essere disponibile presso 〈allegati/cobol/ELM1500.cob 〉.<br />
|000100 IDENTIFICATION DIVISION.<br />
|000200 PROGRAM-ID. ELM1500.<br />
|000300 AUTHOR. DANIELE GIACOMINI.<br />
|000400 DATE-WRITTEN. 1985-02-20.<br />
|000500*<br />
|000600 ENVIRONMENT DIVISION.<br />
|000700*<br />
|000800 INPUT-OUTPUT SECTION.<br />
|000900*<br />
|001000 FILE-CONTROL.<br />
|001100*<br />
|001200 SELECT FILE-DA-LEGGERE ASSIGN TO "input.seq"<br />
|001300 ORGANIZATION IS SEQUENTIAL.<br />
|001400*<br />
|001500 DATA DIVISION.<br />
|001600*<br />
|001700 FILE SECTION.<br />
|001800*<br />
|001900 FD FILE-DA-LEGGERE<br />
|002000 LABEL RECORD IS STANDARD.<br />
|002100*<br />
|002200 01 RECORD-DA-LEGGERE PIC X(30).<br />
|002300*<br />
|002400 WORKING-STORAGE SECTION.<br />
|002500 01 EOF PIC 9 VALUE ZERO.<br />
|002600*<br />
|002700 PROCEDURE DIVISION.<br />
|002800*------------------------- LIVELLO 0 -----------------------------<br />
|002900 MAIN.<br />
|003000 OPEN INPUT FILE-DA-LEGGERE.<br />
|003100 READ FILE-DA-LEGGERE<br />
|003200 AT END<br />
|003300 MOVE 1 TO EOF.<br />
|003400 PERFORM LETTURA UNTIL EOF = 1.