24.01.2014 Views

Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica

SHOW MORE
SHOW LESS

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:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!