home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
MBUG
/
MBUG055.ARC
/
BIOPRINT.BAS
< prev
next >
Wrap
BASIC Source File
|
1979-12-31
|
3KB
|
90 lines
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
0 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: