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

  1. %INCLUDE HEADER
  2. REM *********************DEC 5**********************
  3.  
  4.  
  5. DRILL.NAME$="Multiplication of Decimal Numbers"
  6.          B=19
  7.          P=9
  8.          D=4
  9.          PRINT "OK, ";N$;", Let's practice multiplying decimal numbers.  If"
  10.          PRINT "you have difficulty with a problem, enter"
  11.          PRINT "-1 instead of an answer, and I'll try to give you"
  12.          PRINT "some assistance."
  13.  
  14.          PRINT
  15.          C=0
  16.          I=0
  17.          N=0
  18. 230 GOSUB 640
  19.          GOSUB 900
  20.          IF A$<>"C" THEN GOTO 290
  21. 360 C=C+1
  22.          I=I+1
  23.          GOTO 370
  24.          I=0
  25. 290 PRINT " TRY AGAIN."
  26.          GOSUB 900
  27.          IF A$="C" THEN GOTO 370
  28. 380 PRINT "  TRY ONE MORE TIME"
  29.          GOSUB 900
  30.          IF A$="C" THEN GOTO 370
  31. 410 PRINT "  THE ANSWER IS  ";A
  32. 370 IF I>P*C/N THEN GOTO 450
  33.          IF N<7 THEN GOTO 230
  34.          IF C/N >= .7 THEN GOTO 230
  35.          IF D=1 THEN GOTO 230
  36.          D=D-1
  37.          IF C/N >= .5 THEN GOTO 230
  38.          D=1
  39.          GOTO 230
  40. 450 PRINT
  41.          IF C<>N THEN GOTO 1000.2
  42.          D=D+1
  43. REM THIS DRILL IS FOR THE SUBTRACTION OF DECIMALS
  44.  
  45. 640     N=N+1
  46.          PRINT
  47. 660     X=D
  48.          GOSUB 1190
  49.          A1=X
  50.          IF A1 < .1 THEN GOTO 660
  51.          X=D
  52.          GOSUB 1190
  53.          A2=X
  54.          IF A2 < .1 THEN 660
  55.          IF FNR(2)=2 THEN GOTO 770
  56.          PRINT " ",A1;"*";A2;"= ";
  57.          GOTO 820
  58. 770     PRINT
  59.          PRINT " ",A1
  60.         PRINT "X",A2
  61.          PRINT " ","-------------"
  62.          PRINT " "," ";
  63. 820      A=A1 * A2
  64.          FOR J=1 TO 10
  65.               X=A*10^J
  66.               O=J
  67.               IF X <> INT(X) THEN GOTO 880
  68.               J=10
  69. 880      NEXT J
  70. RETURN
  71. 900     INPUT X$
  72. RANDOMIZE
  73. IF X$="QUIT" THEN GOTO 1000.2
  74. X=VAL(X$)
  75.          IF A <> X THEN GOTO 940
  76.          A$="C"
  77. RETURN
  78. 940     IF X = -1 THEN GOTO 990
  79.          PRINT "NOT CORRECT. ";
  80.          I=0
  81.          A$ = "I"
  82. RETURN
  83. 990     PRINT
  84.          PRINT "MAKE SURE THAT THERE ARE AS MANY PLACES TO THE RIGHT OF THE"
  85.          PRINT "DECIMAL POINT IN YOUR ANSER AS THERE ARE IN THE PROBLEM."
  86.          PRINT
  87.          PRINT "HOW MANY TOTAL PLACES ARE TO THE RIGHT OF THE DECIMAL POINTS"
  88.          PRINT "IN THE PROBLEM."
  89. 1050     INPUT X
  90.          IF X=O THEN 2495
  91.          PRINT "NO. COUNT AGAIN.  HOW MANY";
  92.          GOTO 1050
  93. 2495     PRINT "THAT'S RIGHT! ";O;"DECIMAL PLACES TOTAL.  NOW CHECK TO MAKE"
  94.          PRINT "SURE THAT IN YOUR ANSER THERE ARE";O;"PLACES TO THE RIGHT OF"
  95.          PRINT "THE DECIMAL POINT.  HERE IS YOUR PROGLEM AGAIN;"
  96.          PRINT
  97.          PRINT " ",A1
  98.          PRINT " ",A2
  99.          PRINT " ","-------------"
  100.          PRINT "WHAT IS YOUR ANSWER NOW? ";
  101.          X=0
  102.          GOTO 900
  103. 1190     X=FNR(X)
  104.          X=INT(RND*10^X)/10^INT(FNR(X))
  105. RETURN
  106.  
  107. %INCLUDE GRADE
  108.  
  109.          END
  110.  
  111.