File DATUM.BA (BASIC source file)

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

10 DIM A$(72)\REM WOCHENTAG BERECHNEN
20 PRINT "SIE KOENNEN DATEN AB DEM JAHRE NULL ABFRAGEN. GEBEN SIE ";
30 PRINT "AUF ANFRAGE""TAG, MONAT UND JAHR (T,M,J) EIN!"
40 PRINT "BITTE GEBEN SIE NUN DAS HEUTIGE DATUM KORREKT EIN!"
50 PRINT "HEUTIGES DATUM: T,M,J";\INPUT A1,B1,C1
60 PRINT "NUN KANN ES LOSGEHEN!"\GOTO 100
70 PRINT "NOCHMAL";
80 INPUT A$\IF A$="JA" THEN 100\IF A$="NEIN" THEN 760
90 PRINT "BITTE NUR MIT JA ODER NEIN ANTWORTEN! ALSO";\GOTO 80
100 PRINT "DATUM: T,M,J";\INPUT A,B,C
110 IF A<1 THEN 140\IF B<1 THEN 140\IF C<0 THEN 140
120 IF INT(A)<>A THEN 140\IF INT(B)<>B THEN 140
130 IF INT(C)<>C THEN 140\GOTO 150
140 PRINT "BITTE BRAUCHBARE DATEN EINGEBEN!"\GOTO 700
150 D=INT(C/100)\E=C-100*INT(C/100)
160 IF B>12 THEN 280\FOR I=1 TO 12
170 READ M\IF B=I THEN 190
180 NEXT I\GOTO 270
190 IF B<>2 THEN 260
200 IF E=0 THEN 240
210 IF INT(E/4)=E/4 THEN 230
220 LET T=28\GOTO 180
230 LET T=29\GOTO 180
240 IF D>15 THEN 250\GOTO 230
250 IF INT(D/4)=D/4 THEN 230\GOTO 220
260 LET T=M\GOTO 180
270 IF A<=T THEN 290
280 PRINT "DIESES DATUM GIBT ES NICHT."\GOTO 700
290 FOR I=1 TO 12
300 READ M\IF B=I THEN 320
310 NEXT I\GOTO 330
320 LET F=M\GOTO 310
330 IF C>1582 THEN 360\IF C<1582 THEN 370\IF B>10 THEN 360
340 IF B<10 THEN 370\IF A>14 THEN 360\IF A<5 THEN 370
350 PRINT "WEGEN KALENDERERFORM AUSGEFALLEN!"\GOO 700
360 LET P=1\LET X=D-4*INT(D/4)+1
370 FOR I=1 TO 4
380 READ M\IF X=I THEN 400
390 NEXT I\GOTO 410
400 LET G=M\GOTO 390
410 LET X=0\FOR I=1 TO 16
420 READ M\IF D=I-1 THEN 440
430 NEXT I\GOTO 450
440 IF P=1 THEN 430\LET G=M\GOTO 430
450 IF E=0 THEN 470\IF INT(E/4)=E/4 THEN 490
460 LET H=INT(E/4)\GOTO 510
470 IF D>15 THEN 480\GOTO 490
480 IF INT(D/4)=D/4 THEN 490\GOTO 460
490 IF B>2 THEN 460
500 LET H=INT(E/4)-1
510 K=A+F+G+E+H
520 L=K-7*INT(K/7)
530 PRINT "DER ";
540 PRINT A;
541 GOSUB 750
550 PRINT B;
551 GOSUB 750
560 PRINT C;
570 IF C>C1 THEN 590\IF C<C1 THEN 600\IF B<B1 THEN 600
580 IF B>B1 THEN 590\IF A<A1 THEN 600
590 PRINT " IST EIN ";\GOTO 610
600 PRINT " WAR EIN ";
610 IF L=1 THEN 640\IF L=2 THEN 650\IF L=3 THEN 660
620 IF L=4 THEN 670\IF L=5 THEN 680\IF L=6 THEN 690
630 PRINT "SONNTAG."\GOTO 700
640 PRINT "MONTAG."\GOTO 700
650 PRINT "DIENSTAG."\GOTO 700
660 PRINT "MITTWOCH."\GOTO 700
670 PRINT "DONNERSTAG."\GOTO 700
680 PRINT "FREITAG."\GOTO 700
690 PRINT "SAMSTAG."
700 RESTORE\GOTO 70
710 DATA 31,0,31,30,31,30,31,31,30,31,30,31
720 DATA 0,3,3,6,1,4,6,2,5,0,3,5,6,4,2,0
730 DATA 2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3
740 STOP
750 PRINT ".";\RETURN
760 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