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

  1. %INCLUDE HEADER
  2. REM **********************INTEGER*****************************
  3. REM SIMPLE EQUATIONS WITH INTEGERS
  4. DRILL.NAME$="Simple Equations with Integers"
  5.          PRINT
  6.          B=4
  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 integers."
  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. 230 GOSUB 640
  19.          GOSUB 1440
  20.          IF A$ <> "C" THEN 290
  21.          C=C + 1
  22.          I = I + 1
  23.          GOTO 370
  24. 290  I = 0
  25.          PRINT "  TRY AGAIN."
  26.          GOSUB 1440
  27.          IF A$ = "C" THEN 370
  28.          PRINT "  TRY ONE MORE TIME."
  29.          GOSUB 1440
  30.          IF A$="C" THEN 370
  31.          PRINT "  THE ANSWER IS ";A
  32. 370  IF I > P * C/N THEN 1000.2
  33.          IF N < 7 THEN 230
  34.          IF C/N >= .7 THEN 230
  35.          IF D = 1 THEN 230
  36.          D = D - 1
  37.          IF C/N >= .5 THEN 230
  38.          D = 1
  39.          GOTO 230
  40.          PRINT
  41.          IF C <> N THEN 1000.2
  42.          D = D + 1
  43. 640      PRINT
  44.          N = N + 1
  45. 670      R = FNR(4)
  46.          R3 = FNR(2)
  47.          R1 = SGN(RND - .5) * FNR(10^((D + 2)/3))
  48.          A = SGN(RND - .5) * FNR(10^((D + 2)/3))
  49. IF R < 3 THEN 1070
  50. IF R = 4 THEN 890
  51. IF R3 = 2 THEN 810
  52.          PRINT " ","(";
  53.          IF R1 < 0 THEN 760
  54.          PRINT "+";
  55. 760      PRINT R1;") * (?) = ";
  56.          IF R1 * A < 0 THEN 790
  57.          PRINT "+";
  58. 790      PRINT R1 * A;
  59.          GOTO 1420
  60. 810      PRINT " ","(?) * (";
  61.          IF R1 < 0 THEN 840
  62.          PRINT "+";
  63. 840      PRINT R1;") = ";
  64.          IF R1 * A < 0 THEN 870
  65.          PRINT "+";
  66. 870      PRINT R1 * A;
  67.          GOTO 1420
  68. 890      IF R3 = 2 THEN 980
  69.          PRINT " ",")";
  70.          IF R1 * A < 0 THEN 930
  71.          PRINT "+";
  72. 930      PRINT R1 * A; ") / (?) = ";
  73.          IF R1 < 0 THEN 960
  74.          PRINT "+";
  75. 960      PRINT R1;
  76. GOTO 1420
  77. 980      PRINT " ","(?) / (";
  78.          IF R1 < 0 THEN 1010
  79.          PRINT "+";
  80. 1010     PRINT R1;") = ";
  81.          IF A < 0 THEN 1040
  82.          PRINT "+";
  83. 1040     PRINT A;
  84. 1050     A = R1 * A
  85. GOTO 1420
  86. 1070     IF R = 2 THEN 1250
  87.          IF R3 = 2 THEN 1170
  88.          PRINT " ","(";
  89.          IF R1 < 0 THEN 1120
  90.          PRINT "+";
  91. 1120     PRINT R1;") + (?) = ";
  92.          IF R1 + A < 0 THEN 1150
  93.          PRINT "+";
  94. 1150     PRINT R1 + A;
  95.          GOTO 1420
  96. 1170     PRINT " ","(?) + (";
  97.          IF R1 < 0 THEN 1200
  98.          PRINT "+";
  99. 1200     PRINT R1;") = ";
  100.          IF R1 + A < 0 THEN 1230
  101.          PRINT "+";
  102. 1230     PRINT R1 + A;
  103.          GOTO 1420
  104. 1250     IF R3 = 2 THEN 1340
  105.          PRINT " ","(";
  106.          IF R1 + A < 0 THEN 1290
  107.          PRINT "+";
  108. 1290     PRINT R1 + A;") - (?) = ";
  109.          IF R1 < 0 THEN 1320
  110.          PRINT "+";
  111. 1320     PRINT R1;
  112.          GOTO 1420
  113. 1340     PRINT " ","(?) - (";
  114.          IF R1 < 0 THEN 1370
  115.          PRINT "+";
  116. 1370     PRINT R1;") = ";
  117.          IF A < 0 THEN 1400
  118.          PRINT "+";
  119. 1400     PRINT A;
  120.          A = R1 + A
  121. 1420     RETURN
  122. 1440     INPUT "       WHAT IS ";LINE X$
  123. RANDOMIZE
  124. IF X$="QUIT" THEN GOTO 1000.2
  125. X=VAL(X$)
  126.          IF X <> A THEN 1480
  127.          A$ = "C"
  128. RETURN
  129. 1480     PRINT "NOT CORRECT. ";
  130.          I = 0
  131.          A$="I"
  132. RETURN
  133. %INCLUDE GRADE
  134.  
  135.          END
  136.  
  137.