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 / SIMTEL / CPMUG / CPMUG021.ARK / BIO.ASC < prev    next >
Text File  |  1984-04-29  |  4KB  |  159 lines

  1.  
  2.  
  3. 1 LET R1=(360/33)/57.2958
  4. 2 LET R2=(360/28)/57.2958
  5. 3 LET R3=(360/23)/57.2958
  6. 50 DATA 0,31,59,90,120,151,181,212,243,273,304,334
  7. 51 DATA 365
  8. 60 DIM L$(50)
  9. 75 RESTORE
  10. 100 PRINT"ENTER BIRTHDAY,CURRENT DATE (YYMMDD)"
  11. 125 LET P1=0
  12. 150 LET J6=1
  13. 200 INPUT D1,D2
  14. 205 LET D9=D2
  15. 206 PRINT"ENTER DURATION "
  16. 207 INPUT J5
  17. 210 PRINT"ENTER NAME OF SUBJECT "
  18. 220 INPUT A$
  19. 230 GOSUB 12000
  20. 300 IF D1>D2 THEN PRINT" INVALID DATES "
  21. 400 LET X1=D1
  22. 500 GOSUB 1000
  23. 550 LET Y1=X2:LETM1=X3:LET D1=X4
  24. 600 LET X1=D2
  25. 625 GOSUB 1000
  26. 650 LET Y2=X2:LETM2=X3:LETD2=X4
  27. 800 GOSUB 4000
  28. 1000 LET X2=INT(X1/10000)
  29. 1100 LET X3=INT(X1/100)-(X2*100)
  30. 1200 LET X4=X1-((X3*100)+(X2*10000))
  31. 1300 RETURN
  32. 4000 LET D4=(INT((Y2-1)*365.25)-INT((Y1-1)*365.25))
  33. 4100 FOR I=1 TO M1
  34. 4200 READ J1
  35. 4300 NEXT I
  36. 4400 RESTORE
  37. 4500 FOR I =1 TO M2
  38. 4600 READ J2
  39. 4700 NEXT I
  40. 4800 LET J1=J1+D1
  41. 4900 LET J2=J2+D2
  42. 5000 LET L1=(Y1/4)-(INT(Y1/4))
  43. 5100 IF L1=0 THEN LET L1=1:GOTO 5300
  44. 5200 LET L1=0
  45. 5300 LET L2=(Y2/4)-(INT(Y2/4))
  46. 5400 IF L2=0 THEN LET L2=1:GOTO 5600
  47. 5500 LET L2=0
  48. 5600 IF M1>2 THEN LET J1=J1+L1
  49. 5700 IF M2>2 THEN LET J2=J2+L2
  50. 5800 LET D4=D4+J2-J1
  51. 6000 LET D1=(D4-(INT(D4/33)*33))
  52. 6100 LET D2=(D4-(INT(D4/28)*28))
  53. 6200 LET D3=(D4-(INT(D4/23)*23))
  54. 6300 FOR L3=1 TO 50 
  55. 6350 FOR I= 1 TO 50
  56. 6360 LET L$(I)=" "
  57. 6370 NEXT I
  58. 6400 LET X=SIN(R1*D1)
  59. 6500 LET Y=SIN(R2*D2)
  60. 6600 LET Z=SIN(R3*D3)
  61. 6700 LET L$(X*20+25)="M"
  62. 6800 LET L$(Y*20+25)="E"
  63. 6900 LET L$(Z*20+25)="P"
  64. 6950 PRINT":  ";
  65. 7000 FOR I=1 TO 50
  66. 7050 LET L$(25)="I"
  67. 7100 PRINT L$(I);
  68. 7200 NEXT I
  69. 7205 PRINT": ";
  70. 7207 GOSUB 10000:PRINT D5;" :   ";
  71. 7210 IF D1=0 THEN LET C=1:PRINT"M ";
  72. 7215 IF D1=16 THEN LET C=1:PRINT"M ";
  73. 7220 IF D2=0 THEN LET C=1:PRINT"E ";
  74. 7225 IF D2=14 THEN LET C=1:PRINT"E ";
  75. 7230 IF D3=0 THEN LET C=1:PRINT"P ";
  76. 7235 IF D3=12 THEN LET C=1:PRINT"P ";
  77. 7240 IF C=1 THEN LET C=0
  78. 7250 PRINT
  79. 7300 LET D1=D1+1
  80. 7400 LET D2=D2+1
  81. 7500 LET D3=D3+1
  82. 7600 IF D1=33 THEN LET D1=0
  83. 7700 IF D2=28 THEN LET D2=0
  84. 7800 IF D3=23 THEN LET D3=0
  85. 7900 LET J2=J2+1
  86. 7920 LET J6=J6+1
  87. 7950 IF J5<J6 GOTO 8300
  88. 8000 NEXT L3
  89. 8050 LET P1=P1+1
  90. 8100 GOSUB 14500
  91. 8125 PRINT:PRINT
  92. 8150 GOSUB 12000
  93. 8200 GOTO 6300
  94. 8300 LET P1=P1+1
  95. 8350 GOSUB 14500
  96. 8400 PRINT:PRINT
  97. 8500 GOTO 75
  98. 10000 RESTORE
  99. 10100 FOR I =1 TO 13
  100. 10150 LET J4=J3
  101. 10200 READ J3
  102. 10250 IF J2>59 THEN LET J3=J3+L2
  103. 10300 IF J2<=J3 GOTO 11000
  104. 10400 NEXT I
  105. 10500 LET Y2=Y2+1
  106. 10510 LET L2=(Y2/4)-(INT(Y2/4))
  107. 10520 IF L2=0 THEN LET L2=1:GOTO 10600
  108. 10530 LET L2=0
  109. 10600 LET J2=J2-365
  110. 10700 GOTO 10000
  111. 11000 LET M2=I-1
  112. 11100 LET D6=J2-J4
  113. 11150 IF J2=60 THEN LET D6=D6+L2
  114. 11200 LET D5=Y2*10000+(M2*100)+D6
  115. 11300 RETURN
  116. 12000 FOR I=1 TO 70
  117. 12100 PRINT"-";
  118. 12200 NEXT I
  119. 12250 PRINT
  120. 12300 PRINT": COMPUTERIZED STUDY OF BIORHYTHMIC CURVES BY ELMER ";
  121. 12310 PRINT"(PHONE 528-4438)";
  122. 12400 GOSUB 13600
  123. 12500 PRINT": SUBJECT, ";A$;
  124. 12600 GOSUB 13600
  125. 12700 PRINT ": DATE OF STUDY- ";D9;"- DURATION ";J5;"DAYS ";
  126. 12800 GOSUB 13600
  127. 12810 FOR I=1 TO 70:PRINT"-";:NEXT I:PRINT
  128. 12820 PRINT":         P=PHYSICAL      E=EMOTIONAL        M=MENTAL ";
  129. 12830 PRINT TAB(70)":"
  130. 13200 FOR I=1 TO 70:PRINT"-";:NEXT I
  131. 13210 PRINT
  132. 13250 PRINT":           LOW           :          HIGH          :";
  133. 13260 PRINT"  DATE   :CRITICAL";
  134. 13400 PRINT":"
  135. 13500 FOR I=1 TO 70
  136. 13510 PRINT"-";
  137. 13520 NEXT I
  138. 13530 PRINT
  139. 13540 RETURN
  140. 13600 LET J=70-POS(X)
  141. 13700 FOR I=1 TO J-1
  142. 13800 PRINT" ";
  143. 13900 NEXT I
  144. 14000 PRINT":"
  145. 14100 RETURN
  146. 14500 FOR I=1 TO 70:PRINT"-";:NEXT I:PRINT
  147. 14600 PRINT": HIGH         DAYS OF FULL VITALITY, EFFICIENCY, ";  
  148. 14610 PRINT"AND HIGH ENDURANCE";  
  149. 14700 GOSUB 13600
  150. 14800 PRINT": LOW          DAYS OF REDUCED EFFICIENCY, RECUPERATION, ";
  151. 14810 PRINT"TIRE EASILY";
  152. 14900 GOSUB 13600
  153. 15000 PRINT": CRITICAL     DAYS TO AVOID SITUATIONS THAT MIGHT ";  
  154. 15010 PRINT"LEAD TO TROUBLE";  
  155. 15100 GOSUB 13600
  156. 15150 FOR I=1 TO 70:PRINT"-";:NEXT I:PRINT
  157. 15200 PRINT TAB(31);"PAGE ";P1
  158. 15400 RETURN
  159.