home *** CD-ROM | disk | FTP | other *** search
- 100 REM ELECTRONIC FORMULA PROGRAMS
- 200 REM COPYRIGHT 1985 MICHAEL E. LAUSIN BROOMFIELD, CO.
- 300 REM THIS PROGRAM IS MENU DRIVEN AND WILL CALCULATE:
- 400 REM OHM'S LAWS FOR RESISTANCE, POWER, CURRENT, AND VOLTAGE
- 500 REM SERIES/PARALLEL RESISTANCES
- 600 REM SERIES/PARALLEL CAPACITANCES
- 700 REM SERIES/PARALLEL INDUCTANCE
- 750 REM COMPLEX SERIES/PARALLEL RESISTISTANCES AND CURRENT DRAWN
- 800 ON ERROR GOTO 55000
- 850 REM FORMULAS FOR OHMS LAW, AND PARALLEL/SERIAL STUFF
- 960 REM P=POWER IN WATTS, E=VOLTS, I=CURRENT (AMPS), R=RESISTANCE
- 970 REM C=CAPACITANCE, L=INDUCTANCE
- 900 DEF FNWEI (V1,V2)=V1*V2:REM P=E*I
- 1000 DEF FNWIR (V1,V2)=(V1^2)*V2:REM P=I^2*R
- 1100 DEF FNWER (V1,V2)=(V1^2)/V2:REM P=E^2/R
- 1200 DEF FNIER (V1,V2)=V1/V2:REM I=E/R
- 1300 DEF FNIPE (V1,V2)=V1/V2:REM I=I/P
- 1400 DEF FNIPR (V1,V2)=SQR(V1/V2):REM I=SQR(P/R)
- 1500 DEF FNREI (V1,V2)=V1/V2:REM R=E/I
- 1600 DEF FNREP (V1,V2)=(V1^2)/V2:REM R=E^2/P
- 1700 DEF FNRPI (V1,V2)=V1/(V2^2):REM R=R/I^2
- 1800 DEF FNEIR (V1,V2)=V1*V2:REM E=I*R
- 1900 DEF FNEPI (V1,V2)=V1/V2:REM E=P/I
- 2000 DEF FNEPR (V1,V2)=SQR(V1*V2):REM E=SQR(P*R)
- 2100 DEF FNRP (X,Y)=(X*Y)/(X+Y):REM PARALLEL RESISTANCE
- 2200 DEF FNRS (X,Y)=X+Y:REM SERIAL RESISTANCE
- 2300 DEF FNCS (X,Y)=(X*Y)/(X+Y):REM SERIAL CAPACITANCE
- 2400 DEF FNCP (X,Y)=X+Y:REM PARALLEL CAPACITANCE
- 2500 DEF FNLP (X,Y)=(X*Y)/(X+Y):REM PARALLEL INDUCTANCE
- 2600 DEF FNLS (X,Y)=X+Y:REM SERIAL INDUCTANCE
- 2700 INPUT"DO YOU WANT INSTRUCTIONS Y/N ",A$
- 2800 IF A$="Y" THEN GOSUB 3700
- 2900 REM MAIN MENU
- 3000 PRINT:PRINT"ELECTRONIC FORMULA PROGRAM, WHAT DO YOU WISH TO FIND?":PRINT
- 3100 PRINT"1) OHMS LAW 2) SERIAL/PARALLEL RESISTANCE"
- 3200 PRINT"3) SERIAL/PARALLEL CAPACITANCE 4) SERIAL/PARALLEL INDUCTANCE"
- 3300 PRINT"5) COMPLEX CIRCUITS 6) EXIT TO SYSTEM"
- 3310 INPUT"ENTER: ",ANS
- 3400 ON ANS GOTO 4400, 15300, 18500, 21800, 30000, 3600
- 3500 PRINT"ERROR":GOTO 2900
- 3600 PRINT"END ELECTRONIC FORMULA PROGRAM, EXITING TO SYSTEM":SYSTEM
- 3700 PRINT:PRINT"ELECTRONIC FORMULA PROGRAM"
- 3800 PRINT"THIS PROGRAM IS MENU DRIVEN AND WILL CALCULATE:"
- 3900 PRINT"OHM'S LAWS FOR RESISTANCE, POWER, CURRENT, AND VOLTAGE"
- 4000 PRINT"SERIES AND PARALLEL RESISTANCE"
- 4100 PRINT"SERIES AND PARALLEL CAPACITANCE"
- 4200 PRINT"SERIES AND PARALLEL INDUCTANCE"
- 4210 PRINT"COMPLEX SERIES/PARALLEL RESISTANCES"
- 4220 PRINT"CURRENT DRAWN BY COMPLEX SERIES/PARALLEL CIRCUITS"
- 4300 RETURN
- 4400 REM OHM'S MAIN MENU
- 4500 PRINT:PRINT"OHM'S LAWS, WHAT DO TOU WISH TO FIND?":PRINT
- 4600 INPUT"1) WATTAGE 2) AMPS 3) VOLTAGE 4) RESISTANCE 5) MAIN MENU : ",ANS
- 4700 ON ANS GOTO 4900, 7500, 10100, 12700, 2900
- 4800 PRINT"ERROR":GOTO 4400
- 4900 REM WATTS
- 5000 PRINT:PRINT"*** OHM'S LAWS FOR WATTAGE ***"
- 5100 PRINT"WHAT VALUES DO YOU HAVE:"
- 5200 PRINT"1) VOLTAGE AND AMPS 2) AMPS AND RESISTANCE"
- 5300 PRINT"3) VOLTAGE AND RESISTANCE 4) NONE OF THE ABOVE"
- 5400 INPUT"ENTER: ";WANS
- 5500 ON WANS GOSUB 5700, 6300, 6900, 4400:GOTO 4900
- 5700 REM P=E*I
- 5800 INPUT"VOLTAGE: ";V1
- 5900 INPUT"AMPS: ";V2
- 6000 P=FNWEI (V1,V2)
- 6100 PRINT"POWER/WATTS CONSUMED = ";P:RETURN
- 6300 REM P=I^2*R
- 6400 INPUT"AMPS: ";V1
- 6500 INPUT"RESISTANCE: ";V2
- 6600 P=FNWIR (V1,V2)
- 6800 GOTO 6100
- 6900 REM P=E^2/R
- 7000 INPUT"VOLTAGE: ";V1
- 7100 INPUT"RESISTANCE: ";V2
- 7200 P=FNWER (V1,V2)
- 7400 GOTO 6100
- 7500 REM AMPS
- 7600 PRINT:PRINT:PRINT"*** OHM'S LAWS FOR AMPS ***"
- 7700 PRINT"WHAT VALUES DO YOU HAVE:"
- 7800 PRINT"1) VOLTAGE AND RESISTANCE 2) WATTS AND VOLTAGE"
- 7900 PRINT"3) WATTS AND RESISTANCE 4) NONE OF THE ABOVE"
- 8000 INPUT"ENTER: ";AANS
- 8100 ON AANS GOSUB 8300, 8900, 9500, 4400:GOTO 7500
- 8300 REM I=E/R
- 8400 INPUT"VOLTAGE: ";V1
- 8500 INPUT"RESISTANCE: ";V2
- 8600 I=FNIER (V1,V2)
- 8700 PRINT"AMPS DRAWN = ";I:RETURN
- 8900 REM I=P/E
- 9000 INPUT"WATTS: ";V1
- 9100 INPUT"VOLTAGE: ";V2
- 9200 I=FNIPE (V1,V2)
- 9400 GOTO 8700
- 9500 REM I=SQR P/R
- 9600 INPUT"WATTS: ";V1
- 9700 INPUT"RESISTANCE: ";V2
- 9800 I=FNIPR (V1,V2)
- 10000 GOTO 8700
- 10100 REM VOLTS
- 10200 PRINT:PRINT"*** OHM'S LAWS FOR VOLTAGE ***"
- 10300 PRINT"WHAT VALUES DO YOU HAVE:"
- 10400 PRINT"1) AMPS AND RESISTANCE 2) WATTS AND AMPS"
- 10500 PRINT"3) WATTS AND RESISTANCE 4) NONE OF THE ABOVE"
- 10600 INPUT"ENTER: ";VANS
- 10700 ON VANS GOSUB 10900, 11500, 12100, 4400:GOTO 10100
- 10900 REM E=I*R
- 11000 INPUT"AMPS: ";V1
- 11100 INPUT"RESISTANCE: ";V2
- 11200 E=FNEIR (V1,V2)
- 11300 PRINT"SOURCE VOLTAGE = ";E:RETURN
- 11500 REM E=P/I
- 11600 INPUT"WATTS: ";V1
- 11700 INPUT"AMPS: ";V2
- 11800 E=FNEPI (V1,V2)
- 12000 GOTO 11300
- 12100 REM E=SQR P*R
- 12200 INPUT"WATTS: ";V1
- 12300 INPUT"RESISTANCE: ";V2
- 12400 E=FNEPR (V1,V2)
- 12600 GOTO 11300
- 12700 REM OHMS
- 12800 PRINT:PRINT"*** OHM'S LAWS FOR RESISTANCE ***"
- 12900 PRINT"WHAT VALUES DO YOU HAVE:"
- 13000 PRINT"1) VOLTAGE AND AMPS 2) VOLTAGE AND WATTS"
- 13100 PRINT"3) WATTS AND AMPS 4) NONE OF THE ABOVE"
- 13200 INPUT"ENTER: ";OANS
- 13300 ON OANS GOSUB 13500, 14100, 14700, 4400:GOTO 12700
- 13500 REM R=E/I
- 13600 INPUT"VOLTAGE: ";V1
- 13700 INPUT"AMPS: ";V2
- 13800 P=FNREI (V1,V2)
- 13900 PRINT"OHMS = ";P:RETURN
- 14100 REM R=E^2/P
- 14200 INPUT"VOLTAGE: ";V1
- 14300 INPUT"WATTS: ";V2
- 14400 P=FNREP (V1,V2)
- 14600 GOTO 13900
- 14700 REM R=P/I^2
- 14800 INPUT"WATTS: ";V1
- 14900 INPUT"AMPS: ";V2
- 15000 P=FNRPI (V1,V2)
- 15200 GOTO 13900
- 15300 REM *** SERIES/PARALLEL RESISTANCE EVALUATOR ***
- 15400 PRINT:PRINT"RESISTANCE EVALUATOR, WHAT DO YOU WISH TO FIND?":PRINT
- 15500 INPUT"1) SERIES 2) PARALLEL 3) MAIN MENU:";ANS
- 15600 ON ANS GOTO 15800, 17100, 2900
- 15700 PRINT"ERROR":GOTO 15400
- 15800 CNT=1
- 15900 PRINT"ENTER 0 OR RETURN TO END"
- 16000 PRINT"RESISTOR ";CNT;:INPUT RESTR
- 16100 CNT=CNT+1
- 16200 PRINT"RESISTOR ";CNT;:INPUT RESTR1
- 16300 RT=FNRS (RESTR,RESTR1)
- 16400 CNT=CNT+1
- 16500 PRINT"RESISTOR ";CNT;:INPUT RESTR2
- 16600 IF RESTR2=0 GOTO 16850
- 16700 RT=FNRS (RT,RESTR2)
- 16800 GOTO 16400
- 16850 IF CC=1 THEN RETURN
- 16900 PRINT"TOTAL SERIES RESISTANCE IS ";RT;" OHMS USING ";CNT-1;" RESISTORS"
- 17000 GOTO 15400
- 17100 REM PARALLEL
- 17200 CNT=1
- 17300 PRINT"ENTER 0 OR RETURN TO END"
- 17400 PRINT"RESISTOR ";CNT;:INPUT RESTR
- 17500 CNT=CNT+1
- 17600 PRINT"RESISTOR ";CNT;:INPUT RESTR1
- 17700 RT=FNRP (RESTR,RESTR1)
- 17800 CNT=CNT+1
- 17900 PRINT"RESISTOR ";CNT;:INPUT RESTR2
- 18000 IF RESTR2=0 GOTO 18250
- 18100 RT=FNRP (RT,RESTR2)
- 18200 GOTO 17800
- 18250 IF CC=1 THEN RETURN
- 18300 PRINT"TOTAL PARALLEL RESISTANCE IS ";RT;" OHMS USING ";CNT-1;" RESISTORS"
- 18400 GOTO 15400
- 18500 REM *** SERIES/PARALLEL CAPACITANCE EVALUATOR ***
- 18600 PRINT:PRINT"CAPACITANCE EVALUATOR, WHAT DO YOU WISH TO FIND?":PRINT
- 18700 INPUT"1) SERIES 2) PARALLEL 3) MAIN MENU:";ANS
- 18800 ON ANS GOTO 20400, 19000, 2900
- 18900 PRINT"ERROR":GOTO 18600
- 19000 REM PARALLEL
- 19100 CNT=1
- 19200 PRINT"ENTER 0 OR RETURN TO END"
- 19300 PRINT"CAPACITOR ";CNT;:INPUT CAP
- 19400 CNT=CNT+1
- 19500 PRINT"CAPACITOR ";CNT;:INPUT CAP1
- 19600 CT=FNCP (CAP,CAP1)
- 19700 CNT=CNT+1
- 19800 PRINT"CAPACITOR ";CNT;:INPUT CAP2
- 19900 IF CAP2=0 GOTO 20200
- 20000 CT=FNCP (CT,CAP2)
- 20100 GOTO 19700
- 20200 PRINT"TOTAL PARALLEL CAPACITANCE IS ";CT;" FARADS USING ";CNT-1;" CAPACITORS"
- 20300 GOTO 18600
- 20400 REM SERIES
- 20500 CNT=1
- 20600 PRINT"ENTER 0 OR RETURN TO END"
- 20700 PRINT"CAPACITOR ";CNT;:INPUT CAP
- 20800 CNT=CNT+1
- 20900 PRINT"CAPACITOR ";CNT;:INPUT CAP1
- 21000 CT=FNCS (CAP,CAP1)
- 21100 CNT=CNT+1
- 21200 PRINT"CAPACITOR ";CNT;:INPUT CAP2
- 21300 IF CAP2=0 GOTO 21600
- 21400 CT=FNCS (CT,CAP2)
- 21500 GOTO 21100
- 21600 PRINT"TOTAL SERIES CAPACITANCE IS ";CT;" FARADS USING ";CNT-1;" CAPACITORS"
- 21700 GOTO 18600
- 21800 REM *** SERIES/PARALLEL INDUCTANCE EVALUATOR ***
- 21900 PRINT:PRINT"INDUCTANCE EVALUATOR, WHAT DO YOU WISH TO FIND?":PRINT
- 22000 INPUT"1) SERIES 2) PARALLEL 3) MAIN MENU:";ANS
- 22100 ON ANS GOTO 22300, 23600, 2900
- 22200 PRINT"ERROR":GOTO 21900
- 22300 CNT=1
- 22400 PRINT"ENTER 0 OR RETURN TO END"
- 22500 PRINT"INDUCTOR ";CNT;:INPUT IND
- 22600 CNT=CNT+1
- 22700 PRINT"INDUCTOR ";CNT;:INPUT IND1
- 22800 LT=FNLS (IND,IND1)
- 22900 CNT=CNT+1
- 23000 PRINT"INDUCTOR ";CNT;:INPUT IND2
- 23100 IF IND2=0 GOTO 23400
- 23200 LT=FNLS (LT,IND2)
- 23300 GOTO 22900
- 23400 PRINT"TOTAL SERIES INDUCTANCE IS ";LT;" HENRIES USING ";CNT-1;" INDUCTORS"
- 23500 GOTO 21900
- 23600 REM PARALLEL
- 23700 CNT=1
- 23800 PRINT"ENTER 0 OR RETURN TO END"
- 23900 PRINT"INDUCTOR ";CNT;:INPUT IND
- 24000 CNT=CNT+1
- 24100 PRINT"INDUCTOR ";CNT;:INPUT IND1
- 24200 LT=FNLP (IND,IND1)
- 24300 CNT=CNT+1
- 24400 PRINT"INDUCTOR ";CNT;:INPUT IND2
- 24500 IF IND2=0 GOTO 24800
- 24600 LT=FNLP (LT,IND2)
- 24700 GOTO 24300
- 24800 PRINT"TOTAL PARALLEL INDUCTANCE IS ";LT;" HENRIES USING ";CNT-1;" INDUCTORS"
- 24900 GOTO 21900
- 30000 REM COMPLEX CIRCUITS
- 30100 PRINT:PRINT"*** COMPLEX CIRCUITS ***"
- 30200 PRINT"1) CALCULATE S/P RESISTANCE 2) CALCULATE CURRENT DRAWN BY CIRCUIT"
- 30300 INPUT"3) MAIN MENU: ";ANS
- 30400 ON ANS GOTO 30600, 33000, 2900
- 30500 PRINT"ERROR":GOTO 30100
- 30600 PRINT" R"
- 30700 PRINT"|---~~~---|"
- 30800 PRINT"| ~ R"
- 30900 PRINT"| _______~______"
- 31000 PRINT"| | | |"
- 31100 PRINT"V ~ ~ ~ COMPLEX RESISTANCES"
- 31200 PRINT"| ~ R ~ R ~ R"
- 31300 PRINT"| |______|_____|"
- 31400 PRINT"| |
- 31500 PRINT"|---~~~---|"
- 31600 PRINT" R"
- 31700 PRINT:PRINT"ENTER PARALLEL RESISTOR VALUES":CC=1:GOSUB 17100
- 31800 CC=0:CCPRT=RT:CCNTP=CNT-1
- 31900 PRINT"ENTER SERIES RESISTOR VALUES":CC=1:GOSUB 15800
- 32000 CC=0:CCSRT=RT:CCNTS=CNT-1:CCRT=FNRS (CCPRT,CCSRT)
- 32100 PRINT"TOTAL RESISTANCE ";CCRT;" OHMS USING ";CCNTP+CCNTS;" RESISTORS"
- 32200 GOTO 30000
- 33000 REM CURRENT DRAWN ON COMPLEX RESISTANCES
- 33100 IF CCRT>0 THEN GOTO 33300
- 33200 PRINT"ERROR, TOTAL RESISTANCE NOT YET KNOWN":GOTO 30000
- 33300 INPUT"ENTER VOLTAGE: ";V1
- 33400 V2=CCRT:IT=FNIER (V1,V2)
- 33500 PRINT"TOTAL CURRENT DRAWN IS ";IT;" AMPS FOR A CIRCUIT OF ";CCRT;" OHMS"
- 33600 GOTO 30000
- 55000 PRINT"*** AN ERROR OCCURRED! ***";CHR$(7)
- 55100 PRINT:INPUT"DO YOU WISH TO CONTINE ANYWAY? Y/N ",ANS$
- 55200 IF ANS$="Y" THEN RESUME NEXT ELSE SYSTEM