home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1989-01-05 | 6.4 KB | 169 lines
10 CLS 20 CLEAR 30 PRINT 40 PRINT " ";:FOR A=1 TO 56:PRINT CHR$(178);:NEXT A 50 PRINT " WEND WEND 60 PRINT " WEND RESISTOR-INDUCTOR CIRCUITS MENU. OPTIONS: WEND 70 PRINT " WEND WEND 80 PRINT " WEND 1) SERIES PARALLEL IMPEDANCE AT A GIVEN FREQUENCY WEND 90 PRINT " WEND 2) OHM'S LAW FOR RL CIRCUITS WEND 100 PRINT " WEND 3) SERIES RL PHASE ANGLE WEND 110 PRINT " WEND 4) SERIES RL VOLTAGE DIVIDER WEND 120 PRINT " WEND 5) GOTO MASTER MENU WEND 130 PRINT " WEND WEND 140 PRINT " ";:FOR A=1 TO 56:PRINT CHR$(178);:NEXT A 150 PRINT:PRINT 160 PRINT " INPUT NUMBER OF YOUR CHOICE"; 170 INPUT N 180 IF N=1 THEN GOTO 250 190 IF N=2 THEN GOTO 460 200 IF N=3 THEN GOTO 960 210 IF N=4 THEN GOTO 1210 220 IF N=5 THEN RUN "MENU" 230 PRINT:PRINT " INVALID INPUT":BEEP 240 GOTO 160 250 CLS 260 PRINT " SERIES/PARALLEL IMPEDANCE COMPUTATION" 270 PRINT:PRINT 280 PRINT " YOU WILL BE ASKED FOR RESISTANCE IN OHMS," 290 PRINT " INDUCTANCE IN HENRIES, AND FREQUENCY IN HERTZ." 300 PRINT " YOU MUST ENTER A VALUE FOR ALL THREE." 310 PRINT 320 GOSUB 1610 330 PRINT 340 PRINT " SERIES IMPEDANCE = ";SQR(R*R+X*X);" OHMS" 350 PRINT " SERIES PHASE ANGLE = ";ATN(X/R)*57.3;" DEGREES" 360 PRINT " PARALLEL IMPEDANCE = ";R*X/SQR(R*R+X*X);" OHMS" 370 PRINT " PARALLEL PHASE ANGLE = ";ATN(R/X)*57.3;" DEGREES" 380 PRINT " INDUCTIVE REACTANCE = ";X;" OHMS" 390 PRINT:PRINT " INPUT 1 TO REPEAT SERIES/PARALLEL IMPEDANCE COMPUTATION." 400 PRINT " INPUT 2 TO GO TO RL CIRCUITS MENU."; 410 INPUT N 420 IF N=1 THEN GOTO 250 430 IF N=2 THEN GOTO 10 440 PRINT:PRINT " INVALID INPUT":BEEP 450 GOTO 390 460 CLS 470 PRINT " OHM'S LAW FOR RESISTOR INDUCTOR CIRCUITS" 480 PRINT 490 PRINT " YOU WILL BE ASKED FOR RESISTOR VALUE, INDUCTOR 500 PRINT " VALUE, AND FREQUENCY AND VOLTAGE ACROSS, AND CURRENT 510 PRINT " THROUGH THE RESISTOR-INDUCTOR CIRCUIT. 520 PRINT 530 PRINT " INPUT 0 FOR 'ONLY ONE' OF THE VALUES." 540 GOSUB 1610 550 PRINT " INPUT VOLTAGE VT (PEAK) IN VOLTS"; 560 INPUT V 570 PRINT " INPUT CURRENT I (PEAK) IN AMPS"; 580 INPUT A 590 PRINT:PRINT " INPUT 1 FOR SERIES CIRCUIT, 2 FOR PARALLEL CIRCUIT"; 600 INPUT N 610 IF N=1 THEN GOTO 650 620 IF N=2 THEN GOTO 740 630 PRINT:PRINT " INVALID ANSWER":BEEP 640 GOTO 590 650 IF V=0 THEN V=A*SQR(R*R+X*X) 660 IF A=0 THEN A=V/SQR(R*R+X*X) 670 IF R=0 AND V<A*X THEN GOTO 940 680 IF R=0 THEN R=SQR(V*V-A*A*X*X)/A 690 IF (L=0 OR F=0) AND V<A*R THEN GOTO 940 700 IF L=0 THEN L=SQR(V*V-A*A*R*R)/(A*6.28*F) 710 IF F=0 THEN F=SQR(V*V-A*A*R*R)/(A*6.28*L) 720 D=ATN(6.28*F*L/R) 730 GOTO 820 740 IF V=0 THEN V=A*R*X/SQR(R*R+X*X) 750 IF A=0 THEN A=V*SQR(R*R+X*X)/(R*X) 760 IF R=0 AND A*X<=V THEN GOTO 940 770 IF R=0 THEN R=V*X/SQR(A*A*X*X-V*V) 780 IF (L=0 OR F=0) AND A*R<=V THEN GOTO 940 790 IF L=0 THEN L=V*R/(6.28*F*SQR(A*A*R*R-V*V)) 800 IF F=0 THEN F=V*R/(6.28*L*SQR(A*A*R*R-V*V)) 810 D=ATN(R/(6.28*F*L)) 820 PRINT:PRINT " VOLTAGE ACROSS RL CIRCUIT = ";V;" VOLTS" 830 PRINT " CURRENT = ";A;" AMPS" 840 PRINT " RESISTOR VALUE = ";R;" OHMS" 850 PRINT " INDUCTOR VALUE = ";L;" HENRIES" 860 PRINT " FREQUENCY = ";F;" HERTZ" 870 PRINT " CURRENT-VOLTAGE PHASE ANGLE = ";D*57.3;" DEGREES" 880 PRINT " POWER CONSUMPTION = ";V*A*COS(D)/2;" WATTS" 890 PRINT:PRINT " INPUT 1 TO REPEAT OHM'S LAW COMPUTATION." 900 PRINT " INPUT 2 TO GO TO RL CIRCUITS MENU."; 910 INPUT N 920 IF N=1 THEN GOTO 460 930 IF N=2 THEN GOTO 10 940 PRINT:PRINT " INVALID INPUT":BEEP<UNK! {0009}> 950 GOTO 890 960 CLS 970 PRINT " VOLTAGE PHASE ANGLE COMPUTATION OF RL CIRCUIT." 980 PRINT 990 PRINT " INPUT 0 FOR 'ONLY ONE' OF THE VALUES." 1000 GOSUB 1610 1010 PRINT " INPUT INDUCTOR VOLTAGE PHASE ANGLE IN DEGREES"; 1020 INPUT D 1030 D=-ABS(D/57.3) 1040 IF D=0 THEN D=ATN(X/R)-1.57 1050 IF L=0 THEN L=R/(6.28*F)*TAN(D+1.57) 1060 IF F=0 THEN F=R/(6.28*L)*TAN(D+1.57) 1070 IF R=0 THEN R=X/TAN(D+1.57) 1080 PRINT 1090 PRINT " INDUCTOR VOLTAGE LEADS VT BY ";-D*57.3;" DEGREES" 1100 PRINT " RESISTOR VOLTAGE LAGS BEHIND VT BY ";D*57.3+90;" DEGREES" 1110 PRINT " RESISTOR VALUE = ";R;" OHMS" 1120 PRINT " INDUCTOR VALUE = ";L;" HENRIES" 1130 PRINT " FREQUENCY = ";F;" HERTZ" 1140 PRINT:PRINT " INPUT 1 TO REPEAT PHASE COMPUTATION." 1150 PRINT " INPUT 2 TO GO TO RL CIRCUITS MENU."; 1160 INPUT N 1170 IF N=1 THEN GOTO 960 1180 IF N=2 THEN GOTO 10 1190 PRINT:PRINT " INVALID INPUT":BEEP 1200 GOTO 1140 1210 CLS 1220 PRINT " VOLTAGE DIVIDER COMPUTATION OF RL CIRCUIT." 1230 PRINT 1240 PRINT " YOU WILL BE ASKED FOR THE VALUE OF THE RESISTOR, 1250 PRINT " THE INDUCTOR, THE FREQUENCY AND VOLTAGE OF (VT), 1260 PRINT " AND THE VOLTAGE ACROSS INDUCTOR (L)." 1270 PRINT 1280 PRINT " VARPTR<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND TOTAL VOLTAGE ACROSS CIRCUIT (VT) SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>COLOR 1290 PRINT " CALL CALL 1300 PRINT " CALL<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND L SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>CALL<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND R SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>CALL 1310 PRINT " CALL CALL CALL 1320 PRINT " CLS<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND VL SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>CALL<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND VR SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>' 1330 PRINT 1340 PRINT " INPUT 0 FOR 'ONLY ONE' OF THE VALUES." 1350 GOSUB 1610 1360 PRINT " INPUT VOLTAGE VT IN VOLTS"; 1370 INPUT T 1380 PRINT " INPUT VOLTAGE VL ACROSS INDUCTOR IN VOLTS"; 1390 INPUT N 1400 IF N=0 THEN N=T*X/SQR(R*R+X*X) 1410 IF R=0 AND T<N THEN GOTO 1590 1420 IF R=0 THEN R=X*SQR(T*T-N*N)/N 1430 IF F*L=0 AND T<=N THEN GOTO 1590 1440 IF L=0 THEN L=N*R/(6.28*F*SQR(T*T-N*N)) 1450 IF F=0 THEN F=N*R/(6.28*L*SQR(T*T-N*N)) 1460 IF T=0 THEN T=N*SQR(R*R+X*X)/X 1470 PRINT 1480 PRINT " VT = ";T;" VOLTS" 1490 PRINT " RESISTOR VALUE = ";R;" OHMS" 1500 PRINT " INDUCTOR VALUE = ";L;" HENRIES" 1510 PRINT " FREQUENCY = ";F;" HERTZ" 1520 PRINT " VOLTAGE ACROSS INDUCTOR = ";N;" VOLTS" 1530 PRINT " VOLTAGE ACROSS RESISTOR = ";T*R/SQR(R*R+X*X);" VOLTS" 1540 PRINT:PRINT " INPUT 1 TO REPEAT VOLTAGE DIVIDER COMPUTATION." 1550 PRINT " INPUT 2 TO GO TO RL CIRCUITS MENU."; 1560 INPUT M 1570 IF M=1 THEN GOTO 1210 1580 IF M=2 THEN GOTO 10 1590 PRINT:PRINT " INVALID INPUT":BEEP 1600 GOTO 1540 1610 PRINT:PRINT " INPUT RESISTOR VALUE ON OHMS"; 1620 INPUT R 1630 PRINT " INPUT INDUCTOR VALUE IN HENRIES"; 1640 INPUT L 1650 PRINT " INPUT FREQUENCY IN HERTZ"; 1660 INPUT F 1670 IF F*L<>0 THEN X=6.28*F*L 1680 RETURN