|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 10112 (0x2780) Types: TextFile Names: »OPG10.LST«
└─⟦c154ac35e⟧ Bits:30002656 COBOL-programmer til undervisning └─ ⟦this⟧ »OPG10.LST«
\f * Level II COBOL V2.1 OPG10.CBL Page 0001 * * Options: REF IDENTIFICATION DIVISION. 011E PROGRAM-ID. OPG10. 0120 AUTHOR. HOLD4. 0120 DATE-WRITTEN. 191185. 0120 DATE-COMPILED. 201185. 0120 * * PROGRAMMET VALIDERER,INDSÆTTER MÅNEDSNAVN OG * BEREGNER ÅRETS DAGNUMMER UDFRA EN OPGIVET DATO. * * ENVIRONMENT DIVISION. 0120 CONFIGURATION SECTION. 0120 SOURCE-COMPUTER. PICCOLINE. 0120 SPECIAL-NAMES. CONSOLE IS CRT. 0120 * * DATA DIVISION. 0120 * * WORKING-STORAGE SECTION. 020C 00 01 DATO-IND PIC 9(6). 020C 00 01 DATO REDEFINES DATO-IND. 020C 00 05 DD PIC 99. 020C 00 05 MM PIC 99. 020E 02 05 AA PIC 99. 0210 04 01 MD-TAB. 0212 06 05 FILLER PIC X(9) VALUE "JANUAR ". 0212 06 05 FILLER PIC X(9) VALUE "FEBRUAR ". 021B 0F 05 FILLER PIC X(9) VALUE "MARTS ". 0224 18 05 FILLER PIC X(9) VALUE "APRIL ". 022D 21 05 FILLER PIC X(9) VALUE "MAJ ". 0236 2A 05 FILLER PIC X(9) VALUE "JUNI ". 023F 33 05 FILLER PIC X(9) VALUE "JULI ". 0248 3C 05 FILLER PIC X(9) VALUE "AUGUST ". 0251 45 05 FILLER PIC X(9) VALUE "SEPTEMBER". 025A 4E 05 FILLER PIC X(9) VALUE "OKTOBER ". 0263 57 05 FILLER PIC X(9) VALUE "NOVEMBER ". 026C 60 05 FILLER PIC X(9) VALUE "DECEMBER ". 0275 69 01 TAB-R REDEFINES MD-TAB. 0212 06 05 MD-NVN PIC X(9) OCCURS 12 TIMES. 0212 06 01 MD-ANTAL. 027E 72 05 FILLER PIC X(24) VALUE 027E 72 "312831303130313130313031". 027E 72 01 TAB-A REDEFINES MD-ANTAL. 027E 72 05 MD-TAL PIC 99 OCCURS 12 TIMES. 027E 72 01 SW PIC 9. 0296 8A 01 RETUR PIC X. 0297 8B 01 TAL PIC 99. 0298 8C 01 RES PIC 999. 029A 8E 01 RES-UD PIC ZZ9. 029D 91 01 MDM PIC X(9). 02A0 94 01 INDEKS PIC 99 COMP. 02A9 9D * * PROCEDURE DIVISION. 0000 STYR SECTION. 001C ST-IND. 001D PERFORM INIT. 001E \f * Level II COBOL V2.1 OPG10.CBL Page 0002 * PERFORM BEHANDLE UNTIL DATO = 999999. 0021 PERFORM AFSLUT. 003B STOP RUN. 003E ST-UD. 003F EXIT. 0040 * * INIT SECTION. 0044 IN-IND. 0045 DISPLAY SPACES. 0046 DISPLAY "BEREGNING AF ÅRETS DAGNUMMER" AT 0425. 004B IN-UD. 0071 EXIT. 0072 * * BEHANDLE SECTION. 0076 BH-IND. 0077 DISPLAY " " AT 2603. 0078 DISPLAY " " AT 2010. 00A8 DISPLAY " " AT 0638. 00D8 DISPLAY " " AT 1010. 00E8 DISPLAY " " AT 1210. 0106 DISPLAY "INDTAST DATO (DDMMAA)" AT 0615. 0124 ACCEPT DATO AT 0638. 0143 IF DATO = 999999 NEXT SENTENCE 0156 ELSE MOVE ZERO TO SW 0169 PERFORM CHECKDATO UNTIL SW = 1 016A MOVE ZERO TO TAL RES 016F SUBTRACT 1 FROM MM 0184 MOVE 1 TO INDEKS 0189 PERFORM BEREGN MM TIMES 018E ADD 1 TO MM 01A3 ADD DD TO RES 01A3 PERFORM UDSKRIV. 01A8 BH-UD. 01B1 EXIT. 01B2 * * CHECKDATO SECTION. 01B6 CK-IND. 01B7 MOVE 1 TO SW. 01B8 IF (DD = 0) OR (DD > 31) 01BD DISPLAY "FORKERT DAGNR. TAST NYT" AT 2010 01BD ACCEPT DD AT 2035 01D8 MOVE ZERO TO SW. 01F9 IF (MM = 0) OR (MM > 12) 0206 DISPLAY "FORKERT MÅNEDSNR. TAST NYT" AT 2010 0206 ACCEPT MM AT 2038 0221 MOVE ZERO TO SW. 0245 CK-UD. 0252 EXIT. 0253 * * BEREGN SECTION. 0257 BR-IND. 0258 ADD MD-TAL (INDEKS) TO RES. 0259 ADD 1 TO INDEKS. 0265 BR-UD. 0268 EXIT. 0269 \f * Level II COBOL V2.1 OPG10.CBL Page 0003 * * * UDSKRIV SECTION. 026D US-IND. 026E DISPLAY "MDNAVN = " AT 1010. 026F MOVE MD-NVN (MM) TO MDM. 0282 DISPLAY MDM AT 1019. 028D DISPLAY "DGNR = " AT 1210. 029A MOVE RES TO RES-UD. 02AD DISPLAY RES-UD AT 1219. 02B4 DISPLAY "TRYK (RETUR)" AT 2403. 02C1 ACCEPT RETUR AT 2416. 02D7 US-UD. 02E4 EXIT. 02E5 * * AFSLUT SECTION. 02E9 AS-IND. 02EA DISPLAY SPACES. 02EB DISPLAY "OPGAVE 10 FÆRDIG" AT 0101. 02F0 AS-UD. 030A EXIT. 030B 030B * Level II COBOL V2.1 REVISION 9 URN EY/0011/GA * Compiler Copyright (C) 1983 Micro Focus Ltd * * ERRORS=00000 DATA=00768 CODE=01280 DICT=00829:60978/61807 GSA FLAGS = OFF «eof»