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 / CPMUG037.ARK / VOLUME.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  2KB  |  89 lines

  1. %INCLUDE HEADER
  2. REM **********************VOLUME******************************
  3. REM METRIC CONVERSIONS OF VOLUME
  4. DRILL.NAME$="Metric Conversions of Volume"
  5.          PRINT
  6.          B=11
  7. DIM C(3), E$(3), M$(3)
  8. DATA 16.387064, "CUBIC INCHES", "CUBIC CENTIMETERS"
  9. DATA .028316847, "CUBIC FEET", "CUBIC METERS"
  10. DATA 3.785306, "GALLONS", "LITERS"
  11.          P=9
  12.          D=4
  13.          PRINT
  14. PRINT "OK ";N$;". Let's practice converting some english units of"
  15. PRINT "volume to their metric equivalents.  I will give you a problem"
  16. PRINT "and you give me your answer, which I will check.  If you need"
  17. PRINT "some help, enter -1 instead of an answer."
  18.          PRINT
  19.          PRINT "Your answer should be correct to the nearest hundredth."
  20.          PRINT
  21.          C=0
  22.          N=0
  23.          I=0
  24. 300 GOSUB 710
  25.          GOSUB 930
  26.          IF A$ <> "C" THEN 360
  27.          C=C + 1
  28.          I = I + 1
  29.          GOTO 440
  30. 360  I = 0
  31.          PRINT "  TRY AGAIN."
  32.          GOSUB 930
  33.          IF A$ = "C" THEN GOTO 440
  34.          PRINT "  TRY ONE MORE TIME."
  35.          GOSUB 930
  36.          IF A$="C" THEN GOTO 440
  37.          PRINT "  THE ANSWER IS ";A
  38. 440  IF I > P * C/N THEN 1000.2
  39.          IF N < 7 THEN GOTO 300
  40.          IF C/N >= .7 THEN GOTO 300
  41.          IF D = 1 THEN GOTO 300
  42.          D = D - 1
  43.          IF C/N >= .5 THEN GOTO 300
  44.          D = 1
  45.          GOTO 300
  46. 710      PRINT
  47.          N = N + 1
  48. 730      R = FNR(3)
  49.          R3 = FNR(D^2) + 1
  50.          GOSUB 780
  51.          A = R3 * C
  52. RETURN
  53. 780  RESTORE
  54.      FOR Q=1 TO R
  55.     READ C, E$,M$
  56.      NEXT Q
  57.          PRINT "HOW MANY ";M$;" ARE IN";R3;E$;
  58. RETURN
  59. 840  PRINT
  60.          RESTORE
  61.      FOR J=1 TO 3
  62.     READ C, E$, M$
  63.     PRINT "TO COVERT FROM ";E$; " TO ";M$
  64.     PRINT "      MULTIPLY BY";C;"."
  65.        PRINT
  66.      NEXT J
  67. RETURN
  68. 930  INPUT LINE X$
  69. RANDOMIZE
  70. IF X$="QUIT" THEN GOTO 1000.2
  71. X=VAL(X$)
  72.          IF X < 0 THEN GOTO 980
  73.          IF ABS(X-A) > .005 THEN GOTO 1030
  74.          A$ = "C"
  75. RETURN
  76. 980  GOSUB 840
  77.          PRINT
  78.          PRINT "HERE IS YOUR PROBLEM AGAIN:"
  79.          GOSUB 780
  80.          GOTO 930
  81. 1030  PRINT "NOT CORRECT. ";
  82.          I = 0
  83.          A$ = "I"
  84. RETURN
  85. %INCLUDE GRADE
  86.  
  87.          END
  88.  
  89.