home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug054.ark / BOUNCE.BAS < prev    next >
Encoding:
BASIC Source File  |  1984-04-29  |  1.3 KB  |  54 lines

  1. 90 DIM T(20)
  2. 100 PRINT "THIS SIMULATION LETS YOU SPECIFY THE INITIAL VELOCITY"
  3. 110 PRINT "OF A BALL THROWN STRAIGHT UP, AND THE COEFFICIENT OF"
  4. 120 PRINT "ELASTICITY OF THE BALL. PLEASE USE A DECIMAL FRACTION"
  5. 130 PRINT "COEFFICIENT (LESS THAN 1)."
  6. 131 PRINT
  7. 132 PRINT "YOU ALSO SPECIFY THE TIME INCREMENT TO BE USED IN"
  8. 133 PRINT "'STROBING' THE BALL'S FLIGHT (TRY .1 INITIALLY)."
  9. 134 PRINT
  10. 135 PRINT "TIME INCREMENT (SEC)";
  11. 136 INPUT S2
  12. 140 PRINT
  13. 150 PRINT "VELOCITY (FPS)";
  14. 160 INPUT V
  15. 165 PRINT
  16. 170 PRINT "COEFFICIENT";
  17. 180 INPUT C
  18. 184 PRINT
  19. 185 PRINT "FEET"
  20. 186 PRINT
  21. 187 S1=INT(70/(V/(16*S2)))
  22. 190 FOR I=1 TO S1
  23. 200 T(I)=V*C^(I-1)/16
  24. 210 NEXT I
  25. 220 FOR H=INT(-16*(V/32)^2+V^2/32+.5) TO 0 STEP -.5
  26. 221 IF INT(H)<>H THEN 225
  27. 222 PRINT H;
  28. 225 L=0
  29. 230 FOR I=1 TO S1
  30. 240 FOR T=0 TO T(I) STEP S2
  31. 245 L=L+S2
  32. 250 IF ABS(H-(.5*(-32)*T^2+V*C^(I-1)*T))>.25 THEN 270
  33. 260 PRINT TAB(L/S2);"O";
  34. 270 NEXT T
  35. 275 T=T(I+1)/2
  36. 276 IF -16*T^2+V*C^(I-1)*T<H THEN 290
  37. 280 NEXT I
  38. 290 PRINT
  39. 300 NEXT H
  40. 310 PRINT TAB(1);
  41. 320 FOR I=1 TO INT(L+1)/S2+1
  42. 330 PRINT ".";
  43. 340 NEXT I
  44. 350 PRINT
  45. 355 PRINT " 0";
  46. 360 FOR I=1 TO INT(L+.9995)
  47. 380 PRINT TAB(INT(I/S2));I;
  48. 390 NEXT I
  49. 400 PRINT
  50. 410 PRINT TAB(INT(L+1)/(2*S2)-2);"SECONDS"
  51. 420 PRINT
  52. 430 GOTO 135
  53. 440 END
  54.