Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica Parte ii - IIS Marconi Latina - Area didattica

iismarconi.net
from iismarconi.net More from this publisher
24.01.2014 Views

992 volume V Programmazione 82.13.4 Lettura del risultato dell’ordinamento o della fusione attraverso una procedura « Quando si usano le istruzioni ‘SORT’ o ‘MERGE’, invece di generare un file ordinato o fuso, è possibile leggere il risultato dell’ordinamento o della fusione, specificando la chiamata di un intervallo di procedure (paragrafi o sezioni): Nell’ambito dell’intervallo di procedure chiamato, occorre usare l’istruzione ‘RETURN’ per leggere questi dati dal file di riordino o di fusione: L’istruzione ‘RETURN’ funziona a tutti gli effetti come l’istruzione ‘READ’ di un file sequenziale, dove il file indicato è precisamente quello che appare nell’istruzione ‘SORT’ o ‘MERGE’ chiamante, con la stessa metavariabile. |Listato 82.255. procedura. Esempio di lettura del risultato di un ordinamento attraverso una |000100 IDENTIFICATION DIVISION. |000200 PROGRAM-ID. TEST-SORT-4. |000300 AUTHOR. DANIELE GIACOMINI. |000400 DATE-WRITTEN. 2005-03-18. |000500* |000600 ENVIRONMENT DIVISION. |000700* |000800 INPUT-OUTPUT SECTION. |000900* |001000 FILE-CONTROL. |001100* |001200 SELECT FILE-DA-ORDINARE ASSIGN TO "input.seq". |001300 SELECT FILE-PER-IL-RIORDINO ASSIGN TO "sort.tmp". |001400* |001500 DATA DIVISION. |001600* |001700 FILE SECTION. |001800* |001900 FD FILE-DA-ORDINARE. |002000 01 RECORD-DA-ORDINARE PIC X(10). |002100* |002200 SD FILE-PER-IL-RIORDINO. |002300* |002400 01 RECORD-PER-IL-RIORDINO. |002500 02 CHIAVE-ORDINAMENTO PIC X(5). |002600 02 FILLER PIC X(5).

Manuale COBOL 993 |002700 |002800 WORKING-STORAGE SECTION. |002900 77 EOF PIC 9 VALUE 0. |003000* |003100 PROCEDURE DIVISION. |003200*------------------------- LIVELLO 0 ----------------------------- |003300 MAIN SECTION. |003400 INIZIO. |003500 SORT FILE-PER-IL-RIORDINO, |003600 ON ASCENDING KEY CHIAVE-ORDINAMENTO, |003700 USING FILE-DA-ORDINARE, |003800 OUTPUT PROCEDURE IS MOSTRA-FILE-ORDINATO. |003900* |004000 STOP RUN. |004100* |004200*--------------------- SORT-MERGE PROCEDURE ---------------------- |004300 MOSTRA-FILE-ORDINATO SECTION. |004400 INIZIO. |004500 PERFORM MOSTRA-RECORD UNTIL EOF = 1. |004600 GO TO FINE. |004700 MOSTRA-RECORD. |004800 RETURN FILE-PER-IL-RIORDINO RECORD |004900 AT END MOVE 1 TO EOF, |005000 DISPLAY "FINE DEL FILE ORDINATO". |005100 IF EOF = 0 |005200 THEN |005300 DISPLAY RECORD-PER-IL-RIORDINO. |005400 FINE. |005500 EXIT. |005600* L’esempio riguarda la visualizzazione di un file ordinato, senza generare il file stesso, ma si applica tale e quale al caso della fusione. 82.13.5 Acquisizione dei dati per il riordino da una procedura Limitatamente al caso del riordino, con l’istruzione ‘SORT’, è possibile acquisire i record da riordinare attraverso una procedura: « Nell’ambito dell’intervallo di procedure chiamato, occorre usare l’istruzione ‘RELEASE’ per passare formalmente un record. L’istruzione ‘RELEASE’ si utilizza e si comporta come l’istruzione ‘WRITE’ per i file sequenziali:

992 volume V Programmazione<br />

82.13.4 Lettura del risultato dell’ordinamento o della fusione<br />

attraverso una procedura<br />

«<br />

Quando si usano le istruzioni ‘SORT’ o ‘MERGE’, invece di generare un file ordinato o fuso, è<br />

possibile leggere il risultato dell’ordinamento o della fusione, specificando la chiamata di un<br />

intervallo di procedure (paragrafi o sezioni):<br />

Nell’ambito dell’intervallo di procedure chiamato, occorre usare l’istruzione ‘RETURN’ per<br />

leggere questi dati dal file di riordino o di fusione:<br />

L’istruzione ‘RETURN’ funziona a tutti gli effetti come l’istruzione ‘READ’ di un file sequenziale,<br />

dove il file indicato è precisamente quello che appare nell’istruzione ‘SORT’ o ‘MERGE’<br />

chiamante, con la stessa metavariabile.<br />

|Listato 82.255.<br />

procedura.<br />

Esempio di lettura del risultato di un ordinamento attraverso una<br />

|000100 IDENTIFICATION DIVISION.<br />

|000200 PROGRAM-ID. TEST-SORT-4.<br />

|000300 AUTHOR. DANIELE GIACOMINI.<br />

|000400 DATE-WRITTEN. 2005-03-18.<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-ORDINARE ASSIGN TO "input.seq".<br />

|001300 SELECT FILE-PER-IL-RIORDINO ASSIGN TO "sort.tmp".<br />

|001400*<br />

|001500 DATA DIVISION.<br />

|001600*<br />

|001700 FILE SECTION.<br />

|001800*<br />

|001900 FD FILE-DA-ORDINARE.<br />

|002000 01 RECORD-DA-ORDINARE PIC X(10).<br />

|002100*<br />

|002200 SD FILE-PER-IL-RIORDINO.<br />

|002300*<br />

|002400 01 RECORD-PER-IL-RIORDINO.<br />

|002500 02 CHIAVE-ORDINAMENTO PIC X(5).<br />

|002600 02 FILLER PIC X(5).

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

Saved successfully!

Ooh no, something went wrong!