File YEAR.PS

Directory of image this file is from
This file as a plain text file

NC (GESAMTTAGE/7)));
      END;
  BEGIN
  WRITE ("JAHR");
  READLN (JAHR);
  WRITELN;
  WRITELN;
  WRITELN;
  MONAT:=0;
  FOR I1:= 1 TO 12 DO BEGIN
     MONAT:= MONAT+1;
     WOCHENBERECHNUNG (MONAT,JAHR,SCHALTJAHR,WOCHENTAG);
     IF WOCHENTAG>0 THEN
     FOR I2:= 1 TO WOCHENTAG DO
        FELD [I2,1,MONAT]:=0 ;
     CASE MONAT OF
        1,3,5,7,8,10,12: I3:=31;
                      2: I3:=28+SCHALTJAHR;
               4,6,9,11: I3:=30
                END;
     FOR B1:= 1 TO 6 DO
        FOR B2:= 1 TO 7 DO BEGIN
           IF (B1=1) AND (B2=1) THEN
              B2:=WOCHENTAG + 1;
           ZAEHLER:= (B1-1)*7+B2-WOCHENTAG;
           IF ZAEHLER<= I3 THEN
              FELD [B2,B1,MONAT]:=ZAEHLER
              ELSE FELD [B2,B1,MONAT]:=0
        END
     END
  END;
  PROCEDURE UEBERSCHRIFT(MONAT:INTEGER);
  VAR BMONAT,Z1:INTEGER;
  BEGIN
  BMONAT:=MONAT;
  FOR Z1:=1 TO 3 DO BEGIN
     CASE BMONAT OF
         1:WRITE("      !        J A N U A R     ");
         2:WRITE("    F E B R U A R    ");
         3:WRITELN("      M A E R Z        !");
        4:WRITE("      !        A P R I L     ");
         5:WRITE("        M A I        ");
         6:WRITELN("       J U N I           !");
         7:WRITE("      !          J U L I       ");
         8:WRITE("     A U G U S T     ");
         9:WRITELN("  S E P T E M B E R    !");
        10:WRITE("      !      O K T O B E R    ");
        11:WRITE("   N O V E M B E R   ");
        12:WRITELN("   D E Z E M B E R      !")
        END;
     BMONAT:=BMONAT+1
     END;
WRITELN("      !--------------------------------------------------------------------!");
WRITELN("      !                                                                    !")
  END;
  PROCEDURE BLOCKDRUCK ( MONAT:INTEGER;FELD:RALF);
  VAR REIHE,OTTO,SPALTE,A,Z,AMONAT:INTEGER;
  BEGIN
  UEBERSCHRIFT (MONAT);
  AMONAT:=MONAT;
  FOR REIHE := 1 TO 7 DO BEGIN
     A:= AMONAT;
     Z:= AMONAT +2;
     FOR MONAT:= A TO Z DO BEGIN
        FOR SPALTE:= 1 TO 6 DO BEGIN
           IF ((MONAT=1) OR (MONAT=4) OR (MONAT=7) OR (MONAT=10))
            AND (SPALTE=1) THEN
              CASE REIHE OF
                 1:WRITE("      !SO   ");
                 2:WRITE("      !MO   ");
                 3:WRITE("      !DI   ");
                 4:WRITE("      !MI   ");
                 5:WRITE("      !DO   ");
                 6:WRITE("      !FR   ");
                 7:WRITE("      !SA   ") 
                 END;
           IF FELD [REIHE,SPALTE,MONAT]=0 THEN WRITE ("   ")
           ELSE WRITE (FELD [REIHE,SPALTE,MONAT]:3)
        END;
        WRITE("   ")
     END;
     WRITELN ("!")
  END;
FOR OTTO:= 1 TO 2 DO
  WRITELN("      !                                                                    !")
  END;
BEGIN      (*WIRKLICH*)
BERECHNUNG (FELD);
AUFRUF:=1;
WRITELN("      !--------------------------------------------------------------------!");
WRITELN ("      !                                                                    !");
FOR C:=1 TO 4 DO BEGIN
   BLOCKDRUCK(AUFRUF,FELD);
   AUFRUF:=AUFRUF+3
END;
WRITELN ("      !     FINIS CORONAT OPUS (DAS ENDE KROENT DAS WERK)                  !");
WRITELN("      !--------------------------------------------------------------------!");
WRITELN;
END.



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search