home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / HAMRADIO / EFORMULA.ZIP / EFORMULA.BAS next >
Encoding:
BASIC Source File  |  1985-09-12  |  9.9 KB  |  276 lines

  1. 100 REM ELECTRONIC FORMULA PROGRAMS
  2. 200 REM COPYRIGHT 1985   MICHAEL E. LAUSIN   BROOMFIELD, CO.
  3. 300 REM THIS PROGRAM IS MENU DRIVEN AND WILL CALCULATE:
  4. 400 REM OHM'S LAWS FOR RESISTANCE, POWER, CURRENT, AND VOLTAGE
  5. 500 REM SERIES/PARALLEL RESISTANCES
  6. 600 REM SERIES/PARALLEL CAPACITANCES
  7. 700 REM SERIES/PARALLEL INDUCTANCE
  8. 750 REM COMPLEX SERIES/PARALLEL RESISTISTANCES AND CURRENT DRAWN
  9. 800 ON ERROR GOTO 55000
  10. 850 REM FORMULAS FOR OHMS LAW, AND PARALLEL/SERIAL STUFF
  11. 960 REM P=POWER IN WATTS, E=VOLTS, I=CURRENT (AMPS), R=RESISTANCE
  12. 970 REM C=CAPACITANCE, L=INDUCTANCE
  13. 900 DEF FNWEI (V1,V2)=V1*V2:REM P=E*I
  14. 1000 DEF FNWIR (V1,V2)=(V1^2)*V2:REM P=I^2*R
  15. 1100 DEF FNWER (V1,V2)=(V1^2)/V2:REM P=E^2/R
  16. 1200 DEF FNIER (V1,V2)=V1/V2:REM I=E/R
  17. 1300 DEF FNIPE (V1,V2)=V1/V2:REM I=I/P
  18. 1400 DEF FNIPR (V1,V2)=SQR(V1/V2):REM I=SQR(P/R)
  19. 1500 DEF FNREI (V1,V2)=V1/V2:REM R=E/I
  20. 1600 DEF FNREP (V1,V2)=(V1^2)/V2:REM R=E^2/P
  21. 1700 DEF FNRPI (V1,V2)=V1/(V2^2):REM R=R/I^2
  22. 1800 DEF FNEIR (V1,V2)=V1*V2:REM E=I*R
  23. 1900 DEF FNEPI (V1,V2)=V1/V2:REM E=P/I
  24. 2000 DEF FNEPR (V1,V2)=SQR(V1*V2):REM E=SQR(P*R)
  25. 2100 DEF FNRP (X,Y)=(X*Y)/(X+Y):REM PARALLEL RESISTANCE
  26. 2200 DEF FNRS (X,Y)=X+Y:REM SERIAL RESISTANCE
  27. 2300 DEF FNCS (X,Y)=(X*Y)/(X+Y):REM SERIAL CAPACITANCE
  28. 2400 DEF FNCP (X,Y)=X+Y:REM PARALLEL CAPACITANCE
  29. 2500 DEF FNLP (X,Y)=(X*Y)/(X+Y):REM PARALLEL INDUCTANCE
  30. 2600 DEF FNLS (X,Y)=X+Y:REM SERIAL INDUCTANCE
  31. 2700 INPUT"DO YOU WANT INSTRUCTIONS Y/N ",A$
  32. 2800 IF A$="Y" THEN GOSUB 3700
  33. 2900 REM MAIN MENU
  34. 3000 PRINT:PRINT"ELECTRONIC FORMULA PROGRAM, WHAT DO YOU WISH TO FIND?":PRINT
  35. 3100 PRINT"1) OHMS LAW                       2) SERIAL/PARALLEL RESISTANCE"
  36. 3200 PRINT"3) SERIAL/PARALLEL CAPACITANCE    4) SERIAL/PARALLEL INDUCTANCE"
  37. 3300 PRINT"5) COMPLEX CIRCUITS               6) EXIT TO SYSTEM"
  38. 3310 INPUT"ENTER: ",ANS
  39. 3400 ON ANS GOTO 4400, 15300, 18500, 21800, 30000, 3600
  40. 3500 PRINT"ERROR":GOTO 2900
  41. 3600 PRINT"END ELECTRONIC FORMULA PROGRAM, EXITING TO SYSTEM":SYSTEM
  42. 3700 PRINT:PRINT"ELECTRONIC FORMULA PROGRAM"
  43. 3800 PRINT"THIS PROGRAM IS MENU DRIVEN AND WILL CALCULATE:"
  44. 3900 PRINT"OHM'S LAWS FOR RESISTANCE, POWER, CURRENT, AND VOLTAGE"
  45. 4000 PRINT"SERIES AND PARALLEL RESISTANCE"
  46. 4100 PRINT"SERIES AND PARALLEL CAPACITANCE"
  47. 4200 PRINT"SERIES AND PARALLEL INDUCTANCE"
  48. 4210 PRINT"COMPLEX SERIES/PARALLEL RESISTANCES"
  49. 4220 PRINT"CURRENT DRAWN BY COMPLEX SERIES/PARALLEL CIRCUITS"
  50. 4300 RETURN
  51. 4400 REM OHM'S MAIN MENU
  52. 4500 PRINT:PRINT"OHM'S LAWS, WHAT DO TOU WISH TO FIND?":PRINT
  53. 4600 INPUT"1) WATTAGE  2) AMPS  3) VOLTAGE  4) RESISTANCE  5) MAIN MENU : ",ANS
  54. 4700 ON ANS GOTO 4900, 7500, 10100, 12700, 2900
  55. 4800 PRINT"ERROR":GOTO 4400
  56. 4900 REM WATTS
  57. 5000 PRINT:PRINT"***  OHM'S LAWS FOR WATTAGE  ***"
  58. 5100 PRINT"WHAT VALUES DO YOU HAVE:"
  59. 5200 PRINT"1) VOLTAGE AND AMPS         2) AMPS AND RESISTANCE"
  60. 5300 PRINT"3) VOLTAGE AND RESISTANCE   4) NONE OF THE ABOVE"
  61. 5400 INPUT"ENTER: ";WANS
  62. 5500 ON WANS GOSUB 5700, 6300, 6900, 4400:GOTO 4900
  63. 5700 REM P=E*I
  64. 5800 INPUT"VOLTAGE: ";V1
  65. 5900 INPUT"AMPS: ";V2
  66. 6000 P=FNWEI (V1,V2)
  67. 6100 PRINT"POWER/WATTS CONSUMED = ";P:RETURN
  68. 6300 REM P=I^2*R
  69. 6400 INPUT"AMPS: ";V1
  70. 6500 INPUT"RESISTANCE: ";V2
  71. 6600 P=FNWIR (V1,V2)
  72. 6800 GOTO 6100
  73. 6900 REM P=E^2/R
  74. 7000 INPUT"VOLTAGE: ";V1
  75. 7100 INPUT"RESISTANCE: ";V2
  76. 7200 P=FNWER (V1,V2)
  77. 7400 GOTO 6100
  78. 7500 REM AMPS 
  79. 7600 PRINT:PRINT:PRINT"***  OHM'S LAWS FOR AMPS  ***"
  80. 7700 PRINT"WHAT VALUES DO YOU HAVE:"
  81. 7800 PRINT"1) VOLTAGE AND RESISTANCE   2) WATTS AND VOLTAGE"
  82. 7900 PRINT"3) WATTS AND RESISTANCE     4) NONE OF THE ABOVE"
  83. 8000 INPUT"ENTER: ";AANS
  84. 8100 ON AANS GOSUB 8300, 8900, 9500, 4400:GOTO 7500
  85. 8300 REM I=E/R
  86. 8400 INPUT"VOLTAGE: ";V1
  87. 8500 INPUT"RESISTANCE: ";V2
  88. 8600 I=FNIER (V1,V2)
  89. 8700 PRINT"AMPS DRAWN = ";I:RETURN
  90. 8900 REM I=P/E
  91. 9000 INPUT"WATTS: ";V1
  92. 9100 INPUT"VOLTAGE: ";V2
  93. 9200 I=FNIPE (V1,V2)
  94. 9400 GOTO 8700
  95. 9500 REM I=SQR P/R
  96. 9600 INPUT"WATTS: ";V1
  97. 9700 INPUT"RESISTANCE: ";V2
  98. 9800 I=FNIPR (V1,V2)
  99. 10000 GOTO 8700
  100. 10100 REM VOLTS
  101. 10200 PRINT:PRINT"***  OHM'S LAWS FOR VOLTAGE  ***"
  102. 10300 PRINT"WHAT VALUES DO YOU HAVE:"
  103. 10400 PRINT"1) AMPS AND RESISTANCE   2) WATTS AND AMPS"
  104. 10500 PRINT"3) WATTS AND RESISTANCE  4) NONE OF THE ABOVE"
  105. 10600 INPUT"ENTER: ";VANS
  106. 10700 ON VANS GOSUB 10900, 11500, 12100, 4400:GOTO 10100
  107. 10900 REM E=I*R
  108. 11000 INPUT"AMPS: ";V1
  109. 11100 INPUT"RESISTANCE: ";V2
  110. 11200 E=FNEIR (V1,V2)
  111. 11300 PRINT"SOURCE VOLTAGE = ";E:RETURN
  112. 11500 REM E=P/I
  113. 11600 INPUT"WATTS: ";V1
  114. 11700 INPUT"AMPS: ";V2
  115. 11800 E=FNEPI (V1,V2)
  116. 12000 GOTO 11300
  117. 12100 REM E=SQR P*R
  118. 12200 INPUT"WATTS: ";V1
  119. 12300 INPUT"RESISTANCE: ";V2
  120. 12400 E=FNEPR (V1,V2)
  121. 12600 GOTO 11300
  122. 12700 REM OHMS 
  123. 12800 PRINT:PRINT"***  OHM'S LAWS FOR RESISTANCE  ***"
  124. 12900 PRINT"WHAT VALUES DO YOU HAVE:"
  125. 13000 PRINT"1) VOLTAGE AND AMPS  2) VOLTAGE AND WATTS"
  126. 13100 PRINT"3) WATTS AND AMPS    4) NONE OF THE ABOVE"
  127. 13200 INPUT"ENTER: ";OANS
  128. 13300 ON OANS GOSUB 13500, 14100, 14700, 4400:GOTO 12700
  129. 13500 REM R=E/I
  130. 13600 INPUT"VOLTAGE: ";V1
  131. 13700 INPUT"AMPS: ";V2
  132. 13800 P=FNREI (V1,V2)
  133. 13900 PRINT"OHMS = ";P:RETURN
  134. 14100 REM R=E^2/P
  135. 14200 INPUT"VOLTAGE: ";V1
  136. 14300 INPUT"WATTS: ";V2
  137. 14400 P=FNREP (V1,V2)
  138. 14600 GOTO 13900
  139. 14700 REM R=P/I^2
  140. 14800 INPUT"WATTS: ";V1
  141. 14900 INPUT"AMPS: ";V2
  142. 15000 P=FNRPI (V1,V2)
  143. 15200 GOTO 13900
  144. 15300 REM *** SERIES/PARALLEL RESISTANCE EVALUATOR ***
  145. 15400 PRINT:PRINT"RESISTANCE EVALUATOR, WHAT DO YOU WISH TO FIND?":PRINT
  146. 15500 INPUT"1) SERIES   2) PARALLEL  3) MAIN MENU:";ANS
  147. 15600 ON ANS GOTO 15800, 17100, 2900
  148. 15700 PRINT"ERROR":GOTO 15400
  149. 15800 CNT=1
  150. 15900 PRINT"ENTER 0 OR RETURN TO END"
  151. 16000 PRINT"RESISTOR ";CNT;:INPUT RESTR
  152. 16100 CNT=CNT+1
  153. 16200 PRINT"RESISTOR ";CNT;:INPUT RESTR1
  154. 16300 RT=FNRS (RESTR,RESTR1)
  155. 16400 CNT=CNT+1
  156. 16500 PRINT"RESISTOR ";CNT;:INPUT RESTR2
  157. 16600 IF RESTR2=0 GOTO 16850
  158. 16700 RT=FNRS (RT,RESTR2)
  159. 16800 GOTO 16400
  160. 16850 IF CC=1 THEN RETURN 
  161. 16900 PRINT"TOTAL SERIES RESISTANCE IS ";RT;" OHMS USING ";CNT-1;" RESISTORS"
  162. 17000 GOTO 15400
  163. 17100 REM PARALLEL 
  164. 17200 CNT=1
  165. 17300 PRINT"ENTER 0 OR RETURN TO END"
  166. 17400 PRINT"RESISTOR ";CNT;:INPUT RESTR
  167. 17500 CNT=CNT+1
  168. 17600 PRINT"RESISTOR ";CNT;:INPUT RESTR1
  169. 17700 RT=FNRP (RESTR,RESTR1)
  170. 17800 CNT=CNT+1
  171. 17900 PRINT"RESISTOR ";CNT;:INPUT RESTR2
  172. 18000 IF RESTR2=0 GOTO 18250
  173. 18100 RT=FNRP (RT,RESTR2)
  174. 18200 GOTO 17800
  175. 18250 IF CC=1 THEN RETURN 
  176. 18300 PRINT"TOTAL PARALLEL RESISTANCE IS ";RT;" OHMS USING ";CNT-1;" RESISTORS"
  177. 18400 GOTO 15400
  178. 18500 REM *** SERIES/PARALLEL CAPACITANCE EVALUATOR ***
  179. 18600 PRINT:PRINT"CAPACITANCE EVALUATOR, WHAT DO YOU WISH TO FIND?":PRINT
  180. 18700 INPUT"1) SERIES   2) PARALLEL  3) MAIN MENU:";ANS
  181. 18800 ON ANS GOTO 20400, 19000, 2900
  182. 18900 PRINT"ERROR":GOTO 18600
  183. 19000 REM PARALLEL
  184. 19100 CNT=1
  185. 19200 PRINT"ENTER 0 OR RETURN TO END"
  186. 19300 PRINT"CAPACITOR ";CNT;:INPUT CAP
  187. 19400 CNT=CNT+1
  188. 19500 PRINT"CAPACITOR ";CNT;:INPUT CAP1
  189. 19600 CT=FNCP (CAP,CAP1)
  190. 19700 CNT=CNT+1
  191. 19800 PRINT"CAPACITOR ";CNT;:INPUT CAP2
  192. 19900 IF CAP2=0 GOTO 20200
  193. 20000 CT=FNCP (CT,CAP2)
  194. 20100 GOTO 19700
  195. 20200 PRINT"TOTAL PARALLEL CAPACITANCE IS ";CT;" FARADS USING ";CNT-1;" CAPACITORS"
  196. 20300 GOTO 18600
  197. 20400 REM SERIES
  198. 20500 CNT=1
  199. 20600 PRINT"ENTER 0 OR RETURN TO END"
  200. 20700 PRINT"CAPACITOR ";CNT;:INPUT CAP
  201. 20800 CNT=CNT+1
  202. 20900 PRINT"CAPACITOR ";CNT;:INPUT CAP1
  203. 21000 CT=FNCS (CAP,CAP1)
  204. 21100 CNT=CNT+1
  205. 21200 PRINT"CAPACITOR ";CNT;:INPUT CAP2
  206. 21300 IF CAP2=0 GOTO 21600
  207. 21400 CT=FNCS (CT,CAP2)
  208. 21500 GOTO 21100
  209. 21600 PRINT"TOTAL SERIES CAPACITANCE IS ";CT;" FARADS USING ";CNT-1;" CAPACITORS"
  210. 21700 GOTO 18600
  211. 21800 REM *** SERIES/PARALLEL INDUCTANCE EVALUATOR ***
  212. 21900 PRINT:PRINT"INDUCTANCE EVALUATOR, WHAT DO YOU WISH TO FIND?":PRINT
  213. 22000 INPUT"1) SERIES   2) PARALLEL  3) MAIN MENU:";ANS
  214. 22100 ON ANS GOTO 22300, 23600, 2900
  215. 22200 PRINT"ERROR":GOTO 21900
  216. 22300 CNT=1
  217. 22400 PRINT"ENTER 0 OR RETURN TO END"
  218. 22500 PRINT"INDUCTOR ";CNT;:INPUT IND
  219. 22600 CNT=CNT+1
  220. 22700 PRINT"INDUCTOR ";CNT;:INPUT IND1
  221. 22800 LT=FNLS (IND,IND1)
  222. 22900 CNT=CNT+1
  223. 23000 PRINT"INDUCTOR ";CNT;:INPUT IND2
  224. 23100 IF IND2=0 GOTO 23400
  225. 23200 LT=FNLS (LT,IND2)
  226. 23300 GOTO 22900
  227. 23400 PRINT"TOTAL SERIES INDUCTANCE IS ";LT;" HENRIES USING ";CNT-1;" INDUCTORS"
  228. 23500 GOTO 21900
  229. 23600 REM PARALLEL 
  230. 23700 CNT=1
  231. 23800 PRINT"ENTER 0 OR RETURN TO END"
  232. 23900 PRINT"INDUCTOR ";CNT;:INPUT IND
  233. 24000 CNT=CNT+1
  234. 24100 PRINT"INDUCTOR ";CNT;:INPUT IND1
  235. 24200 LT=FNLP (IND,IND1)
  236. 24300 CNT=CNT+1
  237. 24400 PRINT"INDUCTOR ";CNT;:INPUT IND2
  238. 24500 IF IND2=0 GOTO 24800
  239. 24600 LT=FNLP (LT,IND2)
  240. 24700 GOTO 24300
  241. 24800 PRINT"TOTAL PARALLEL INDUCTANCE IS ";LT;" HENRIES USING ";CNT-1;" INDUCTORS"
  242. 24900 GOTO 21900
  243. 30000 REM COMPLEX CIRCUITS
  244. 30100 PRINT:PRINT"*** COMPLEX CIRCUITS ***"
  245. 30200 PRINT"1) CALCULATE S/P RESISTANCE  2) CALCULATE CURRENT DRAWN BY CIRCUIT"
  246. 30300 INPUT"3) MAIN MENU: ";ANS
  247. 30400 ON ANS GOTO 30600, 33000, 2900
  248. 30500 PRINT"ERROR":GOTO 30100
  249. 30600 PRINT"     R"
  250. 30700 PRINT"|---~~~---|"
  251. 30800 PRINT"|         ~  R" 
  252. 30900 PRINT"|  _______~______"
  253. 31000 PRINT"|  |      |     |"
  254. 31100 PRINT"V  ~      ~     ~           COMPLEX RESISTANCES"
  255. 31200 PRINT"|  ~ R    ~ R   ~ R"
  256. 31300 PRINT"|  |______|_____|"
  257. 31400 PRINT"|         |
  258. 31500 PRINT"|---~~~---|"
  259. 31600 PRINT"    R"
  260. 31700 PRINT:PRINT"ENTER PARALLEL RESISTOR VALUES":CC=1:GOSUB 17100
  261. 31800 CC=0:CCPRT=RT:CCNTP=CNT-1
  262. 31900 PRINT"ENTER SERIES RESISTOR VALUES":CC=1:GOSUB 15800
  263. 32000 CC=0:CCSRT=RT:CCNTS=CNT-1:CCRT=FNRS (CCPRT,CCSRT)
  264. 32100 PRINT"TOTAL RESISTANCE ";CCRT;" OHMS USING ";CCNTP+CCNTS;" RESISTORS"
  265. 32200 GOTO 30000
  266. 33000 REM CURRENT DRAWN ON COMPLEX RESISTANCES
  267. 33100 IF CCRT>0 THEN GOTO 33300
  268. 33200 PRINT"ERROR, TOTAL RESISTANCE NOT YET KNOWN":GOTO 30000 
  269. 33300 INPUT"ENTER VOLTAGE: ";V1
  270. 33400 V2=CCRT:IT=FNIER (V1,V2)
  271. 33500 PRINT"TOTAL CURRENT DRAWN IS ";IT;" AMPS FOR A CIRCUIT OF ";CCRT;" OHMS"
  272. 33600 GOTO 30000
  273. 55000 PRINT"*** AN ERROR OCCURRED! ***";CHR$(7)
  274. 55100 PRINT:INPUT"DO YOU WISH TO CONTINE ANYWAY? Y/N ",ANS$
  275. 55200 IF ANS$="Y" THEN RESUME NEXT ELSE SYSTEM
  276.