10 PRINT""
 120PRINT
 124 LET Y1 = 1970
 130 PRINT" ENTER TODAY'S DATE IN THIS FORM: MONTH,DAY, YEAR";
 140 INPUT M1,D1,Y1
 150 IF Y1>100 THEN 170
 160 LET Y1 = Y1 + 1900
 170 DEF FNA(A)=INT(A/4)
 180 DIM T(12)
 190 DEF FNB(A)=INT(A/7)
 210 FOR I= 1 TO 12
 220 READ T(I)
 230 NEXT I
 240 PRINT
 241PRINT"THIS PROGRAM DEMONSTRATES PDP-11 BASIC AND ALSO GIVES "
 242PRINT"FACTS ABOUT A DATE OF INTEREST TO YOU"
 244 PRINT
 245 PRINT"ENTER DATE OF BIRTH IN THIS FORM: MO,DAY,YEAR";
 250 INPUT M,D,Y
 260 PRINT
 270 IF Y - 75 >0 THEN 280
 275 LET Y = Y+1900
 280 LET I1 = INT((Y-1500)/100)
 290 IF Y-1582<0 THEN 1300
 300 LET A = I1*5+(I1+3)/4
 310LET I2 = INT(A-FNB(A)*7)
 320  LET Y2= INT(Y/100)
 330 LET Y3 = INT(Y-Y2*100)
 340 LET A = Y3/4+Y3+D+T(M)+I2
 350 LET B = INT(A-FNB(A)*7)+1
 360 IF M>2 THEN 470
 370  IF Y3= 0 THEN 440
 380 LET T1 = INT(Y-FNA(Y)*4)
 390 IF T1<>  0 THEN 470
 400 IF B<>0 THEN 420
 410 LET B = 6
 420 LET B = B-1
 430 GOTO 470
 440 LET A = I1-1
 450 LET T1 = INT(A-FNA(A)*4)
 460 IF T1 = 0 THEN 400
 470 IF B <> 0 THEN 490
 480 LET B = 7
 490 IF (Y1*12+M1)*31+D1<(Y*12+M)*31+D THEN 550
 500 IF (Y1*12+M1)*31+D1=(Y*12+M)*31+D THEN 530
 510 PRINT M;"/";D;"/";Y;" WAS A ";
 520 GOTO 570
 530 PRINT M;"/";D;"/";Y;" IS A ";
 540 GOTO 570
 550 PRINT M;"/";D;"/";Y;" WILL BE A ";
 570 IF B<>1 THEN 590
 580 PRINT "SUNDAY"
 590 IF B<>2 THEN 610
 600 PRINT "MONDAY"
 610 IF B<>3 THEN630
 620 PRINT "TUESDAY"
 630 IF B<>4 THEN 650
 640 PRINT "WEDNESDAY"
 650 IF B<>5 THEN 670
 660 PRINT "THURSDAY"
 670 IF B<>6 THEN 690
 680 GOTO 1250
 690 IF B<>7 THEN 710
 700 PRINT "SATURDAY"
 710 IF (Y1*12+M1)*31+D1=(Y*12+M)*31+D THEN 1120
 720 LET I5=Y1-Y
 730 PRINT
 740 LET I6=M1-M
 750 LET I7=D1-D
 760 IF I7>=0 THEN 790
 770 LET I6=I6-1
 780 LET I7=I7+30
 790 IF I6>=0 THEN 820
 800 LET I5=I5-1
 810 LET I6=I6+12
 820 IF I5<0 THEN 1310
 830 IF I7<>0 THEN 850
 835 IF I6<>0 THEN 850
 840 PRINT "****HAPPY BIRTHDAY*****"
 850 PRINT " "," ","YEARS","MONTHS","DAYS"
 860 PRINT "YOUR AGE              ",I5,I6,I7
 870 LET A8= (I5*365)+(I6*30)+I7+INT(I6/2)
 880 LET K5=I5
 890 LET K6=I6
 900 LET K7=I7
 920 LET E=Y+65
 940 LET F=.35
 950 PRINT "YOU HAVE SLEPT ",
 960 GOSUB 1370
 970 LET F=.17
 980 PRINT "YOU HAVE EATEN ",
 990 GOSUB 1370
1000 LET F=.23
1010 IF K5 > 3 THEN 1040
1020 PRINT"YOU HAVE PLAYED ",
1030 GOTO 1080
1040 IF K5 > 9 THEN 1070
1050 PRINT "YOU HAVE PLAYED/STUDIED",
1060 GOTO 1080
1070 PRINT "YOU HAVE WORKED/STUDIED",
1080 GOSUB 1370
1090 PRINT "YOU HAVE RELAXED ",K5,K6,K7
1100 PRINT
1110 PRINT " ","**YOU MAY RETIRE IN";E;"**"
1120 PRINT
1130 PRINT" CALCULATED BY THE BEST MINICOMPUTER TODAY - THE PDP-11"
1140 FOR Q=1 TO 2
1150 PRINT
1160 NEXT Q
1170 PRINT
1240 GOTO 240
1250 IF D=13 THEN 1280
1260 PRINT "FRIDAY "
1270 GOTO 710
1280 PRINT "FRIDAY THE THIRTEENTH---BEWARE!"
1290 GOTO 710
1300 PRINT "NOT PREPARED TO GIVE DAY OF WEEK PRIOR TO MDLXPXII -"
1305 PRINT "    THE CURRENT CALENDAR DID NOT EXIST BEFORE THAT YEAR."
1310 GOTO 1140
1330 DATA 0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5
1370 LET K1= INT(F*A8)
1380 LET I5 = INT(K1/365)
1390 LET K1 = K1-(I5*365)
1400 LET I6 = INT(K1/30)
1410 LET I7 = K1-(I6*30)
1420 LET K5 = K5-I5
1430 LET K6 = K6-I6
1440 LET K7 = K7-I7
1450 IF K7 >= 0 THEN 1480
1460 LET K7 = K7+30
1470 LET K6 = K6-1
1480 IF K6 > 0 THEN 1510
1490 LET K6 = K6+12
1500 LET K5 = K5-1
1510 PRINT I5,I6,I7
1520 RETURN
1530 IF K6 = 12 THEN 1550
1540 GOTO 1090
1550 LET K5 = K5+1
1560 LET K6=0
1570 GOTO 1090
1580 END