Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
900 volume V Programmazione<br />
|000000 01 MIO-RECORD.<br />
|000000 02 A<br />
|000000 03 B PIC X(10).<br />
|000000 03 C PIC X(10).<br />
|000000 02 D REDEFINES A.<br />
|000000 03 E PIC X(5).<br />
|000000 03 F PIC X(10).<br />
|000000 03 G PIC X(5).<br />
|000000 02 H ...<br />
|...<br />
L’esempio mostra che il campo ‘A’ è composto complessivamente da 20 caratteri, a cui si<br />
accede con i campi ‘B’ e ‘C’ per i primi 10 e gli ultimi 10 rispettivamente. La ridefinizione<br />
successiva, consente di accedere a una porzione centrale, a cavallo dei campi ‘B’ e ‘C’, con il<br />
campo ‘F’.<br />
|000100 IDENTIFICATION DIVISION.<br />
|000200 PROGRAM-ID. PICTURE-REDEFINES.<br />
|000300 AUTHOR. DANIELE GIACOMINI.<br />
|000400 DATE-WRITTEN. 2005-02-25.<br />
|000500*<br />
|000600 ENVIRONMENT DIVISION.<br />
|000700*<br />
|000800 DATA DIVISION.<br />
|000900*<br />
|001000 WORKING-STORAGE SECTION.<br />
|001100 01 RECORD-A.<br />
|001200 02 P PICTURE X(10) USAGE IS DISPLAY.<br />
|001300 02 Q PICTURE X(10) USAGE IS DISPLAY.<br />
|001400 01 RECORD-B REDEFINES RECORD-A.<br />
|001500 02 R PICTURE X(5) USAGE IS DISPLAY.<br />
|001600 02 S PICTURE X(10) USAGE IS DISPLAY.<br />
|001700 02 T PICTURE X(5) USAGE IS DISPLAY.<br />
|001800*<br />
|001900 PROCEDURE DIVISION.<br />
|002000*<br />
|002100 MAIN.<br />
|002200 MOVE "ABCDEFGHIJKLMNOPQRST" TO RECORD-A.<br />
|002300 DISPLAY "P: ", P.<br />
|002400 DISPLAY "Q: ", Q.<br />
|002500 DISPLAY "R: ", R.<br />
|002600 DISPLAY "S: ", S.<br />
|002700 DISPLAY "T: ", T.<br />
|002800*<br />
|002900 STOP RUN.<br />
|003000*<br />
Questo esempio ulteriore mostra un piccolo programma completo, che dimostra il funzionamento<br />
della ridefinizione, visualizzando le variabili associate a ‘RECORD-A’ e a ‘RECORD-B’,<br />
che ridefinisce il primo. Se si compila questo programma con TinyCOBOL o con<br />
OpenCOBOL, l’avvio dell’eseguibile che si ottiene genera il risultato seguente: