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
/
FRACTION.BAS
< prev
next >
Wrap
BASIC Source File
|
1984-04-29
|
3KB
|
141 lines
%INCLUDE HEADER
REM ********************FRACTION*************************
REM SIMPLE EQUATIONS WITH FRACTIONS
DRILL.NAME$="Simple Equiations with Fractions"
PRINT
B=5
P=9
D=4
PRINT
PRINT "OK, ";N$;". LET'S PRACTICE FINDING SOME MISSING NUMBERS"
PRINT "IN SOME SIMPLE EQUATIONS WHICH ARE COMPOSED OF FRACTIONS."
PRINT "I'LL GIVE YOU A PROBLEM, YOU GIVE ME THE ANSWER, AND I'LL"
PRINT "CHECK TO SEE IF YOUR ANSWER IS CORRECT."
PRINT
PRINT "TO ANSWER, PLEASE ENTER THE NUMERATOR FIRST, '/', AND THEN"
PRINT "THE DENOMINATOR OF YOUR RESULT."
PRINT
C=0
N=0
I=0
270 GOSUB 670
GOSUB 1150
IF A$ <> "C" THEN 330
C=C + 1
I = I + 1
GOTO 400
330 PRINT " TRY AGAIN."
GOSUB 1150
IF A$ = "C" THEN 400
PRINT " TRY ONE MORE TIME."
GOSUB 1150
IF A$="C" THEN 400
PRINT " THE ANSWER IS ";U;"/";V
400 IF I > P * C/N THEN 1000.2
IF N < 7 THEN 270
IF C/N >= .7 THEN 270
IF D = 1 THEN 270
D = D - 1
IF C/N >= .5 THEN 270
D = 1
GOTO 270
IF C <> N THEN 1000.2
D = D + 1
670 PRINT
N = N + 1
U1 = FNR(D)
U2 = FNR(D)
V1 = FNR(D)
V2 = FNR(D)
A = INT(4 * RND + 1)
PRINT
IF A = 1 THEN 770
IF A = 2 THEN 830
GOTO 920
770 U = U2
V = V2
A$ = "+"
U2 = U1 * V2 + U2 * V1
V2 = V1 * V2
GOTO 880
830 U = U2 * V1
V = U1 * V2
A$="*"
A = INT(2 * RND + 1)
IF A = 2 THEN 900
880 PRINT " ","(";U1;"/";V1;") ";A$;" (?) =";U2;"/";V2;
GOTO 1140
900 PRINT " ","(?) ";A$;" (";U1;"/";V1;") =";U2;"/";V2;
GOTO 1140
920 B = INT(2 * RND + 1)
IF B = 2 THEN 1050
IF A = 4 THEN 1010
U = U1
V = V1
A$="-"
U1 = U1 * V2 + U2 * V1
V1 = V1 * V2
GOTO 880
1010 U=U1 * V2
V = U2 * V1
A$="/"
GOTO 880
1050 IF A = 4 THEN 1100
U = U1 * V2 + U2 * V1
V = V1 * V2
A$="-"
GOTO 900
1100 U = U1 * U2
V = V1 * V2
A$="/"
GOTO 900
1140 RETURN
1150 Z1=1
Z2=2
INPUT " WHAT IS ";LINE Z$
RANDOMIZE
IF Z$="QUIT" THEN GOTO 1000.2
Z1=VAL(LEFT$(Z$,MATCH("/",Z$,1)))
Z2=VAL(MID$(Z$,MATCH("/",Z$,1)+1,LEN(Z$)))
W1=U
W2=V
GOSUB 1440
U=W1
V=W2
IF Z1 <> U THEN 1300
IF Z2=0 THEN 1400
IF Z2 <> V THEN 1300
PRINT U;"/";V;" IS CORRECT."
A$="C"
RETURN
1300 W1=Z1
W2=Z2
GOSUB 1440
Z1=W1
Z2=W2
IF Z1 <> U THEN 1400
IF Z2 <> V THEN 1400
PRINT "THAT ANSWER IS NOT IN LOWEST TERMS. ";
A$="L"
RETURN
1400 PRINT "NOT CORRECT. ";
I=0
A$="N"
1430 RETURN
1440 K1=W1
K2=W2
1460 J=INT(W1/W2)
R=W1-J*W2
IF R=0 THEN 1520
W1=W2
W2=R
GOTO 1460
1520 R=W2
W1=K1/R
W2=K2/R
RETURN
%INCLUDE GRADE
END