5 "A": CLEAR : DEGREE : PRINT " " 10 INPUT "NAME=";D$ 20 PRINT "NAME:";D$ 30 INPUT "DATE OF BIRTH:YEAR=";U,"MONTH=";V,"DAY=";W 40 PRINT "DATE OF BIRTH:": PRINT USING "########";U;",";USING "###";V;",";W 50 GOSUB 500:B=X 60 INPUT "DESIRED:YEAR=";U,"MONTH=";V:W=0 70 PRINT "DESIRED MONTH:": PRINT USING "########";U;",";USING "###";V 75 PRINT " " 80 GOSUB 500:A=X 100 C=A-B 110 GOSUB 700 120 GOSUB 800 130 D=C-INT (C/23)*23 140 E=C-INT (C/28)*28 150 F=C-INT (C/33)*33 200 PRINT " - 0 +" 210 PRINT "I-----+-----I" 215 FOR K=1 TO M 220 O$=" ": IF K=5*INT (K/5) LET O$="-" 230 FOR N=1 TO 5:A$(15+N)=O$:A$(21+N)=O$:NEXT N 240 U$="+" 250 G=SIN ((K+D)/23*360):O$="S": GOSUB 900 260 G=SIN ((K+E)/28*360):O$="K": GOSUB 900 270 G=SIN ((K+F)/33*360):O$="C": GOSUB 900 290 PRINT "I";P$;Q$;R$;S$;T$;U$;V$;W$;X$;Y$;Z$;"I";USING "###";K 300 NEXT K 310 PRINT "I-----+-----I" 320 END 500 T=U 560 IF V>=3 LET Q=T:R=V+1:S=W: GOTO 580 570 Q=T-1:R=13+V:S=W 580 X=INT (365.25*Q)+INT (30.6*R)+S-122 590 X=X-INT (Q/100)+INT (Q/400) 600 RETURN 700 IF T<>4*INT (T/4) LET Y=0: RETURN 710 IF T<>100*INT (T/100) LET Y=1: RETURN 720 IF T<>400*INT (T/400) LET Y=0: RETURN 730 Y=1: RETURN 800 IF (V=4)+(V=6)+(V=9)+(V=11)=1 LET M=30: RETURN 810 IF V=2 LET M=28+Y: RETURN 820 M=31: RETURN 900 N=INT (.5+5*ABS G)*SGN G 910 A$(21+N)=O$ 920 RETURN