Yet another biorhythm plotter.
Content
Source Code
105 GO SUB 2000
110 FOR l=0 TO 8*days STEP 8
120 PLOT l,16: DRAW 0,144: NEXT l
200 PLOT 0,88
210 DRAW days*8,0
400 PRINT AT 11,0;"0": PRINT AT 11,5;"5"
410 FOR n=10 TO days STEP 5
420 PRINT AT 11,n-1;n
430 NEXT n
500 REM *p/curve*
510 PAPER 5: GO SUB 2200
520 LET a=360/(8*23): LET s=a*d*8: LET a$="P"
530 GO SUB 1000
600 REM *s/curve*
610 GO SUB 2300
620 LET a=360/(8*28): LET s=a*d*8: LET a$="S"
630 GO SUB 1000
700 REM *I/curve*
710 PAPER 4: GO SUB 2400
720 LET a=360/(8*33): LET s=a*d*8: LET a$="I"
730 GO SUB 1000
740 PAPER 7
999 STOP
1000 FOR x=0 TO 8*days
1005 LET y=88+72*SIN (s*.0174533)
1006 IF y>158 AND x/8=INT (x/8) THEN PRINT AT 2,x/8;a$
1007 IF y<18 AND x/8=INT (x/8) THEN PRINT AT 19,x/8;a$
1010 PLOT x,y
1020 LET s=s+a
1030 NEXT x
1040 RETURN
2000 INPUT "Your BIIRTHDAY (MM/DD/YY)?";m,d,y: LET y=y-1
2005 GO SUB 3000
2010 LET ds=dt
2020 INPUT "BIO-GRAPH month (MM/YY)?";m,y: LET d=1: LET days=m: LET month=m: LET years=y: LET y=y-1
2025 GO SUB 3000
2030 LET de=dt
2040 LET r=de-ds: IF r<0 THEN PRINT "OOPS!! Dates entered wrong!": FOR t=1 TO 250: NEXT t: CLS : GO TO 2000
2082 IF days=2 THEN LET days=28
2084 IF days=28 AND years/4=INT (years/4) THEN LET days=29
2087 IF days=4 OR days=6 OR days=9 OR days=11 THEN LET days=30: GO TO 2090
2088 IF days<>28 AND days<>29 THEN LET days=31
2090 INPUT "What is your FIRST NAME?";n$
2092 PRINT " B I O - G R A P H"
2093 PRINT "For: ";n$;" Month: ";month;"/";years
2095 RETURN
2100 REM *S/cycle*
2200 REM *P/cycle*
2210 LET q=INT (r/23): LET d=r-(q*23): PRINT AT 20,0;"Physical=";d
2220 RETURN
2300 REM
2310 LET q=INT (r/28): LET d=r-q*28: PRINT AT 20,16;"Sensitivity=";d
2320 RETURN
2400 REM
2410 LET q=INT (r/33): LET d=r-q*33: PRINT AT 21,8;"Intellectual=";d
2420 RETURN
3000 LET yt=y-1901
3010 LET lt=INT (yt/4)
3020 IF y/4=INT (y/4) AND m<3 THEN LET lt=lt+1
3100 IF m=1 THEN LET mt=0: GO TO 3400
3110 IF m=2 THEN LET mt=31: GO TO 3400
3120 IF m=3 THEN LET mt=59: GO TO 3300
3130 IF m=4 THEN LET mt=90: GO TO 3300
3140 IF m=5 THEN LET mt=120: GO TO 3300
3150 IF m=6 THEN LET mt=151: GO TO 3300
3160 IF m=7 THEN LET mt=181: GO TO 3300
3170 IF m=8 THEN LET mt=212: GO TO 3300
3180 IF m=9 THEN LET mt=243: GO TO 3300
3190 IF m=10 THEN LET mt=273: GO TO 3300
3200 IF m=11 THEN LET mt=304: GO TO 3300
3210 IF m=12 THEN LET mt=334
3300 LET dt=(yt*365+306)+lt+mt+d: LET y=y+1
3310 IF y/4=INT (y/4) THEN LET dt=dt+1
3330 RETURN
3400 LET dt=(yt*365+306)+lt+mt+d: RETURN
4000 SAVE "BIO-GRAPH"
4010 STOP