home *** CD-ROM | disk | FTP | other *** search
- 1 REM ** OHM'S LAW CALCUATOR 3.8 **
- 2 REM
- 3 REM ******* JIM MIRUS 1987 *******
- 4 REM
- 5 REM ********* C-64 BASIC ***********
- 6 REM
- 7 REM
- 10 PRINT"[147]":POKE53280,11:POKE53281,0:PRINT" [159]J[155] AND [158]J "
- 11 PRINT" SOFTWARE"
- 12 PRINT" PRESENTS !":FORW=ITO1500:NEXTW
- 15 POKE53280,0:POKE53281,0:PRINTCHR$(147)
- 17 A=1:B=-1:C=40:D=-40:N=1:P=54272:V=1984
- 19 FORZ=1TO12:GOSUB35
- 21 V=V-39:N=N+1
- 23 NEXT
- 25 V=V+42:N=N-1
- 27 FORZ=1TO12:GOSUB35
- 29 V=V+42:N=N-1
- 31 NEXT
- 33 GOTO99
- 35 Q=INT(15*RND(1))+1
- 37 FORX=1TON:POKEV+A,67:POKEV+A+P,Q:V=V+A:NEXT
- 39 POKEV,75:POKEV+P,Q
- 41 FORX=1TON:POKEV+D,66:POKEV+D+P,Q:V=V+D:NEXT
- 43 POKEV,73:POKEV+P,Q
- 45 FORX=1TON:POKEV+B,67:POKEV+B+P,Q:V=V+B:NEXT
- 47 POKEV,85:POKEV+P,Q
- 49 FORX=1TON:POKEV+C,66:POKEV+C+P,Q:V=V+C:NEXT
- 51 POKEV,74:POKEV+P,Q
- 53 RETURN
- 99 FORW=1TO1300:NEXTW:PRINT""
- 100 PRINTCHR$(14):POKE53280,0:POKE53281,0:PRINT"[155]"
- 120 PRINT" [207]HM'S"
- 121 PRINT:PRINT" [204]AW"
- 124 PRINT
- 125 PRINT" [129] [195]ALCULATOR"
- 126 PRINT" [202][158]I[154]M [205][129]IR[156]U[150]S "
- 130 FORW=ITO2300:NEXTW
- 140 GOSUB5000:POKE53280,11:PRINT" [196]EFINITIONS [146][155]"
- 150 PRINT" 1. [210] = [210]ESISTANCE IN OHMS"
- 155 PRINT" 2. [214] = [214]OLTAGE ([197][205][198]) IN [214]OLTS"
- 160 PRINT" 3. [201] = [195]URRENT IN [193]MPERES"
- 165 PRINT" 4. [208] = [208]OWER IN [215]ATTS"
- 170 PRINT" 5. [218] = [201]MPEDANCE IN [207]HMS"
- 175 PRINT" 6. [216]L = [201]NDUCTIVE [210]EACTANCE IN [207]HMS"
- 180 PRINT" 7. [216]C = [195]APACITIVE [210]EACTANCE IN [207]HMS"
- 185 PRINT" [208][210][197][211][211][160][193][206][217][160][203][197][217][160][146][155]"
- 186 GETA$:IFA$=""GOTO186
- 190 GOSUB5000:PRINT" [211]ELECT 1 OR 2 AND PRESS [210]ETURN [146][155]"
- 192 PRINT" 1. [207]HM'S [204]AW [195]ALCUATOR"
- 193 PRINT" 2. [193].[195]. [195]ALCUATOR"
- 195 PRINT:INPUTS
- 196 IFS=1THENGOTO200
- 197 IFS=2THENGOTO1010
- 200 GOSUB5000:PRINT" [211]ELECT [214]ALUE [206]EEDED AND PRESS [210]ETURN [146][155]"
- 210 PRINT" 1. [210]ESISTANCE IN [207]HMS ([210])"
- 220 PRINT" 2. [214]OLTAGE IN [214]OLTS ([214])"
- 230 PRINT" 3. [195]URRENT IN [193]MPERES ([201])"
- 240 PRINT" 4. [208]OWER IN [215]ATTS ([208])"
- 245 PRINT" 5. [210]ESISTANCE IN [208]ARALLEL"
- 247 PRINT" 6. [214]OLTAGE DROPING [210]ESISTOR"
- 250 PRINT:INPUTS
- 260 IFS=1THENGOTO300
- 265 IFS=2THENGOTO400
- 270 IFS=3THENGOTO500
- 275 IFS=4THENGOTO600
- 280 IFS=5THENGOTO700
- 290 IFS=6THENGOTO800
- 300 PRINT"[147]":PRINT"[158] [210]ESISTANCE [146][155]"
- 302 PRINT"[158][211]ELECT [203]NOWN [214]ALUES AND PRESS [210]ETURN[146][155]"
- 305 PRINT" 1. [214]OLTS ([214]) & [193]MPERES ([201])"
- 310 PRINT" 2. [215]ATTS ([208]) & [193]MPERES ([201])"
- 315 PRINT" 3. [214]OLTS ([214]) & [215]ATTS ([208])"
- 320 PRINT:INPUTNV
- 321 IFNV=1THENGOTO330
- 322 IFNV=2THENGOTO350
- 323 IFNV=3THENGOTO370
- 330 PRINT"[147] 1. [197]NTER [214]OLTAGE":INPUTV
- 335 PRINT" 2. [197]NTER [193]MPERES":INPUTI
- 340 PRINT:PRINT:R=V/I
- 342 PRINT"[158] [212]HE ANSWER IS [155][146]"R"[158] [207]HMS [146][155]"
- 345 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 346 GETA$:IFA$=""THENGOTO346
- 347 IFA$="Y"THENGOTO300
- 348 IFA$="N"THENGOTO190
- 350 PRINT"[147] 1. [197]NTER [215]ATTS":INPUTP
- 352 PRINT" 2. [197]NTER [193]MPERES":INPUTI
- 355 PRINT:PRINT:R=P/I^2:GOTO342
- 370 PRINT"[147] 1. [197]NTER [214]OLTAGE":INPUTV
- 375 PRINT" 2. [197]NTER [215]ATTS":INPUTP
- 380 PRINT:PRINT:R=V^2/P:GOTO342
- 400 PRINT"[147][156] [214]OLTAGE [146][155]"
- 402 PRINT"[156][211]ELECT [203]NOWN [214]ALUES AND PRESS [210]ETURN[146][155]"
- 405 PRINT" 1. [193]MPERES ([201]) & [210]ESISTANCE ([210])"
- 410 PRINT" 2. [193]MPERES ([201]) & [215]ATTS ([208])"
- 415 PRINT" 3. [215]ATTS ([208]) & [210]ESISTANCE ([210])"
- 420 PRINT:INPUTS
- 421 IFS=1THENGOTO430
- 422 IFS=2THENGOTO450
- 423 IFS=3THENGOTO470
- 430 PRINT"[147] 1. [197]NTER [193]MPERES":INPUTI
- 435 PRINT" 2. [197]NTER [210]ESISTANCE":INPUTR
- 440 PRINT:PRINT:V=I*R
- 442 PRINT"[158] [212]HE ANSWER IS [146][155]"V"[158] [214]OLTS[146][155]"
- 443 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 444 GETA$:IFA$=""THENGOTO444
- 445 IFA$="Y"THENGOTO400
- 446 IFA$="N"THENGOTO190
- 450 PRINT"[147] 1. [197]NTER [193]MPERES":INPUTI
- 452 PRINT" 2. [197]NTER [215]ATTS":INPUTP
- 455 PRINT:PRINT:V=P/I:GOTO442
- 470 PRINT"[147] 1. [197]NTER [215]ATTS":INPUTP
- 475 PRINT" 2. [197]NTER [210]ESISTANCE":INPUTR
- 480 PRINT:PRINT:V=SQR(P*R):GOTO442
- 500 PRINT"[147][129] [195]URRENT [146][155]"
- 502 PRINT"[129][211]ELECT [203]NOWN [214]ALUES AND PRESS [210]ETURN[155][146]"
- 505 PRINT" 1. [214]OLTAGE ([214]) & [210]ESISTANCE ([210])"
- 510 PRINT" 2. [214]OLTAGE ([214]) & [215]ATTS ([208])"
- 515 PRINT" 3. [210]ESISTANCE ([210]) & [215]ATTS ([208])"
- 520 PRINT:INPUTS
- 521 IFS=1THENGOTO530
- 522 IFS=2THENGOTO550
- 523 IFS=3THENGOTO570
- 530 PRINT"[147] 1. [197]NTER [214]OLTAGE":INPUTV
- 535 PRINT" 2. [197]NTER [210]ESISTANCE":INPUTR
- 540 PRINT:PRINT:I=V/R
- 542 PRINT"[158] [212]HE ANSWER IS [146][155]"I"[158] [193]MPERES [146][155]"
- 543 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 544 GETA$:IFA$=""THENGOTO544
- 545 IFA$="Y"THENGOTO500
- 546 IFA$="N"THENGOTO190
- 550 PRINT"[147] 1. [197]NTER [214]OLTAGE":INPUTV
- 552 PRINT" 2. [197]NTER [215]ATTS":INPUTP
- 555 PRINT:PRINT:I=P/V:GOTO542
- 570 PRINT"[147] 1. [197]NTER [210]ESISTANCE":INPUTR
- 575 PRINT" 2. [197]NTER [215]ATTS":INPUTP
- 580 PRINT:PRINT:I=SQR(P/R):GOTO542
- 600 PRINT"[147] [208]OWER [146][155]"
- 602 PRINT"[211]ELECT [203]NOWN [214]ALUES AND PRESS [210]ETURN[146][155]"
- 605 PRINT" 1. [214]OLTAGE ([214]) & [193]MPERES ([201])"
- 610 PRINT" 2. [193]MPERES ([201]) & [210]ESISTANCE ([210])"
- 615 PRINT" 3. [214]OLTAGE ([214]) & [210]ESISTANCE ([210])"
- 620 PRINT:INPUTS
- 621 IFS=1THENGOTO630
- 622 IFS=2THENGOTO650
- 623 IFS=3THENGOTO670
- 630 PRINT"[147] 1. [197]NTER [214]OLTAGE":INPUTV
- 635 PRINT" 2. [197]NTER [193]MPERES":INPUTI
- 640 PRINT:PRINT:P=V*I
- 642 PRINT"[158] [212]HE ANSWER IS [146][155]"P"[158] [215]ATTS [146][155]"
- 643 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 644 GETA$:IFA$=""THENGOTO644
- 645 IFA$="Y"THENGOTO600
- 646 IFA$="N"THENGOTO190
- 650 PRINT"[147] 1. [197]NTER [193]MPERES":INPUTI
- 652 PRINT" 2. [197]NTER [210]ESISTANCE":INPUTR
- 655 PRINT:PRINT:P=I^2*R:GOTO642
- 670 PRINT"[147] 1. [197]NTER [214]OLTAGE":INPUTV
- 675 PRINT" 2. [197]NTER [210]ESISTANCE":INPUTR
- 680 PRINT:PRINT:P=V^2/R:GOTO642
- 700 PRINT"[147][159][200]OW MANY [210]ESISTERS IN [208]ARALLEL[146][155]":PRINT:INPUTX
- 705 R(L)=0:RT=0
- 710 FORL=1TOX
- 720 PRINT:PRINT"[197]NTER VALUE #";L;:INPUTR(L)
- 730 NEXT
- 750 FORL=1TOX
- 760 RT=RT+(1/R(L)):NEXT
- 770 RT=1/RT
- 780 PRINT:PRINT"[158] [212]OTAL [210][197][201][211][212][193][206][195][197][160]IS [146][155]";RT"[158] [207]HMS [146][155]"
- 781 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 782 GETA$:IFA$=""THENGOTO782
- 783 IFA$="Y"THENGOTO700
- 784 IFA$="N"THENGOTO190
- 800 PRINT"[147] [214]OLTAGE [196]ROP [146]"
- 805 PRINT"[155][211]ELECT PROGRAM NEEDED AND PRESS"
- 807 PRINT"[210]ETURN"
- 809 PRINT"1. [198]IND [214]OLTAGE DROP AT RESISTOR"
- 812 PRINT"2. [198]IND RESISTOR NEEDED TO DROP":PRINT"VOLTAGE TO DESIERED LEVEL."
- 815 INPUTS
- 820 IFS=1THENGOTO830
- 825 IFS=2THENGOTO900
- 830 PRINT"[147] [214]OLTAGE [196]ROP [146]"
- 833 R=0:I=0:V=0
- 835 PRINT:PRINT"[155][210]ESISTANCE IN [207]HMS":INPUTR
- 840 PRINT:PRINT"[195]URRENT IN [193]MPS.":INPUTI
- 845 V=I*R
- 850 PRINT" [212]HE ANSWER IS [146]"V" [214]OLTS [146]"
- 860 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 865 GETA$:IFA$=""THENGOTO865
- 870 IFA$="Y"THENGOTO800
- 875 IFA$="N"THENGOTO190
- 900 PRINT"[147] [214]OLTAGE [196]ROP [146]"
- 905 PRINT"[155][213]SE THIS PROGRAM TO FIND VALUE OF"
- 907 PRINT"RESISTOR NEEDED TO DROP SOURCE VOLTAGE"
- 909 PRINT"TO THE VOLTAGE NEEDED FOR THE DEVICE.":PRINT
- 912 VX=0:VT=0:VL=0:R=0:IL=0
- 915 INPUT"[196]EVICE [214]OLTAGE";VL:PRINT
- 920 INPUT"[196]EVICE [195]URRENT ([193]MPS.)";IL:PRINT
- 925 INPUT"[211]OURCE [214]OLTAGE";VT
- 930 VX=VT-VL:R=VX/IL:P=VX*IL
- 940 PRINT" [210]ESISTANCE IS [146][155] "R" [207]HMS [146]"
- 945 PRINT" [214]OLTAGE DROP IS [146][155] "VX" [214]OLTS [146]"
- 950 PRINT" [208]OWER IS [146][155] "P" [215]ATTS [146]"
- 960 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 965 GETA$:IFA$=""THENGOTO965
- 970 IFA$="Y"THENGOTO900
- 975 IFA$="N"THENGOTO190
- 1000 PRINT"[147]":PRINTCHR$(142)
- 1005 LOAD"*",8:CHR$(13)
- 1010 GOSUB5000:PRINT"[158] [193].[195]. "
- 1015 PRINT" [211]ELECT [214]ALUE [206]EEDED AND PRESS [210]ETURN [146][155]"
- 1020 PRINT" 1. [201]NPEDANCE IN [207]HMS"
- 1030 PRINT" 2. [201]NDUCTIVE [210]EACTANCE IN [207]HMS"
- 1040 PRINT" 3. [195]APACITIVE [210]EACTANCE IN [207]HMS"
- 1045 PRINT" 4. [201]NDUCTORS IN [208]ARALLEL"
- 1050 PRINT" 5. [195]APACITORS IN [211]ERIES"
- 1060 PRINT:INPUTS
- 1065 IFS=1THENGOTO1200
- 1067 IFS=2THENGOTO1300
- 1070 IFS=3THENGOTO1400
- 1075 IFS=4THENGOTO1500
- 1080 IFS=5THENGOTO1600
- 1200 GOSUB5000:PRINT"[158] [201]MPEDANCE [146][155]"
- 1205 PRINT"[158][211]ELECT [203]NOWN [214]ALUES AND PRESS [210]ETURN[146][155]"
- 1210 PRINT" 1. [210]ESISTANCE & [210]EACTANCE"
- 1212 Z=0:R=0:X=0:XL=0:XC=0
- 1215 PRINT" 2. [210]ESISTANCE, [201]NDUC./[210]EACT.([216]L) & [195]APAC./[210]EACT.([216]C)"
- 1220 PRINT:INPUTS
- 1225 IFS=1THENGOTO1235
- 1230 IFS=2THENGOTO1265
- 1235 PRINT"[147]":PRINT"[158] [201]MPEDANCE [146][155]"
- 1240 PRINT"[197]NTER [210]ESISTANCE":INPUTR
- 1245 PRINT"[197]NTER [210]EACTANCE":INPUTX
- 1250 Z=SQR(R^2+X^2)
- 1255 PRINT"[158] [212]HE [201]MPEDANCE IS [146][155]"Z"[158] [207]HMS "
- 1256 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 1257 GETA$:IFA$=""THENGOTO1257
- 1258 IFA$="Y"THENGOTO1200
- 1259 IFA$="N"THENGOTO190
- 1265 PRINT"[147]":PRINT"[158] [201]MPEDANCE [146][155]"
- 1270 PRINT"[197]NTER [210]ESISTANCE":INPUTR
- 1275 PRINT"[197]NTER [201]NDUCTIVE [210]EACTANCE":INPUTXL
- 1280 PRINT"[197]NTER [195]APACITIVE [210]EACTANCE":INPUTXC
- 1285 X=(XL-XC)^2:Z=SQR(R^2+X):GOTO1255
- 1300 GOSUB5000:PRINT"[156] [201]NDUCTIVE [210]EACTANCE [146][155]"
- 1305 PRINT"[156] [211]ELECT [203]NOWN [214]ALUES AND PRESS [210]ETURN [146][155]"
- 1310 PRINT" 1. [198]REQUENCY([200]Z) & [201]NDUCTANCE([200]ENRYS)"
- 1315 PRINT" 2. [201]NPEDANCE([218]), [196].[195]. [210]ESISTANCE"
- 1317 Z=0:XC=0:L=0:R=0:F=0:P=6.28
- 1320 PRINT:INPUTS
- 1325 IFS=1THENGOTO1340
- 1330 IFS=2THENGOTO1365
- 1340 PRINT"[147]":PRINT"[156] [201]NDUCTIVE [210]EACTANCE [146][155]"
- 1345 PRINT" [197]NTER [198]REQUENCY([200]Z)":INPUTF
- 1350 PRINT" [197]NTER [201]NDUCTANCE([200]ENRYS)":INPUTL
- 1352 XL=P*(F*L)
- 1355 PRINT"[158] [201]NDUCTIVE [210]EACTANCE IS [146][155]"XL"[158] [207]HMS "
- 1356 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 1357 GETA$:IFA$=""THENGOTO1357
- 1358 IFA$="Y"THENGOTO1300
- 1359 IFA$="N"THENGOTO190
- 1365 PRINT"[147]":PRINT"[156] [201]NDUCTIVE [210]EACTANCE [146][155]"
- 1370 PRINT" [197]NTER [196].[195]. [210]ESISTANCE":INPUTR
- 1375 PRINT" [197]NTER [201]NPEDANCE":INPUTZ
- 1385 XL=SQR(Z^2-R^2)
- 1390 PRINT"[158] [201]NDUCTIVE [210]EACTANCE IS [146][155]"XL"[158] [207]HMS "
- 1392 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 1393 GETA$:IFA$=""THENGOTO1393
- 1394 IFA$="Y"THENGOTO1300
- 1395 IFA$="N"THENGOTO190
- 1400 GOSUB5000:PRINT" [195]APACTIVE [210]EACTANCE [146][155]"
- 1405 PRINT""
- 1410 PRINT" [197]NTER [198]REQUENCY([200]Z)":INPUTF
- 1415 PRINT" [197]NTER CAPACITANCE([198]ARADS)":INPUTC
- 1420 P=6.28:XC=1/(P*F*C)
- 1425 PRINT"[158] [195]APACTIVE [210]EACTANCE IS [146][155]"XC"[158] [207]HMS "
- 1430 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 1435 GETA$:IFA$=""THENGOTO1435
- 1440 IFA$="Y"THENGOTO1400
- 1445 IFA$="N"THENGOTO190
- 1500 PRINT"[147][159][200]OW MANY [201]NDUCTORS IN [208]ARALLEL[146][155]":PRINT:INPUTX
- 1505 R(L)=0:RT=0
- 1510 FORL=1TOX
- 1515 PRINT:PRINT"[197]NTER VALUE #";L;:INPUTR(L)
- 1520 NEXT
- 1525 FORL=1TOX
- 1530 RT=RT+(1/R(L)):NEXT
- 1535 RT=1/RT
- 1540 PRINT:PRINT"[158] [212]OTAL [201][206][196][213][195][212][193][206][195][197][160]: [146][155]";RT"[158] [200]ENRYS [146][155]"
- 1545 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 1550 GETA$:IFA$=""THENGOTO1550
- 1555 IFA$="Y"THENGOTO1500
- 1560 IFA$="N"THENGOTO190
- 1600 PRINT"[147][159] [200]OW MANY [195]APACTORS IN [211]ERIES [146][155]"
- 1602 PRINT" ( [205]ICROFARAD )":PRINT:INPUTX
- 1605 R(L)=0:RT=0
- 1610 FORL=1TOX
- 1615 PRINT:PRINT"[197]NTER VALUE #";L;:INPUTR(L)
- 1620 NEXT
- 1625 FORL=1TOX
- 1630 RT=RT+(1/R(L)):NEXT
- 1635 RT=1/RT
- 1640 PRINT:PRINT"[158] [212]OTAL [195][193][208][193][195][201][212][193][206][195][197][160]: [146][155]";RT"[158] MMF. [146][155]"
- 1645 FORT=1TO1000:NEXTT:PRINT" [212][210][217][160][193][199][193][201][206][160][217]/[206] [146][155]"
- 1650 GETA$:IFA$=""THENGOTO1650
- 1655 IFA$="Y"THENGOTO1600
- 1660 IFA$="N"THENGOTO190
- 5000 C1$="_"
- 5100 C1=23:C2=19:C3=24:C4=39:C5=59903
- 5200 FORJ=0TOC1:C2$=C2$+CHR$(32)+CHR$(157)+CHR$(17):NEXT:C2$=C2$+CHR$(145)
- 5300 FORJ=0TOC2:IFJ=0THENPOKE781,C3:SYSC5
- 5400 IFC1$="_"THENPRINT"";TAB(J);C2$:PRINT"";TAB(C4-J);C2$
- 5500 IFC1$="^"THENPOKE781,J:SYSC5:POKE781,C3-J:SYSC5
- 5600 NEXT:PRINT"[147]";:C2$="":RETURN
-