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
/
DISTANCE.BAS
< prev
next >
Wrap
BASIC Source File
|
1984-04-29
|
3KB
|
103 lines
%INCLUDE HEADER
REM ************************DISTANCE*************************
REM METRIC CONVERSIONS OF DISTANCE
DRILL.NAME$="Metric Conversions of Distance"
PRINT
B=9
DATA .0254, "INCHES","MILLIMETERS",.3048,"FEET","CENTIMETERS"
DATA .9144,"YARDS","METERS",1609.344,"MILES","KILOMETERS"
P=9
D=4
PRINT
PRINT "OK, ";N$;". Let's practice converting some english units of"
PRINT "distance to their metric equivalents. I will give you a problem"
PRINT "and you give me your answer, which I will check. If you need"
PRINT "some help, enter a -1 instead of an answer."
PRINT "Your answer should be to the nearest thousandth"
PRINT
C=0
N=0
I=0
280 GOSUB 680
GOSUB 1040
IF A$ <> "C" THEN 340
C=C + 1
I = I + 1
GOTO 420
340 I = 0
PRINT " TRY AGAIN."
GOSUB 1040
IF A$ = "C" THEN 420
PRINT " TRY ONE MORE TIME."
GOSUB 1040
IF A$="C" THEN 420
PRINT " THE ANSWER IS ";A
420 IF I > P * C/N THEN 1000.2
IF N < 7 THEN 280
IF C/N >= .7 THEN 280
IF D = 1 THEN 280
D = D - 1
IF C/N >= .5 THEN 280
D = 1
GOTO 280
IF C <> N THEN 1000.2
D = D + 1
680 PRINT
N = N + 1
670 R = FNR(4)
R2 = FNR(4)
R3 = FNR(D^2) + 1
GOSUB 800
RESTORE
FOR X=1 TO R1
READ C, Q$, Q$
NEXT X
A=R3*C*10^(R2/2-R2^2/2+3)
A=INT((A*1000)+.5)/1000
RETURN
800 RESTORE
FOR X = 1 TO R2
READ C, E$, M$
NEXT X
RESTORE
FOR X=1 TO R1
READ C, E$, Q$
NEXT X
880 PRINT "HOW MANY ";M$;" ARE IN";R3;E$;
RETURN
900 PRINT
PRINT "MULTIPLY TO CONVERT"
PRINT "FROM TO BY"
PRINT "---- ----- --"
PRINT
PRINT "INCHES METERS .0254"
PRINT "FEET METERS .3048"
PRINT "YARDS METERS .9144"
PRINT "MILES METERS 1609.3440"
PRINT "METERS MILLIMETERS 1000.0000"
PRINT "METERS CENTIMETERS 100.0000"
PRINT "METERS KILOMETERS .0010"
PRINT
RETURN
1040 INPUT LINE X$
RANDOMIZE
IF X$="QUIT" THEN GOTO 1000.2
X=VAL(X$)
IF X < 0 THEN 1090
IF ABS(X-A) > .005 THEN 1140
A$ = "C"
RETURN
1090 GOSUB 900
PRINT
PRINT "HERE IS YOUR PROBLEM AGAIN:"
GOSUB 800
GOTO 1040
1140 PRINT "NOT CORRECT. ";
I = 0
A$ = "I"
RETURN
%INCLUDE GRADE
END