Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica Parte ii - IIS Marconi Latina - Area didattica
994 volume V Programmazione Il record è il nome della variabile strutturata corrispondente del file che esegue in pratica l’ordinamento, ovvero quello che nello schema sintattico dell’istruzione ‘SORT’ appare come file-name-1. |Listato 82.258. Esempio di acquisizione di record da ordinare attraverso l’inserimento diretto. |000100 IDENTIFICATION DIVISION. |000200 PROGRAM-ID. TEST-SORT-3. |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-PER-IL-RIORDINO ASSIGN TO "sort.tmp". |001300* |001400 DATA DIVISION. |001500* |001600 FILE SECTION. |001700* |001800 SD FILE-PER-IL-RIORDINO. |001900* |002000 01 RECORD-PER-IL-RIORDINO. |002100 02 CHIAVE-ORDINAMENTO PIC X(5). |002200 02 FILLER PIC X(5). |002300 |002400 WORKING-STORAGE SECTION. |002500 77 EOJ PIC 9 VALUE 0. |002600 77 EOF PIC 9 VALUE 0. |002700 77 DATI-INSERITI PIC X(10). |002800* |002900 PROCEDURE DIVISION. |003000*------------------------- LIVELLO 0 ----------------------------- |003100 MAIN SECTION. |003200 INIZIO. |003300 SORT FILE-PER-IL-RIORDINO, |003400 ON ASCENDING KEY CHIAVE-ORDINAMENTO, |003500 INPUT PROCEDURE IS INSERIMENTO-DATI, |003600 OUTPUT PROCEDURE IS MOSTRA-FILE-ORDINATO. |003700* |003800 STOP RUN. |003900* |004000*--------------------- SORT-MERGE PROCEDURE ---------------------- |004100 MOSTRA-FILE-ORDINATO SECTION. |004200 INIZIO. |004300 PERFORM MOSTRA-RECORD UNTIL EOF = 1. |004400 GO TO FINE. |004500 MOSTRA-RECORD. |004600 RETURN FILE-PER-IL-RIORDINO RECORD |004700 AT END MOVE 1 TO EOF,
Manuale COBOL 995 |004800 DISPLAY "FINE DEL FILE ORDINATO". |004900 IF EOF = 0 |005000 THEN |005100 DISPLAY RECORD-PER-IL-RIORDINO. |005200 FINE. |005300 EXIT. |005400*----------------------------------------------------------------- |005500 INSERIMENTO-DATI SECTION. |005600 INIZIO. |005700 PERFORM INSERISCI-RECORD UNTIL EOJ = 1. |005800 GO TO FINE. |005900 INSERISCI-RECORD. |006000 DISPLAY "INSERISCI UN RECORD DA 10 CARATTERI:". |006100 ACCEPT DATI-INSERITI. |006200 IF DATI-INSERITI = SPACES |006300 THEN |006400 MOVE 1 TO EOJ; |006500 ELSE |006600 MOVE DATI-INSERITI TO RECORD-PER-IL-RIORDINO, |006700 RELEASE RECORD-PER-IL-RIORDINO. |006800 FINE. |006900 EXIT. |007000* L’esempio è completo, in quanto anche il risultato del riordino viene gestito tramite una procedura. Nella fase di inserimento dati, si può osservare che un inserimento nullo (pari all’inserimento di tutti spazi), implica la conclusione di quella fase. 82.14 Riferimenti « • Christopher Heng, Free COBOL compilers and interpreters 〈http://www.thefreecountry.com/compilers/cobol.shtml 〉 • Programming manuals and tutorials, COBOL 〈http://www.theamericanprogrammer.com/programming/manuals.cobol.html 〉 • MPE/iX and HP e3000 Technical Documentation, HP COBOL II/XL – Programmer’s guide 〈http://docs.hp.com/en/424/31500-90014.pdf 〉 – Quick reference guide 〈http://docs.hp.com/en/425/31500-90015.pdf 〉 – Reference manual 〈http://docs.hp.com/en/426/31500-90013.pdf 〉 • Compaq COBOL Reference Manual 〈http://www.helsinki.fi/atk/unix/dec_manuals/cobv27ua/cobrm_contents.htm 〉
- Page 97 and 98: Manuale COBOL 943 Nel caso si utili
- Page 99 and 100: Manuale COBOL 945 L’esempio mostr
- Page 101 and 102: Manuale COBOL 947 Si osservi che un
- Page 103 and 104: Manuale COBOL 949 82.12.11 Istruzio
- Page 105 and 106: Manuale COBOL 951 Compilando l’es
- Page 107 and 108: Manuale COBOL 953 |002100 CHARACTER
- Page 109 and 110: Manuale COBOL 955 della prima varia
- Page 111 and 112: Manuale COBOL 957 un’operazione d
- Page 113 and 114: Manuale COBOL 959 Nelle sezioni suc
- Page 115 and 116: Manuale COBOL 961 Aggiungendo allo
- Page 117 and 118: Manuale COBOL 963 ‘FROM’, l’i
- Page 119 and 120: Manuale COBOL 965 |Figura 82.210. D
- Page 121 and 122: Manuale COBOL 967 Organizzazione a
- Page 123 and 124: Manuale COBOL 969 |Listato 82.217.
- Page 125 and 126: Manuale COBOL 971 |Listato 82.221.
- Page 127 and 128: Manuale COBOL 973 La condizione di
- Page 129 and 130: Manuale COBOL 975 |000400 INSTALLAT
- Page 131 and 132: Manuale COBOL 977 |000400 INSTALLAT
- Page 133 and 134: Manuale COBOL 979 Nel primo schema
- Page 135 and 136: Manuale COBOL 981 |Listato 82.233.
- Page 137 and 138: Manuale COBOL 983 L’esempio succe
- Page 139 and 140: Manuale COBOL 985 (10-1-2-3). In qu
- Page 141 and 142: Manuale COBOL 987 L’utilizzo dell
- Page 143 and 144: Manuale COBOL 989 |003900* |004000
- Page 145 and 146: Manuale COBOL 991 82.13.3 Gestire i
- Page 147: Manuale COBOL 993 |002700 |002800 W
- Page 151 and 152: TXT HTM PDF pdf P1 P2 P3 P4 997 Pro
- Page 153 and 154: Programmare in COBOL 999 |Figura 83
- Page 155 and 156: Programmare in COBOL 1001 Si osserv
- Page 157 and 158: Programmare in COBOL 1003 |Tabella
- Page 159 and 160: Programmare in COBOL 1005 83.1.4 Op
- Page 161 and 162: Programmare in COBOL 1007 Una copia
- Page 163 and 164: Programmare in COBOL 1009 Descrizio
- Page 165 and 166: Programmare in COBOL 1011 Viene ese
- Page 167 and 168: Programmare in COBOL 1013 Paragrafo
- Page 169 and 170: Programmare in COBOL 1015 |000900*
- Page 171 and 172: Programmare in COBOL 1017 |002500*-
- Page 173 and 174: Programmare in COBOL 1019 |002800 P
- Page 175 and 176: Programmare in COBOL 1021 |001900*-
- Page 177 and 178: Programmare in COBOL 1023 |001000 W
- Page 179 and 180: Programmare in COBOL 1025 |001400*
- Page 181 and 182: Programmare in COBOL 1027 |002500 0
- Page 183 and 184: Programmare in COBOL 1029 |003500 C
- Page 185 and 186: Programmare in COBOL 1031 |004300 T
- Page 187 and 188: Programmare in COBOL 1033 |002500*
- Page 189 and 190: Programmare in COBOL 1035 |000400 D
- Page 191 and 192: Programmare in COBOL 1037 |004300 S
- Page 193 and 194: Programmare in COBOL 1039 |007500 T
- Page 195 and 196: Programmare in COBOL 1041 83.3.9 AG
- Page 197 and 198: Programmare in COBOL 1043 83.3.10 A
Manuale COBOL 995<br />
|004800 DISPLAY "FINE DEL FILE ORDINATO".<br />
|004900 IF EOF = 0<br />
|005000 THEN<br />
|005100 DISPLAY RECORD-PER-IL-RIORDINO.<br />
|005200 FINE.<br />
|005300 EXIT.<br />
|005400*-----------------------------------------------------------------<br />
|005500 INSERIMENTO-DATI SECTION.<br />
|005600 INIZIO.<br />
|005700 PERFORM INSERISCI-RECORD UNTIL EOJ = 1.<br />
|005800 GO TO FINE.<br />
|005900 INSERISCI-RECORD.<br />
|006000 DISPLAY "INSERISCI UN RECORD DA 10 CARATTERI:".<br />
|006100 ACCEPT DATI-INSERITI.<br />
|006200 IF DATI-INSERITI = SPACES<br />
|006300 THEN<br />
|006400 MOVE 1 TO EOJ;<br />
|006500 ELSE<br />
|006600 MOVE DATI-INSERITI TO RECORD-PER-IL-RIORDINO,<br />
|006700 RELEASE RECORD-PER-IL-RIORDINO.<br />
|006800 FINE.<br />
|006900 EXIT.<br />
|007000*<br />
L’esempio è completo, in quanto anche il risultato del riordino viene gestito tramite una<br />
procedura. Nella fase di inserimento dati, si può osservare che un inserimento nullo (pari<br />
all’inserimento di tutti spazi), implica la conclusione di quella fase.<br />
82.14 Riferimenti<br />
«<br />
• Christopher Heng, Free COBOL compilers and interpreters<br />
〈http://www.thefreecountry.com/compilers/cobol.shtml 〉<br />
• Programming manuals and tutorials, COBOL<br />
〈http://www.theamericanprogrammer.com/programming/manuals.cobol.html 〉<br />
• MPE/iX and HP e3000 Technical Documentation, HP COBOL II/XL<br />
– Programmer’s guide<br />
〈http://docs.hp.com/en/424/31500-90014.pdf 〉<br />
– Quick reference guide<br />
〈http://docs.hp.com/en/425/31500-90015.pdf 〉<br />
– Reference manual<br />
〈http://docs.hp.com/en/426/31500-90013.pdf 〉<br />
• Compaq COBOL Reference Manual<br />
〈http://www.helsinki.fi/atk/unix/dec_manuals/cobv27ua/cobrm_contents.htm 〉