10 PRINT "" 120 PRINT 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 241 PRINT " THIS PROGRAM DEMONSTRATES LSI-11 MU BASIC AND ALSO GIVES" 242 PRINT "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 310 LET 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 GO TO 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 GO TO 570 530 PRINT M;"/";D;"/";Y;" IS A "; 540 GO TO 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 THEN 630 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 GO TO 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 GO TO 1080 1040 IF K5>9 THEN 1070 1050 PRINT "YOU HAVE PLAYED/STUDIED", 1060 GO TO 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 M I C R O C O M P U T E R TODAY THE L S I - 11" 1140 FOR Q=1 TO 2 1150 PRINT 1160 NEXT Q 1170 PRINT 1240 GO TO 240 1250 IF D=13 THEN 1280 1260 PRINT "FRIDAY " 1270 GO TO 710 1280 PRINT "FRIDAY THE THIRTEENT@---BEWARE!" 1290 GO TO 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 GO TO 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 GO TO 1090 1550 LET K5=K5+1 1560 LET K6=0 1570 GO TO 1090 1580 END