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 / DECIMAL.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  3KB  |  116 lines

  1. %INCLUDE HEADER
  2. REM **********************DECIMAL*************************
  3. REM SIMPLE EQUATIONS WITH DECIMALS
  4. DRILL.NAME$="Simple Equations with Decimals"
  5.          PRINT
  6.          B=6
  7. P=9
  8. D=4
  9.          PRINT
  10. PRINT    "OK, "; N$;". Let's practice finding some missing numbers"
  11. PRINT    "in some simple equations which are composed of decimals."
  12. PRINT    "  I'll give you a problem, you give me the answer, and I'll"
  13. PRINT    "check to see if your answer is correct."
  14.          PRINT
  15.          C=0
  16.          N=0
  17.          I=0
  18. 240 GOSUB 700
  19.          GOSUB 1200
  20.          IF A$ <> "C" THEN 300
  21.          C=C + 1
  22.          I = I + 1
  23.          GOTO 380
  24. 300  I = 0
  25.          PRINT "  TRY AGAIN."
  26.          GOSUB 1200
  27.          IF A$ = "C" THEN 380
  28.          PRINT "  TRY ONE MORE TIME."
  29.          GOSUB 1200
  30.          IF A$="C" THEN 380
  31.          PRINT "  THE ANSWER IS ";A
  32. 380  IF I > P * C/N THEN 1000.2
  33.          IF N < 7 THEN 240
  34.          IF C/N >= .7 THEN 240
  35.          IF D = 1 THEN 240
  36.          D = D - 1
  37.          IF C/N >= .5 THEN 1000.2
  38.          D = 1
  39.          GOTO 240
  40.          PRINT
  41.          IF C <> N THEN 1000.2
  42.          D = D + 1
  43. 700      PRINT
  44.          N = N + 1
  45. 670      R = FNR(4)
  46.          R3 = FNR(2)
  47. 740      X=D
  48.          GOSUB 1150
  49.          A1=X
  50.          GOSUB 1150
  51.          A2=X
  52.          IF R=2 THEN 870
  53.          IF R=3 THEN 950
  54.          IF R=4 THEN 1000
  55.          A=A2
  56.          A2=A1+A2
  57.          A$="+"
  58.          GOTO 1100
  59. 870      IF R3=2 THEN 920
  60.          A=A1
  61.          A1=A1+A2
  62.          A$="-"
  63.          GOTO 1110
  64. 920      A=A1+A2
  65.          A$="-"
  66.          GOTO 1130
  67. 950      A=A2
  68.          A2=A1*A2
  69.          A$="*"
  70.     A2$=STR$(A2)
  71.     IF LEN(A2$)>9 THEN LET A2$=LEFT$(A2$,9)
  72.     A2=VAL(A2$)
  73.          IF A2 < .1 THEN 740
  74.          GOTO 1100
  75. 1000     IF R3=2 THEN 1060
  76.          A=A1
  77.          A1=A1*A2
  78.          A$="/"
  79. PRINT "FIRST A1=";A1
  80.     A1$=STR$(A1)
  81.     IF LEN(A1$)>9 THEN LET A1$=LEFT$(A1$,9)
  82.     A1=VAL(A1$)
  83. PRINT "A1=";A1
  84.          IF A1 < .1 THEN 740
  85.          GOTO 1110
  86. 1060     A=A1*A2
  87.          A$="/"
  88.          IF A < .1 THEN 740
  89.          GOTO 1130
  90. 1100     IF R3=2 THEN 1130
  91. 1110    PRINT " ",A1;A$;" ? =";A2;
  92.          GOTO 1140
  93. 1130     PRINT " ","? ";A$;A1;" =";A2;
  94. 1140         RETURN
  95. 1150     X=FNR(X)
  96. 1160     Z=INT(RND * 10^X)/10^INT(X * RND + 1)
  97.          IF Z < .1 THEN 1160
  98.          X=Z
  99. RETURN
  100. 1200     PRINT "      WHAT IS";
  101.          INPUT X$
  102. RANDOMIZE
  103. IF X$="QUIT" THEN GOTO 1000.2
  104. X=VAL(X$)
  105.          IF X <> A THEN 1250
  106.          A$="C"
  107. RETURN
  108. 1250 PRINT "NOT CORRECT. ";
  109.          I=0
  110.          A$=" I"
  111. RETURN
  112. %INCLUDE GRADE
  113.  
  114.          END
  115.  
  116.