home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / comdore / 64apps / ohm2 (.txt) < prev    next >
Commodore BASIC  |  1987-07-10  |  8KB  |  268 lines

  1. 1 GOTO910
  2. 2 REM ** ML STOP KEY DISABLE **
  3. 3 PRINT"x[169]=[141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X`
  4. 4 [153]"xhhh+hNOThhhhhhhPRINT#HRUNHX`111"
  5. 5 [153]"hhhhhhh`1"
  6. 6 [143] ** 4 - POP ML SUBROUTINE **
  7. 10 [143] **GENERAL INPUT ROUTINE **
  8. 15 :
  9. 30 :
  10. 35 [143] +++ INPUT SECTION +++
  11. 40 UR$[178]"":UI$[178]"":[151] UO,0
  12. 42 [139]UL[178]0[167]UL[178]80
  13. 45 [153]"  CMDCMD";:[151]UC,0
  14. 50 [161]UI$:[139]UI$[178]""[167]50
  15. 55 [139]UI$[178][199](13)[175][195](UR$)[177][178]1[167][151]UC,1:[153]" CMD";:[137]85
  16. 60 [139]UI$[178][199](20)[167]105
  17. 62 [139] [195](UR$)[178][177]UL[167]50
  18. 65 [141]120:[143] CHECK FOR VALID CHARACTER
  19. 70 UR$[178]UR$[170]UI$
  20. 75 [153]UI$;
  21. 80 [137]50
  22. 85 [143] +++ CHECK FOR HELP REQUEST +++
  23. 90 [139]UR$[178]UX$[167]195:[143] EXIT TO HELP ROUTINE
  24. 95 [139]UF[178]1[167][141]240
  25. 100 UF[178]0:[153]:[142]
  26. 102 [143] ++ CHECK DELETE ++
  27. 105 [139][195](UR$)[179]1[167]50
  28. 110 UR$[178][200](UR$,[195](UR$)[171]1)
  29. 115 [153]"CMD  CMDCMD";:[137]50
  30. 120 [143] ++ CHECK FOR VALID CHARACTERS ++
  31. 125 [139][195](US$)[178]0[167]150
  32. 130 [129]US[178]1[164][195](US$)
  33. 135 [139]UI$[178][202](US$,US,1)[167][142]
  34. 140 [130]
  35. 145 UI$[178]"":[142]
  36. 150 [143] ** STANDARD INPUT **
  37. 152 [139][198](UI$)[178]46[167][142]
  38. 155 [139]UI$[178][199](32)[167][142]
  39. 160 [139][198](UI$)[179]48[176][198](UI$)[177]57[167]170
  40. 165 [142]
  41. 170 [139][198](UI$)[179]65[176][198](UI$)[177]90[167]180
  42. 175 [142]
  43. 180 [139][198](UI$)[179]193[176][198](UI$)[177]218[167]UI$[178]"":[142]
  44. 185 [139][194](UT)[178]UU%[167]UI$[178][199]([198](UI$)[171]128):[142]
  45. 187 [142]
  46. 190 UI$[178]"":[142]
  47. 195 UF[178]1:[143] +++ HELP ROUTINE EXIT +++
  48. 197 [141]250
  49. 200 [141]245
  50. 205 [129]UQ[178]UB[164](U2%[172]256[170]U1%[170]U3%[171]2)
  51. 210 UQ%(UQ[171]UB)[178][194](UQ):[130]:[153]"LOAD"
  52. 215 UZ[178]1:UV%[178][194](UT)
  53. 216 [137]300
  54. 217 UZ[178]0:US$[178]UJ$:UG$[178]UK$:UP[178]UJ:UL[178]UK
  55. 218 [139][194](50003)[178]0[167][151]53281,1:[153]"LOAD";:[151]53281,6:[151]53280,14:[137]220
  56. 219 [153]"LOAD";
  57. 220 UT$[178]UL$:[151]UT,UV%:[129]UQ[178]UB[164](U2%[172]256[170]U1%[170]U3%[171]3)
  58. 225 [151]UQ,UQ%(UQ[171]UB):[130]
  59. 230 [151]U1,U1%
  60. 232 [151]U2,U2%
  61. 233 [151]U4,U4%
  62. 234 [151]U3,U3%[171]1
  63. 235 [137]35
  64. 240 UD%[178]((U2%[172]256[170]U1%[170]U3%)[171]UB)[173]40:[153][200](UD$,UD%[170]1):[142]
  65. 245 [153][200](UD$,24);"                       HELP COMING WAIT  ":[142]
  66. 250 U1%[178][194](U1):U2%[178][194](U2):U3%[178][194](U3):U4%[178][194](U4)
  67. 251 UJ$[178]US$:UK$[178]UG$:UL$[178]UT$:UJ[178]UP:UK[178]UL
  68. 255 [142]
  69. 300 [143] ** MENU **
  70. 301 :
  71. 302 [153]"LOAD":[151]UT,UU%:[139][194](50003)[178]0[167][151]53281,9:[151]53280,8
  72. 303 :
  73. 305 [153]"                MENU"
  74. 310 [153]" --------------------------------------"
  75. 315 [153]"       1.   BEGIN OHM2"
  76. 320 [153]"       2.   STUDENT INSTRUCTIONS"
  77. 325 [153]"       3.   TEACHER INSTRUCTIONS"
  78. 335 [153]"       4.   QUIT"
  79. 340 [153]" --------------------------------------"
  80. 345 [153]"       PRESS A NUMBER KEY (1-4) ";
  81. 350 UL[178]1:US$[178]"1234":[141]35:[143] INPUT ROUTINE
  82. 352 US$[178]""
  83. 355 [145][197](UR$)[141]1000,400,500,396
  84. 360 [137]300
  85. 395 [143] ** RE-ENABLE STOP KEY AND END **
  86. 396 [139][194](50003)[179][177]1[175][194](50003)[179][177]160[175][194](50003)[179][177]0[167]399
  87. 397 [158]UU[170]71:[139][194](50003)[178]0[167][151]53281,6:[151]53280,14
  88. 398 [153]"CONTLOAD":[128]
  89. 399 [141]875:[142]
  90. 400 [143] ** STUDENT INSTRUCTIONS **
  91. 405 [153]"LOAD":[151]UT,UL%:[139][194](50003)[178]0[167][151]53281,0:[151]53280,0
  92. 410 UP[178]0:UG$[178]"(null)TUDENT RIGHT$NST":[141]850
  93. 420 [153]" (null)HIS PROGRAM WILL TEST YOUR ABILITY TO
  94. 425 PRINT" SOLVE PROBLEMS USING [207]HM'S LAW.  [217]OU
  95. 430 [153]" WILL BE ASKED TO CALCULATE CURRENT,
  96. 440 PRINT" RESISTANCE OR VOLTAGE, FROM THE TWO
  97. 445 [153]" VALUES YOU WILL BE GIVEN."
  98. 485 [141]835
  99. 490 [139]UZ[178]1[167][158]UP%:[137]217
  100. 499 [142]
  101. 500 [143] ** TEACHER INSTRUCTIONS **
  102. 501 [153]"LOAD":[151]UT,UL%:[139][194](50003)[178]0[167][151]53281,2:[151]53280,10
  103. 502 UP[178]0:UG$[178]"(null)EACHER RIGHT$NST":[141]850
  104. 503 [153]"      (null)O THE BEST OF OUR KNOWLEDGE,"
  105. 504 [153]"   THIS PROGRAM IS IN THE PUBLIC"
  106. 505 [153]"   DOMAIN.  RIGHT$F THIS IS NOT THE CASE"
  107. 506 [153]"   PLEASE CONTACT:"
  108. 507 [153]"      LENOMMODORE PEEKUSINESS (null)ACHINES"
  109. 508 [153]"          3370 (null)HARMACY ATNVE.
  110. 509 PRINT"          [193]GINCOURT, [207]NTARIO"
  111. 510 PRINT"          [195]ANADA   [205]1[215] 2[203]4"
  112. 511 PRINT"          (416) 499-4292"
  113. 512 UP=1:GOSUB 835:GOSUB 850:
  114. 513 PRINT"     [208]ROGRAM [206]AME: [207]HM2         
  115. 514 [153]"     (null)RITTEN PEEKY  : (null).MID$.(null)AMB
  116. 515 PRINT"     [213]PGRADED [194]Y :          
  117. 516 [153]"     (null)HIS PROGRAM WILL RUN ON ANY
  118. 519 PRINT"         [208][197][212] 64 [195][207][205][208][213][212][197][210]
  119. 520 [153]"         LEN(null)(null)(null)(null)STR$(null)(null)VAL 64 LEN(null)(null)(null)(null)(null)VAL(null)
  120. 521 GOSUB835
  121. 576 GOSUB 850
  122. 577 PRINT" [212]HIS PROGRAM IS INTENDED FOR THE
  123. 578 [153]" BEGINNING ELECTRONICS STUDENT.  RIGHT$TS"
  124. 579 [153]" PURPOSE IS TO FAMILIARIZE THE STUDENT
  125. 581 PRINT" WITH [207]HM'S LAW."
  126. 582 PRINT" [212]HE CORRECT ANSWER AND THE NUMBER RIGHT
  127. 583 [153]" VS. THE NUMBER OF QUESTIONS TRIED WILL
  128. 584 PRINT" BE DISPLAYED AT THE END OF EACH
  129. 585 [153]" QUESTION. LENALCULATORS ARE ADVISED.
  130. 586 PRINT "           "
  131. 587 GOSUB 835
  132. 590 IFUZ=1THENSYSUP%:GOTO217
  133. 599 RETURN
  134. 600 REM ** PROGRAM MODIFICATION INST **
  135. 601 PRINT"[147]":POKEUT,UL%
  136. 605 UP=0:UG$="[208]ROGRAM [205]OD":GOSUB850
  137. 660 GOSUB835
  138. 690 IFUZ=1THENSYSUP%:GOTO217
  139. 699 RETURN
  140. 700 REM ** TO USE 8032 LOAD CBM4032 **
  141. 710 PRINT"[147]BEFORE RUNNING THIS PROGRAM ON AN 8032  
  142. 720 [153]"      LOAD THE 'CBM 4032' PROGRAM"
  143. 730 [158]UU[170]71
  144. 740 [128]
  145. 800 [143] ** T I T L E   P A G E **
  146. 802 [153]"LOAD";:[151]UT,UU%:[139][194](50003)[178]0[167][151]53280,14:[151]53281,6
  147. 804 [129]I[178]1[164]38:[153]"SPC(WAIT";:[130]
  148. 806 [129]I[178]1[164]22:[153]"CMDSPC(WAIT";:[130]
  149. 808 [129]I[178]1[164]37:[153]"CMDCMDSPC(WAIT";:[130]
  150. 810 [129]I[178]1[164]22:[153]"ONCMDSPC(WAIT";:[130]
  151. 812 [153]"STEP  WAIT
  152. 814 PRINT" [146]   [146][169]
  153. 816 [153]" WAIT  TAB((null)
  154. 818 PRINT"[223]  [146]
  155. 820 [153]"C O M M O D O R E
  156. 822 PRINT"EDUCATIONAL
  157. 824 [153]"SOFTWARE
  158. 826 REM ** COMMODORE LOGO **
  159. 827 PRINTLEFT$(UD$,24);"PRESS SPACE BAR OR WAIT[146]":I=0
  160. 828 GETA$:IFA$<>" "THENI=I+1:IFI<250THEN828
  161. 830 T1$="":T2$="":T3$="":T4$="":I=0
  162. 832 GOTO300
  163. 835 REM ** SPACE BAR PRESS **
  164. 840 POKE UO,0:PRINTLEFT$(UD$,24);"PRESS SPACE BAR TO CONTINUE[146]"
  165. 844 GETUI$:IFUI$<>" "THEN844
  166. 846 RETURN
  167. 850 REM ** PAGE DESIGN ROUTINE **
  168. 852 UP=UP+1:
  169. 855 PRINT"[147]"LEFT$(UT$+UP$,21);RIGHT$(UP$+UG$+STR$(UP),18)
  170. 860 PRINT" --------------------------------------"
  171. 870 UH=0:PRINT"":RETURN
  172. 875 REM ** PLEASE WAIT REMARK **
  173. 880 PRINTLEFT$(UD$,24);"           ONE MOMENT PLEASE...     "
  174. 885 RETURN
  175. 900 REM ** SET UP VARIABLES **
  176. 901 UX$="H":DIMUQ%(1000):UB=32768:U1=196:U2=197:U3=198:U4=216:UC=167:UU=1024
  177. 902 UT=59468:UU%=12:UL%=14:UP%=1146:UM=32768:UO=158:POKE 50003,0
  178. 903 IFPEEK(50003)=0THENUB=1024:U1=209:U2=210:U3=211:U4=214:UC=204:UU=2048
  179. 904 IFPEEK(50003)=0THENUT=53272:UU%=21:UL%=23:UP%=2139:UM=1024:UO=198
  180. 905 UD$=""
  181. 906 UP$="                                       "
  182. 907 UT$=" [207][200][205]2         [160][160][160][160][160]":REM PLACE PROGRAM TITLE HERE !!!!!!!!!!!!!!!!!***
  183. 908 RETURN
  184. 910 REM ** SET VARIABLES **
  185. 915 GOSUB900
  186. 920 REM ** CHECK FOR 8032 **
  187. 925 PRINT"[147]":PRINT"[160]":REM SHIFTED SPACE
  188. 930 IFPEEK(UB+40)<>96THENGOSUB700
  189. 931 REM ** MEMORY CHECK **
  190. 932 IF FRE(0)>2000THEN937
  191. 933 PRINT"[147]THIS MACHINE DOES NOT HAVE ENOUGH"
  192. 934 PRINT"MEMORY TO RUN THIS PROGRAM !"
  193. 935 SYSUU+71
  194. 936 END
  195. 937 PRINT"[147]":IFPEEK(50003)=0THEN962
  196. 940 REM ** BASIC 2.0  OR  4.0  OR  C-64 SETUP **
  197. 941 POKE1075,133:POKE1076,144:POKE1077,234:POKE1079,4:POKE1080,133:POKE1081,145
  198. 942 POKE1091,155:POKE1098,133:POKE1099,144:POKE1100,234:POKE1103,133
  199. 943 POKE1104,145:POKE1105,234:POKE1082,234
  200. 945 IFPEEK(50003)<>160THEN955
  201. 950 POKE1093,88:POKE1094,228:POKE1097,85:POKE1102,228:GOTO965
  202. 955 IFPEEK(50003)<>1THEN990
  203. 960 POKE1093,49:POKE1094,230:POKE1097,46:POKE1102,230:GOTO965
  204. 962 POKE2099,141:POKE2100,20:POKE2101,3:POKE2103,8:POKE2104,141:POKE2105,21
  205. 963 POKE2106,3:POKE2115,145:POKE2117,52:POKE2118,234:POKE2121,49:POKE2122,141
  206. 964 POKE2123,20:POKE2124,3:POKE2126,234:POKE2127,141:POKE2128,21:POKE2129,3
  207. 965 SYSUU+48:REM DISABLE STOP KEY
  208. 970 GOSUB800:REM TITLE
  209. 980 GOTO300:REM MENU
  210. 990 PRINT"[147]THE PGM WILL NOT WORK ON THIS MACHINE!":END
  211. 1000 IFUZ=1THENSYSUP%:SYSUP%:UZ=0:REM ** PROGRAM STARTS HERE **
  212. 1001 PRINT"[147]";:RESTORE:IFPEEK(50003)=0THENPOKE53281,6:POKE53280,14
  213. 1005 Y=0:Z=0
  214. 1010 REM-OHM2-R.J.LAMB.1980
  215. 1015 UP=0
  216. 1017 PRINT"[147]"
  217. 1020 POKEUT,UL%
  218. 1130 A=INT(3*RND(1)+1)
  219. 1140 I=INT(20*RND(1)+1)
  220. 1150 V=INT(20*RND(1)+1)
  221. 1160 R=INT(20*RND(1)+1)
  222. 1162 UG$="[210].[202].[204]AMB"
  223. 1165 UP=UP+1
  224. 1170 ONAGOTO1180,1290,1400
  225. 1180 GOSUB 850
  226. 1190 PRINT "  [195]ALCULATE THE RESISTANCE WHEN:"
  227. 1200 PRINT"  [195]URRENT = ";I
  228. 1210 PRINT"  [214]OLTAGE = ";V
  229. 1220 R=V/I
  230. 1230 PRINT"  [210]ESISTANCE = ";
  231. 1231 US$=".0123456789":UL=15:GOSUB 35:R1=VAL(UR$)
  232. 1240 IFABS(R1-R)<ABS(R/50)THEN1270
  233. 1250 PRINT"  [211]ORRY, THE ANSWER IS ";INT(R*10000)/10000;" [207]HMS"
  234. 1260 GOTO1510
  235. 1270 PRINT"  [215]ELL DONE, YOU ARE CORRECT!":Z=Z+1
  236. 1280 GOTO1510
  237. 1290 GOSUB 850
  238. 1300 PRINT"  [195]ALCULATE THE CURRENT WHEN:"
  239. 1310 PRINT"  [210]ESISTANCE = ";R
  240. 1320 PRINT"  [214]OLTAGE = ";V
  241. 1330 I=V/R
  242. 1340 PRINT"  [195]URRENT = ";
  243. 1341 US$=".0123456789":UL=15:GOSUB 35:I1=VAL(UR$)
  244. 1350 IFABS(I1-I)<ABS(I/50)THEN1380
  245. 1360 PRINT"  [211]ORRY, THE ANSWER IS ";I;" [193]MPS "
  246. 1370 GOTO1510
  247. 1380 PRINT"  [215]ELL DONE, YOU ARE CORRECT!":Z=Z+1
  248. 1390 GOTO1510
  249. 1400 GOSUB 850
  250. 1410 PRINT"  [195]ALCULATE THE VOLTAGE WHEN:"
  251. 1420 PRINT"  [210]ESISTANCE = ";R
  252. 1430 PRINT"  [195]URRENT = ";I
  253. 1440 V=I*R
  254. 1450 PRINT "  [214]OLTAGE = ";
  255. 1451 US$=".0123456789":UL=15:GOSUB 35:V1=VAL(UR$)
  256. 1460 IFABS(V1-V)<ABS(V/50)THEN1490
  257. 1470 PRINT"  [211]ORRY, THE ANSWER IS ";V;" VOLTS"
  258. 1480 GOTO1510
  259. 1490 PRINT"  [215]ELL DONE, YOU ARE CORRECT!":Z=Z+1
  260. 1500 REM
  261. 1510 Y=Y+1
  262. 1520 PRINT"  [217]OU HAVE SCORED ";Z;" OUT OF ";Y
  263. 1525 PRINT"                                       "
  264. 1530 PRINT"[145]  [196]O YOU WANT TO TRY AGAIN? ";
  265. 1540 US$="YN":UL=1:GOSUB 35:A$=UR$
  266. 1545 IF A$="Y" GOTO 1130
  267. 1550 RETURN
  268.