DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦2f7698305⟧ TextFile

    Length: 4608 (0x1200)
    Types: TextFile
    Names: »OPG10.BAK«

Derivation

└─⟦c154ac35e⟧ Bits:30002656 COBOL-programmer til undervisning
    └─ ⟦this⟧ »OPG10.BAK« 

TextFile

       IDENTIFICATION DIVISION.
       PROGRAM-ID.       OPG10.
       AUTHOR.           HOLD4.
       DATE-WRITTEN.     191185.
       DATE-COMPILED.     201185.
      *
      * PROGRAMMET VALIDERER,INDSÆTTER MÅNEDSNAVN OG
      * BEREGNER ÅRETS DAGNUMMER UDFRA EN OPGIVET DATO.
      *
      *
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER.    PICCOLINE.
       SPECIAL-NAMES.      CONSOLE IS CRT.
      *
      *
       DATA DIVISION.
      *
      *
       WORKING-STORAGE SECTION.
       01    DATO-IND      PIC 9(6).
       01    DATO REDEFINES DATO-IND.
             05  DD         PIC 99.
             05  MM         PIC 99.
             05  AA         PIC 99.
       01    MD-TAB.
             05  FILLER     PIC X(9) VALUE "JANUAR   ".
             05  FILLER     PIC X(9) VALUE "FEBRUAR  ".
             05  FILLER     PIC X(9) VALUE "MARTS    ".
             05  FILLER     PIC X(9) VALUE "APRIL    ".
             05  FILLER     PIC X(9) VALUE "MAJ      ".
             05  FILLER     PIC X(9) VALUE "JUNI     ".
             05  FILLER     PIC X(9) VALUE "JULI     ".
             05  FILLER     PIC X(9) VALUE "AUGUST   ".
             05  FILLER     PIC X(9) VALUE "SEPTEMBER".
             05  FILLER     PIC X(9) VALUE "OKTOBER  ".
             05  FILLER     PIC X(9) VALUE "NOVEMBER ".
             05  FILLER     PIC X(9) VALUE "DECEMBER ".
       01    TAB-R  REDEFINES MD-TAB.
             05  MD-NVN     PIC X(9) OCCURS 12 TIMES.
       01    MD-ANTAL.
             05  FILLER     PIC X(24) VALUE
                            "312831303130313130313031".
       01    TAB-A REDEFINES  MD-ANTAL.
             05  MD-TAL     PIC 99   OCCURS 12 TIMES.
       01    SW             PIC 9.
       01    RETUR          PIC X.
       01    TAL            PIC 99.
       01    RES            PIC 999.
       01    RES-UD         PIC ZZ9.
       01    MDM            PIC X(9).
       01    INDEKS         PIC 99 COMP.
      *
      *
       PROCEDURE DIVISION.
       STYR SECTION.
          ST-IND.
             PERFORM INIT.
             PERFORM BEHANDLE UNTIL DATO = 999999.
             MOVE 1 TO INDEKS.
             PERFORM AFSLUT.
             STOP RUN.
          ST-UD.
       EXIT.
      *
      *
       INIT SECTION.
          IN-IND.
            DISPLAY SPACES.
            DISPLAY "BEREGNING AF ÅRETS DAGNUMMER" AT 0425.
          IN-UD.
          EXIT.
      *
      *
       BEHANDLE SECTION.
          BH-IND.
            DISPLAY "                                     " AT 2603.
            DISPLAY "                                     " AT 2010.
            DISPLAY "      " AT 0638.
            DISPLAY "                    " AT 1010.
            DISPLAY "                    " AT 1210.
            DISPLAY "INDTAST DATO (DDMMAA)" AT 0615.
            ACCEPT DATO AT 0638.
            IF DATO = 999999 NEXT SENTENCE
            ELSE MOVE ZERO TO SW
                 PERFORM CHECKDATO UNTIL SW = 1
                 MOVE ZERO TO TAL RES
                 SUBTRACT 1 FROM MM
                 MOVE 1 TO INDEKS.
                 PERFORM BEREGN MM TIMES
                 ADD 1 TO MM
                 ADD DD TO RES
                 PERFORM UDSKRIV.
          BH-UD.
       EXIT.
      *
      *
       CHECKDATO SECTION.
          CK-IND.
           MOVE 1 TO SW.
           IF (DD = 0) OR (DD > 31)
             DISPLAY "FORKERT DAGNR. TAST NYT" AT 2010
             ACCEPT DD AT 2035
             MOVE ZERO TO SW.
           IF (MM = 0) OR (MM > 12)
             DISPLAY "FORKERT MÅNEDSNR. TAST NYT" AT 2010
             ACCEPT MM AT 2038
             MOVE ZERO TO SW.
          CK-UD.
       EXIT.
      *
      *
       BEREGN SECTION.
          BR-IND.
           ADD MD-TAL (INDEKS) TO RES.
           ADD 1 TO INDEKS.
          BR-UD.
       EXIT.
      *
      *
       UDSKRIV SECTION.
          US-IND.
           DISPLAY "MDNAVN = " AT 1010.
           MOVE MD-NVN (MM) TO MDM.
           DISPLAY MDM AT 1019.
           DISPLAY "DGNR   = " AT 1210.
           MOVE RES TO RES-UD.
           DISPLAY RES-UD AT 1219.
           DISPLAY "TRYK (RETUR)" AT 2403.
           ACCEPT RETUR AT 2416.
          US-UD.
       EXIT.
      *
      *
       AFSLUT SECTION.
          AS-IND.
           DISPLAY SPACES.
           DISPLAY "OPGAVE 10 FÆRDIG" AT 0101.
          AS-UD.
       EXIT.
«eof»