5  DIM A$[72],R$[72],B$[72]
10  DEF FNA()=(INT(RND(0)*1000+.5)/1000)*10^(INT(RND(0)*6)+1)
20  DEF FNB()=INT(999*RND(0)+1)/10^INT(RND(0)*7)
30  PRINT "THIS IS A DRILL ON METRIC CONVERSIONS.  YOU WILL BE GIVEN A"
40  PRINT "METRIC MEASUREMENT AND ASKED TO CONVERT IT TO AN EQUIVALENT"
50  PRINT "METRIC UNIT"
60  PRINT "DO YOU WANT THE RULES FOR CONVERTING";
70  INPUT A$
80  IF A$[1,1]="N" THEN 130
90  PRINT "WHEN CHANGING A SMALL UNIT TO A BIG UNIT DIVIDE THE SMALL UNIT"
100  PRINT "BY THE CONVERSION FACTOR"
110  PRINT "WHEN CHANGING A BIG UNIT TO A SMALL UNIT DIVIDE THE BIG UNIT BY"
120  PRINT "THE CONVERSION FACTOR"
130  PRINT "WHAT KIND OF PROBLEMS DO YOU WANT?"
140  PRINT "TYPE 'L' FOR LENGTH, 'V' FOR VOLUME, 'W' FOR WEIGHT,"
150  PRINT "OR 'A' FOR ALL THREE";
160  INPUT R$
170  IF R$[1,1]="A" THEN 230
180  IF R$[1,1]="L" THEN 300
190  IF R$[1,1]="V" THEN 360
200  IF R$[1,1]="W" THEN 420
210  PRINT "TYPE A,L,W,OR V PLEASE";
220  GOTO 160
230  REM  C IS RIGHT; D IS WRONG COUNTER
240  C=D=0
250  FOR I=1 TO 10
260  F=INT(RND(0)*10)+1
270  GOTO F OF 1000,1200,1400,1600,1800,2000,2200,2400,2600,2800
280  NEXT I
290  GOTO 3010
300  C=D=0
310  FOR I=1 TO 10
320  F=INT(RND(0)*6)+1
330  GOTO F OF 1000,1200,1400,1600,1800,2000
340  NEXT I
350  GOTO 3010
360  C=D=0
370  FOR I=1 TO 10
380  F=INT(RND(0)*2)+1
390  GOTO F OF 2200,2400
400  NEXT I
410  GOTO 3010
420  C=D=0
430  FOR I=1 TO 10
440  F=INT(RND(0)*2)+1
450  GOTO F OF 2600,2800
460  NEXT I
470  GOTO 3010
1000  N=FNA(X)
1010  A=N/100
1020  X=0
1025  IF 1000*(N-INT(N)) THEN 1030
1026  PRINT  USING 1027;N
1027  IMAGE #,6D," CENTIMETERS EQUALS HOW MANY METERS"
1028  GOTO 1040
1030  PRINT N" CENTIMETERS EQUALS HOW MANY METERS";
1040  INPUT G
1050  IF ABS(G-A)<A/100 THEN 1160
1060  X=X+1
1070  IF X=3 THEN 1120
1080  PRINT "WRONG! 1 METER EQUALS 100 CENTIMETERS. DIVIDE BY 100 BY"
1090  PRINT "MOVING THE DECIMAL POINT 2 PLACES TO THE LEFT."
1100  PRINT "TRY AGAIN"
1110  GOTO 1025
1120  D=D+1
1130  PRINT "WRONG AGAIN!"'7'7'7" THE CORRECT ANSWER IS "A". YOU NEED PRACTICE"
1140  PRINT "DIVIDING BY 100"
1150  GOTO 2960
1160  C=C+1
1170  PRINT "RIGHT"'17"!"'7'7'7
1180  GOTO 2960
1200  N=FNB(X)
1210  A=N*100
1220  X=0
1230  PRINT N" METERS EQUALS HOW MANY CENTIMETERS";
1240  INPUT G
1250  IF ABS(G-A)<A/100 THEN 1160
1260  X=X+1
1270  IF X=3 THEN 1320
1280  PRINT "WRONG! 1 METER EQUALS 100 CENTIMETERS. MULTIPLY BY 100 BY"
1290  PRINT "MOVING THE DECIMAL POINT 2 PLACES THE THE RIGHT."
1300  PRINT "TRY AGAIN"
1310  GOTO 1230
1320  D=D+1
1330  PRINT "WRONG AGAIN!"'7'7'7'7" THE CORRECT ANSWER IS "A". YOU NEED PRACTICE"
1340  PRINT "MULTIPLYINY BY 100"
1350  GOTO 1150
1360  GOTO 1160
1400  N=FNA(X)
1410  A=N/1000
1420  X=0
1430  PRINT N"MILLIMETERS EQUALS HOW MANY METERS";
1440  INPUT G
1450  IF ABS(G-A)<A/100 THEN 1160
1460  X=X+1
1470  IF X=3 THEN 1520
1480  PRINT "WRONG! 1 METER EQUALS 1000 MILLIMETERS. DIVIDE BY 1000 BY"
1490  PRINT "MOVING THE DECIMAL POINT 3 PLACES TO THE LEFT."
1500  PRINT "TRY AGAIN"
1510  GOTO 1430
1520  D=D+1
1530  PRINT "WRONG AGAIN!"'7'7'7" THE CORRECT ANSWER IS "A". YOU NEED PRACTICE"
1540  PRINT "DIVIDING BY 1000"
1550  GOTO 2960
1600  N=FNB(X)
1610  A=N*1000
1620  X=0
1630  PRINT N" METERS EQUALS HOW MANY MILLIMETERS";
1640  INPUT G
1650  IF ABS(G-A)<A/100 THEN 1160
1660  X=X+1
1670  IF X=3 THEN 1730
1680  PRINT "WRONG! 1 METER EQUALS 1000 MILLIMETERS. MULTIPLY BY 1000 BY"
1690  PRINT "MOVING THE DECIMAL POINT 3 PLACES TO THE RIGHT."
1700  PRINT "TRY AGAIN"
1710  GOTO 1630
1720  D=D+1
1730  PRINT "WRONG AGAIN!"'7'7'7" THE CORRECT ANSWER IS "A". YOU NEED PRACTICE"
1740  PRINT "MULTIPLYING BY 1000"
1750  GOTO 2960
1800  N=FNB(X)
1810  A=N*1000
1820  X=0
1830  PRINT N" KILOMETERS EQUALS HOW MANY METERS";
1840  INPUT G
1850  IF ABS(G-A)<A/100 THEN 1160
1860  X=X+1
1870  IF X=3 THEN 1920
1880  PRINT "WRONG! 1 KILOMETER EQUALS 1000 METERS. MULTIPLY BY 1000"
1890  PRINT "BY MOVING THE DECIMAL POINT 3 PLACES TO THE RIGHT"
1900  PRINT "TRY AGAIN"
1910  GOTO 1830
1920  D=D+1
1930  PRINT "WRONG AGAIN!"'7'7'7" THE CORRECT ANSWER IS "A". YOU NEED PRACTICE"
1940  PRINT "MULTIPLYING BY 1000"
1950  GOTO 2960
2000  N=FNA(X)
2010  A=N/1000
2020  X=0
2030  PRINT N" METERS EQUALS HOW MANY KILOMETERS";
2040  INPUT G
2050  IF ABS(G-A)<A/100 THEN 1160
2060  X=X+1
2070  IF X=3 THEN 2120
2080  PRINT "WRONG! 1 KILOMETER EQUALS 1000 METERS. DIVIDE BY 1000"
2090  PRINT "BY MOVING THE DECIMAL POINT 3 PLACES TO THE LEFT"
2100  PRINT "TRY AGAIN"
2110  GOTO 2030
2120  D=D+1
2130  PRINT "WRONG AGAIN!"'7'7'7" THE CORRECT ANSWER IS "A". YOU NEED PRACTICE"
2140  PRINT "DIVIDING BY 1000"
2150  GOTO 2960
2200  N=FNA(X)
2210  A=N/1000
2220  X=0
2230  PRINT N" MILLILITERS EQUALS HOW MANY LITERS";
2240  INPUT G
2250  IF ABS(G-A)<A/100 THEN 1160
2260  X=X+1
2270  IF X=3 THEN 2320
2280  PRINT "WRONG! 1 LITER EQUALS 1000 MILLILITERS. DIVIDE BY 1000"
2290  PRINT "BY MOVING THE DECIMAL POINT 3 PLACES TO THE LEFT"
2300  PRINT "TRY AGAIN"
2310  GOTO 2230
2320  D=D+1
2330  PRINT "WRONG AGAIN!"'7'7'7" THE CORRECT ANSWER IS "'18A". YOU NEED PRACTICE"
2340  PRINT "DIVIDING BY 1000"
2350  GOTO 2960
2400  N=FNB(X)
2410  A=N*1000
2420  X=0
2430  PRINT N" LITERS EQUALS HOW MANY MILLILITERS";
2440  INPUT G
2441  IF N>110 THEN 2443
2442  GOTO 2450
2443  G=G+100
2450  IF ABS(G-A)<A/100 THEN 1160
2460  X=X+1
2470  IF X=3 THEN 2520
2480  PRINT "WRONG! 1 LITER EQUALS 1000 MILLILITERS. MULTIPLY BY 1000"
2490  PRINT "BY MOVING THE DECIMAL POINT 3 PLACES TO THE RIGHT"
2500  PRINT "TRY AGAIN"
2510  GOTO 2430
2520  D=D+1
2530  PRINT "WRONG AGAIN!"'7'7'7" THE CORRECT ANSWER IS "A". YOU NEED PRACTICE"
2540  PRINT "MULTIPLYING BY 1000"
2550  GOTO 2960
2600  N=FNA(X)
2610  A=N/1000
2620  X=0
2630  PRINT N" GRAMS EQUALS HOW MANY KILOGRAMS";
2640  INPUT G
2650  IF ABS(G-A)<A/100 THEN 1160
2660  X=X+1
2670  IF X=3 THEN 2720
2680  PRINT "WRONG! 1 KILOGRAM EQUALS 1000 GRAMS. DIVIDE BY 1000 BY"
2690  PRINT "MOVING THE DECIMAL POINT 3 PLACES TO THE LEFT"
2700  PRINT "TRY AGAIN"
2710  GOTO 2630
2720  D=D+1
2730  PRINT "WRONG AGAIN!"'7'7'7'7" THE CORRECT ANSWER IS "'18A". YOU NEED PRACTICE"
2740  PRINT "DIVIDING BY 1000"
2750  GOTO 2960
2800  N=FNB(X)
2810  A=N*1000
2820  X=0
2830  PRINT N" KILOGRAMS EQUALS HOW MANY GRAMS";
2840  INPUT G
2850  IF ABS(A-G)<A/100 THEN 1160
2860  X=X+1
2870  IF X=3 THEN 2920
2880  PRINT "WRONG!"'7'7" 1 KILOGRAM EQUALS 1000 GRAMS. MULTIPLY BY 1000 BY"
2890  PRINT "MOVING THE DECIMAL POINT 3 PLACES TO THE RIGHT"
2900  PRINT "TRY AGAIN"
2910  GOTO 2830
2920  D=D+1
2930  PRINT "WRONG AGAIN!"'7'7'7'7'7" THE CORRECT ANSWER IS "A". YOU NEED PRACTICE"
2940  PRINT "MULTIPLYING BY 1000"
2960  IF R$[1,1]="A" THEN 280
2970  IF R$[1,1]="L" THEN 340
2980  IF R$[1,1]="V" THEN 400
2990  IF R$[1,1]="W" THEN 460
3000  GOTO 130
3010  PRINT "YOU GOT "C" RIGHT AND "D" WRONG."
3020  PRINT "DO YOU WANT MORE PROBLEMS";
3030  INPUT B$
3040  IF B$[1,1]="Y" THEN 130
3050  END 
