home *** CD-ROM | disk | FTP | other *** search
- 1 DIM A(12),M$(12)
- 2 DATA 0,31,59,90,120,151,181,212,243,273,304,334
- 3 FOR I=1 TO 12 : READ A(I) : NEXT
- 5 PI=3.14159
- 7 PRINT : PRINT
- 10 PRINT "THIS PROGRAM WILL PRINT YOUR PERSONAL BIO-RYTHM ANALTSIS"
- 20 PRINT " FOR A 30 DAY PERIOD STARTING AT ANY DATE YOU SELECT."
- 30 PRINT "DATES SHOULD BE ENTERED IN NUMERICAL FORM WITH THE MONTH,"
- 40 PRINT "DAY AND YEAR SEPARATED BY COMMAS. . I.E. JULY 4,1976 WOULD"
- 50 PRINT "BE ENTERED AS 7,4,76."
- 55 REM LINE 475 SETS THE NUMBER OF DAYS IN A RUN
- 70 PRINT : PRINT
- 80 PRINT "WHAT IS THE DATE AT WHICH YOU WOULD LIKE THE ANALYSIS"
- 90 PRINT "TO START?"
- 100 INPUT M,D,Y
- 105 M=INT(M) : D=INT(D) : Y=INT(Y)
- 110 INPUT "WHAT IS THE DATE OF YOUR BIRTH ";MB,DB,YB
- 115 MB=INT(MB) : DB=INT(DB): YB=INT(YB)
- 117 INPUT "WHAT IS YOUR NAME ";A$
- 120 PRINT
- 130 DEF FNI(X)=INT(20*SIN(2*PI*X/33)+.5)
- 140 DEF FNE(X)=INT(20*SIN(2*PI*X/28)+.5)
- 150 DEF FNP(X)=INT(20*SIN(2*PI*X/23)+.5)
- 160 T=INT(D+365.25*Y+A(M)+.01*M-.03)
- 170 TB=INT(DB+365.25*YB+A(MB)+.01*MB-.03)
- 180 X=T-TB
- 183 V=INT((40-LEN(A$))/2)
- 184 RB=TB-1-INT((TB-1)/7)*7
- 210 DATA MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
- 230 FOR I= 0 TO 6 : READ DAY$(I) : NEXT
- 240 DATA MON,TUE,WED,THU,FRI,SAT,SUN
- 250 FOR I=0 TO 6 : READ D$(I) : NEXT
- 255 PRINT : PRINT
- 260 DATA JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST
- 265 DATA SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER
- 272 FOR I=1 TO 12 : READ M$(I) : NEXT
- 273 PRINT SPC(2): FOR I=1 TO V : PRINT "*";:NEXT
- 274 PRINT "BIO-RHYTHM ANALYSIS FOR "A$;
- 276 PRINT "*";:IF POS(0)<66 THEN 276
- 278 PRINT : PRINT
- 280 R=T-1-INT((T-1)/7)*7
- 282 LE=21+LEN(DAY$(R))+LEN(M$(M))+LEN(STR$(D))+LEN(RIGHT$(STR$(Y),2))
- 283 V2=INT((64-LE)/2)
- 285 PRINT SPC(2): FOR I=1 TO V2 : PRINT "*";:NEXT
- 290 PRINT "STARTING DATE: "DAY$(R)", "M$(M)STR$(D)", 19";
- 292 PRINT RIGHT$(STR$(Y),2);
- 295 PRINT "*"; : IF POS(0)<66 THEN 295
- 297 PRINT:PRINT
- 300 LL=LEN(DAY$(RB))+LEN(M$(MB))+LEN(STR$(DB))+LEN(RIGHT$(STR$(YB),2))
- 301 LB=LL+18
- 302 VB=INT((64-LB)/2)
- 303 PRINT SPC(2): FOR I=1 TO VB : PRINT "*";:NEXT
- 304 PRINT "BIRTH DATE: "DAY$(RB)", "M$(MB)STR$(DB)", 19";
- 305 PRINT RIGHT$(STR$(YB),2);
- 306 PRINT "*"; : IF POS(0)<66 THEN 306
- 307 PRINT :PRINT:PRINT
- 308 PRINT TAB(20)"DOWN",TAB(40)"CRITICAL",TAB(63)"UP"
- 310 PRINT D$(R)D;M$(M);
- 320 F(0)=42 : F$(0)="*"
- 330 F(1)=42+FNI(X) : F$(1)="I"
- 340 F(2)=42+FNE(X):F$(2)="E"
- 350 F(3)=42+FNP(X):F$(3)="P"
- 360 FOR I=0 TO 2
- 370 FOR J=I+1 TO 3
- 380 IF F(I)<F(J) THEN 420
- 385 IF F(I)=F(J) THEN F(I)=0 : F$(I)="":F$(J)="X": GOTO 420
- 390 Q=F(I):Q$=F$(I)
- 400 F(I)=F(J):F$(I)=F$(J)
- 410 F(J)=Q:F$(J)=Q$
- 420 NEXT J,I
- 440 FOR I=0 TO 3
- 450 PRINT TAB(F(I));F$(I);
- 460 NEXT
- 470 PRINT : X=X+.5:IF INT(X)<>X THEN 320
- 475 IF Z=29 THEN 570
- 480 R=R+1 : IF R=7 THEN R=0
- 490 D=D+1 : IF M=4 OR M=6 OR M=9 OR M=11 THEN L=30 : GOTO 530
- 500 IF M=2 AND Y/4=INT(Y/4) THEN L=29 : GOTO 530
- 510 IF M=2 THEN L=28 : GOTO 530
- 520 L=31
- 530 IF D>L THEN D=D-L : M=M+1 : GOTO 550
- 540 PRINT D$(R); D; : Z=Z+1 : GOTO 320
- 550 IF M=13 THEN M=1 : Z=Z+1 : GOTO 310
- 560 Z=Z+1 : GOTO 310
- 570 PRINT:PRINT
- 580 END