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
/
DEC6.BAS
< prev
next >
Wrap
BASIC Source File
|
1984-04-29
|
3KB
|
111 lines
%INCLUDE HEADER
REM *******************DEC6********************
DRILL.NAME$="Division of Decimal Numbers"
B=21
DEF FNT(X)=X-INT(X/100)*100+INT(X/100)*60
P=9
D=4
PRINT "OK, ";N$;", Let's practice dividing decimal numbers. If"
PRINT "you have difficulty with a problem, enter"
PRINT "-1 instead of an answer, and I'll try to give you"
PRINT "some assistance."
PRINT
C=0
I=0
N=0
230 GOSUB 640
GOSUB 860
IF A$<>"C" THEN GOTO 290
360 C=C+1
I=I+1
GOTO 370
I=0
290 PRINT " TRY AGAIN."
GOSUB 860
IF A$="C" THEN GOTO 370
380 PRINT " TRY ONE MORE TIME"
GOSUB 860
IF A$="C" THEN GOTO 370
410 PRINT " THE ANSWER IS ";A
370 IF I>P*C/N THEN GOTO 1000.2
IF N<7 THEN GOTO 230
IF C/N >=.7 THEN GOTO 230
IF D=1 THEN GOTO 230
D=D-1
IF C/N >=.5 THEN GOTO 230
D=1
GOTO 230
IF C<>N THEN GOTO 1000.2
D=D+1
640 N=N+1
PRINT
660 X=D-1
Y=X
GOSUB 1200
A=X
IF A < .1 THEN GOTO 660
710 X=D + 1
Y=D
GOSUB 1200
A1=X
IF A1 < .1 THEN GOTO 710
IF A1=0 THEN GOTO 710
IF A * A1 < .1 THEN GOTO 660
PRINT " ",A * A1;"/";A1;"=";
FOR J=1 TO 5
X=A1*10^J
O=J
IF X <> INT(X) THEN GOTO 840
J=5
840 NEXT J
RETURN
860 INPUT X$
RANDOMIZE
IF X$="QUIT" THEN GOTO 1000.2
X=VAL(X$)
IF A <> X THEN GOTO 900
A$="C"
RETURN
900 IF X=-1 THEN GOTO 950
PRINT "NOT CORRECT. ";
I=0
A$="I"
RETURN
950 PRINT
PRINT "WHICH OF THE NUMBER IN THIS PROBLEM IS "
PRINT "THE DIVISOR";
INPUT X
IF X=A1 THEN GOTO 1020
PRINT "NO, IT'S";A1;
GOTO 1030
1020 PRINT "OK";N$
1030 PRINT ". NOW HOW MANY PLACES DO I HAVE TO MOVE THE DECIMAL"
PRINT "TO GET";A1*10^O;
1050 INPUT X
IF X=O THEN GOTO 1090
PRINT "NO - COUNT AGAIN. HOW MANY";
GOTO 1050
1090 PRINT "THAT'S RIGHT! ";N$;"NOW IF YOU MOVE THE DECIMAL IN THE DIVIDEND"
PRINT "THE SAME NUMBER OF PLACES TO THE RIGHT, WHAT NUMBER DO"
PRINT "YOU GET";
INPUT X
IF X=A*A1*10^O THEN GOTO 1160
PRINT "NO, IT'S ";A*A1*10^O;
GOTO 1170
1160 PRINT "THAT'S CORRECT";
1170 PRINT ". NOW SOLVE YOUR PROBLEM IN THIS FORM:"
PRINT " ",A*A1*10^O;"/";A1*10^O;"=";
GOTO 860
1200 X=FNR(X)
IF X >=Y THEN GOTO 1230
X=Y
1230 X=INT(RND*10^X)/(10^INT(Y*RND + 1))
RETURN
%INCLUDE GRADE
END