home *** CD-ROM | disk | FTP | other *** search
/ Play and Learn 2 / 19941.ZIP / 19941 / EDUCLING / SPELLBEE / CHEMTEST.BAS < prev    next >
Encoding:
BASIC Source File  |  1994-02-04  |  6.8 KB  |  197 lines

  1. 10 KEY OFF:CLS
  2. 20 SCREEN 0
  3. 30 WIDTH 40
  4. 40 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
  5. 50 PRINT"░┌───────────────────────────────────┐░"
  6. 60 PRINT"░│                                   │░"
  7. 70 PRINT"░│            5023-A.BAS             │░"
  8. 80 PRINT"░│          CHEMISTRY TEST           │░"
  9. 90 PRINT"░│                                   │░"
  10. 100 PRINT"░│                                   │░"
  11. 110 PRINT"░│ BROUGHT TO YOU BY THE MEMBERS OF  │░"
  12. 120 PRINT"░│      ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄      │░"
  13. 130 PRINT"░│        █   █   █ █     █   █      │░"
  14. 140 PRINT"░│        █   █▄▄▄█ █     █   █      │░"
  15. 150 PRINT"░│        █   █     █     █   █      │░"
  16. 160 PRINT"░│      ▄▄█▄▄ █     █▄▄▄▄ █▄▄▄█      │░"
  17. 170 PRINT"░│                                   │░"
  18. 180 PRINT"░│      International PC Owners      │░"
  19. 190 PRINT"░│                                   │░"
  20. 200 PRINT"░│P.O. Box 10426, Pittsburgh PA 15234│░"
  21. 210 PRINT"░│                                   │░"
  22. 220 PRINT"░└───────────────────────────────────┘░"
  23. 230 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
  24. 240 PRINT
  25. 250 PRINT "       PRESS ANY KEY TO CONTINUE
  26. 260 A$=INKEY$: IF A$="" THEN 260
  27. 270 WIDTH 80
  28. 280 CLS
  29. 1000 ' Written June 20, 1982 by Bill Cumming
  30. 1010 ' Strathcona-Tweedsmuir School, Okotoks, Alberta, Canada, T0L 1T0
  31. 1020 ' It will create random tests in four areas of Chemistry with ramdom numbers
  32. 1030 ' and calculates the answers for the teacher.
  33. 1040 ' Removing line 1190 and entering a specific random number seed allows the
  34. 1050 ' teacher to duplicate the numbers and quistions used.
  35. 1060 ' Paul Cauchon's book Chemistry with a Computer was used in the creation of
  36. 1070 ' this program.
  37. 1080 '
  38. 1090 CLS
  39. 1100 LOCATE 12,17:PRINT "CHEMICAL FORMULA PROBLEM GENERATOR"
  40. 1110 LOCATE 13,26:PRINT "W.G. CUMMING 1982"
  41. 1120 LOCATE 24,1 :PRINT "TO BEGIN HIT RETURN";:INPUT X
  42. 1130 CLS :LOCATE 10,1:PRINT "THE PROGRAM GENERATES QUESTIONS IN FOUR AREAS:"
  43. 1140 LOCATE 12,1:PRINT "THEY ARE:    1. CHEMICAL FORMULAS"
  44. 1150 LOCATE 13,14:PRINT "2. MOLAR MASS CALCULATIONS"
  45. 1160 LOCATE 14,14:PRINT "3. MASS TO MOLE PROBLEMS"
  46. 1170 LOCATE 15,14:PRINT "4. GRAM MOLE RELATIONS"
  47. 1180 LOCATE 18,1:PRINT "CHOOSE EACH AREA BY NUMBER":PRINT
  48. 1190 RANDOMIZE VAL(MID$(TIME$,1,7))
  49. 1200 DIM A(30,2)
  50. 1210 DIM C$(30)
  51. 1220 DIM K(10,20)
  52. 1230 FOR I=1 TO 30:FOR J=1 TO 2:READ A(I,J):NEXT J:NEXT I
  53. 1240 FOR I=1 TO 30:READ C$(I):NEXT I
  54. 1250 INPUT "WHICH QUIZ ";D
  55. 1260 ON D GOSUB 1700,1900,2100,2350
  56. 1270 INPUT "ANOTHER QUIZ Y/N ";X$
  57. 1280 IF X$="Y" THEN 1250
  58. 1290 GOTO 2600
  59. 1300 REM OUTPUT ANSWER KEY
  60. 1310 LPRINT CHR$(12)+CHR$(27);
  61. 1320 LPRINT "KEY TO DRILL";D;:LPRINT
  62. 1330 FOR Y=1 TO N1
  63. 1340 LPRINT Y*100
  64. 1350 FOR X=1 TO N:LPRINT X;K(Y,X),:NEXT X
  65. 1360 LPRINT
  66. 1370 NEXT Y
  67. 1380 RETURN
  68. 1390 FOR X=1 TO 80:LPRINT "-";:NEXT X
  69. 1400 ' line across
  70. 1410 LPRINT Y*100
  71. 1420 FOR X=1 TO 80 :LPRINT "-";:NEXT X:LPRINT
  72. 1430 RETURN
  73. 1440 I=INT(RND(1)*15+1):J=INT(RND(3)*15+16):RETURN
  74. 1450 INPUT "HOW MANY QUESTIONS PER SET";N
  75. 1460 INPUT "HOW MANY SETS(MAX 20) ";N1
  76. 1470 PRINT :PRINT
  77. 1480 RETURN
  78. 1490 D$=MID$(C$(I),1,3):IF D$="IRO" THEN LPRINT " IRON?":GOTO 1530
  79. 1500 IF D$="COP" THEN LPRINT " COPPER?":GOTO 1530
  80. 1510 IF D$="MER" THEN LPRINT " MERCURY?":GOTO 1530
  81. 1520 LPRINT C$(I);"?"
  82. 1530 RETURN
  83. 1540 REM FORMULA WT CALCULATION
  84. 1550 IF A(I,2)=A(J,2) THEN 1570
  85. 1560 P=A(I,1)*A(J,2):C=A(J,1)*A(I,2):GOTO 1580
  86. 1570 P=A(I,1):C=A(J,1)
  87. 1580 F=P+C:P1=P/F*100:P1=INT(P1*100+.5)/100
  88. 1590 M=T/F:M=INT(M*100+.5)/100:G=T1*F:G=INT(G*100+.5)/100
  89. 1600 RETURN
  90. 1610 DATA 26.98,3,18.05,1,137.33,2,52,3,63.55,2,55.85,2,55.85,3,40.08,2,207.19,2
  91. 1620 DATA 24.31,2,200.59,2,39.1,1,107.87,1,22.99,1,65.38,2,59.05,1,79.9,1
  92. 1630 DATA 60.01,2,35.45,1,116,2,61.02,1,17.01,1,62.01,1,46.01,1,126.9,1
  93. 1640 DATA 94.97,3,96.06,2,32.06,2,80.06,2,83.45,1
  94. 1650 DATA Aluminum,Ammonium,Barium,Chromium(III),Copper(II),Iron(II),Iron(III)
  95. 1660 DATA Calcium,Lead(II),Magnesium,Mercury(II),Potassium,Silver,Sodium,Zinc
  96. 1670 DATA Acetate,Bromide,Carbonate,Chloride,Chromate,Hydrogen Carbonate
  97. 1680 DATA Hydroxide,Nitrate,Nitrite,Iodide,Phosphate,Sulfate,Sulfide
  98. 1690 DATA Sulfite,Chlorate
  99. 1700 REM FORMULA QUIZ
  100. 1710 PRINT "THIS IS THE FORMULA QUIZ"
  101. 1720 PRINT :PRINT:INPUT "HOW MANY SETS ";N1
  102. 1730 INPUT "HOW MANY QUESTIONS PER SET ";N
  103. 1740 FOR Y=1 TO N1
  104. 1750 GOSUB 2610
  105. 1760 S=0
  106. 1770 LPRINT :LPRINT "GIVE THE FORMULA FOR EACH COMPOUND"
  107. 1780 LPRINT :LPRINT
  108. 1790 FOR X=1 TO N
  109. 1800 LPRINT "(";X;")   ";
  110. 1810 GOSUB 1440
  111. 1820 LPRINT C$(I);" ";C$(J)
  112. 1830 LPRINT :LPRINT
  113. 1840 NEXT X
  114. 1850 LPRINT :LPRINT
  115. 1860 FOR X=1 TO 80:LPRINT "-";:NEXT X
  116. 1870 LPRINT
  117. 1880 NEXT Y
  118. 1890 RETURN
  119. 1900 REM MOLAR MASS CALCULATIONS
  120. 1910 PRINT "MOLAR MASS QUESTIONS":PRINT
  121. 1920 GOSUB 1450
  122. 1930 FOR Y=1 TO N1
  123. 1940 GOSUB 2610
  124. 1950 LPRINT "MOLAR MASS QUESTIONS":LPRINT
  125. 1960 LPRINT "CALCULATE THE MOLAR MASS OF ONE MOLE OF EACH COMPOUND"
  126. 1970 LPRINT :LPRINT
  127. 1980 FOR X=1 TO N
  128. 1990 GOSUB 1440
  129. 2000 GOSUB 1540
  130. 2010 K(Y,X)=F
  131. 2020 LPRINT "(";X;")   ";
  132. 2030 LPRINT C$(I);" ";C$(J)
  133. 2040 LPRINT :LPRINT :LPRINT
  134. 2050 NEXT X
  135. 2060 GOSUB 1390
  136. 2070 NEXT Y
  137. 2080 GOSUB 1300
  138. 2090 RETURN
  139. 2100 REM MASS-MOLE PROBLEMS
  140. 2110 PRINT "MASS-MOLE PROBLEMS"
  141. 2120 GOSUB 1450
  142. 2130 S=0
  143. 2140 FOR Y=1 TO N1
  144. 2150 GOSUB 2610
  145. 2160 LPRINT "MASS-MOLE PROBLEMS":LPRINT
  146. 2170 FOR X=1 TO N
  147. 2180 GOSUB 1440
  148. 2190 T=INT(RND(1)*500+10):T1=INT(RND(1)*50+5)/10
  149. 2200 IF RND(1)>.5 THEN 2250
  150. 2210 LPRINT "(";X;")   HOW MANY MOLES OF ";C$(I);" ";C$(J);" IN A"
  151. 2220 LPRINT "        SAMPLE WEIGHING ";T;" GRAMS?"
  152. 2230 GOSUB 1540
  153. 2240 K(Y,X)=M:GOTO 2290
  154. 2250 LPRINT "(";X;")   HOW MUCH DO ";T1;" MOLES OF " ;
  155. 2260 LPRINT C$(I);" ";C$(J);" WEIGH?"
  156. 2270 GOSUB 1540
  157. 2280 K(Y,X)=G
  158. 2290 LPRINT :LPRINT :LPRINT
  159. 2300 NEXT X
  160. 2310 GOSUB 1390
  161. 2320 NEXT Y
  162. 2330 GOSUB 1300
  163. 2340 RETURN
  164. 2350 REM GRAMS TO MOLES
  165. 2360 PRINT "GRAM MOLE RELATIONSHIPS"
  166. 2370 GOSUB 1450
  167. 2380 FOR Y=1 TO N1
  168. 2390 GOSUB 2610
  169. 2400 LPRINT "GRAM MOLE RELATIONSHIPS"
  170. 2410 FOR X=1 TO N
  171. 2420 GOSUB 1440
  172. 2430 IF A(I,2)<>A(J,2) THEN 2460
  173. 2440 IF A(I,2)=1 THEN 2460
  174. 2450 GOTO 2420
  175. 2460 T=INT(RND(1)*1000+10):T1=INT(RND(1)*100+1)/10
  176. 2470 LPRINT "(";X;")   HOW MANY GRAMS OF ";C$(I);" ";C$(J)
  177. 2480 IF RND(1)>.5 THEN 2520
  178. 2490 LPRINT "        CAN BE MADE WITH ";T;" GRAMS OF ";:GOSUB 1490
  179. 2500 GOSUB 1540
  180. 2510 K(Y,X)=T/P*F:GOTO 2550
  181. 2520 LPRINT "        CAN BE MADE WITH ";T1;" MOLES OF ";:GOSUB 1490
  182. 2530 GOSUB 1540
  183. 2540 K(Y,X)=T1/A(J,2)*F
  184. 2550 LPRINT :LPRINT :LPRINT :NEXT X
  185. 2560 GOSUB 1390
  186. 2570 NEXT Y
  187. 2580 GOSUB 1300
  188. 2590 RETURN
  189. 2600 END
  190. 2610 LPRINT CHR$(27);
  191. 2620 LPRINT TAB(23)"STRATHCONA-TWEEDSMUIR SCHOOL"
  192. 2630 LPRINT Y*100;"CHEM 10                   PROBLEMS ABOUT MOLES         NAME___________________"
  193. 2640 FOR X=1 TO 80:LPRINT "-";:NEXT X:LPRINT :LPRINT
  194. 2650 RETURN
  195.      PROBLEMS ABOUT MOLES         NAME___________________"
  196. 2640 FOR X=1 TO 80:LPRINT "-";:NEXT X:LPRINT :LPRINT
  197.