home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1986-11-23 | 7.6 KB | 201 lines
1 GOSUB 5037:SCREEN 0,0,0 :COLOR 14,1,1:CLS : KEY OFF :RANDOMIZE VAL(RIGHT$(TIME$,2)):WIDTH 80 10 ' PC21 Series/Parallel circuits 11 I$= "Incorrect":C$="Correct!!":GOTO 13 12 COLOR 15,1,1:PRINT O$;:COLOR 14,1,1:RETURN 13 Q1=10 40 GOSUB 13000 90 LOCATE 23,1:COLOR 15,1,1:INPUT "Enter name:",N$ 95 IF LEN(N$)<1 THEN 90 120 GOSUB 7000:GOSUB 5000 181 GOTO 210 183 O$="Given:":GOSUB 12:PRINT " R1 = ";R1;" Ohms R2 = ";R2;" Ohms" 184 PRINT " R3 = ";R3;" Ohms V = ";V;" Volts" 185 PRINT FF$:PRINT GG$:PRINT : RETURN 210 GOSUB 4000 220 O$="1.":GOSUB 12:INPUT " What is the total resistance of the circuit";SR$ 242 GOSUB 4000 245 S=VAL(SR$):IF ABS(S-R)<=0.06*R THEN 620 260 W=W+1:PRINT:PRINT I$:PRINT : ON W GOTO 290,360,515,560 290 PRINT "Observe that the parallel combination of R2 and R3 is in series":PRINT 300 PRINT "with R1. So, find the resistance of the parallel combination":PRINT 310 PRINT "and consider this to be in series with R1. So:":PRINT:GOTO 220 340 PRINT "So:":PRINT:GOTO 220 360 PRINT "What is the resistance of the parallel combination":PRINT 370 INPUT "of R2 and R3";SP$ 390 GOSUB 4000:S=VAL(SP$):IF ABS(S-R4)<0.06*R4 THEN 500 400 W4=W4+1:PRINT:PRINT I$:PRINT :T0=T0+1:ON W4 GOTO 430,470 430 PRINT "To find the resistance of the parallel branch :":PRINT 440 PRINT "Recall: 1/R = 1/R2 + 1/R3":PRINT 450 PRINT "So:":PRINT :GOTO 360 470 PRINT "1/R = 1/R2 + 1/R3":PRINT 472 PRINT "1/R = [1/";R2;"] + [1/";R3;"]":PRINT 474 PRINT "1/R = [";INT(1000/R2)/1000;"] + [";INT(1000/R3)/1000;"]":PRINT 476 PRINT "1/R = ";INT(1000/R4)/1000:PRINT 478 PRINT "R(p) = ";R4;" Ohms. Now:":PRINT :GOTO 220 500 PRINT:PRINT C$:PRINT :P0=P0+1:T0=T0+1:GOTO 478 515 FF$="Found: r(p) ="+STR$(R4)+ " Ohms" 516 PRINT FF$ 520 PRINT :PRINT "Again: The combination of R2 and R3 is ":PRINT 530 PRINT "in series with R1.":PRINT:GOTO 340 560 PRINT "Since R(p) is in series with R1, we get:": PRINT 570 PRINT "R(t) = R1 + R(P)": PRINT 580 PRINT "R(t) = ";R1;" + ";R4:PRINT 590 PRINT "R(t) = ";R;"Ohms.":PRINT:GOTO 640 620 PRINT : PRINT C$:PRINT :GOTO 590 640 P0=P0+4-W:T0=T0+4:W=0:W4=0:GOSUB 2000 645 IF LEN(FF$)>8 THEN 650 646 FF$="Found:" 650 FF$=FF$+" R(t) = "+STR$(R) + " Ohms" 660 GOSUB 4000 680 O$="2.":GOSUB 12:PRINT " What is the total current drawn" 690 INPUT "by the circuit";SI$ 705 GOSUB 4000 710 S=VAL(SI$):IF ABS(S-I)<0.06*I THEN 860 730 PRINT :PRINT I$:PRINT:W=W+1:ON W GOTO 760,810 760 PRINT "Use Ohm's Law, V = IR where R = R(t)":PRINT 790 PRINT "So:":PRINT :GOTO 680 810 PRINT "From Ohm's Law, V = IR, we have:":PRINT 820 PRINT "I = V/R or":PRINT 830 PRINT "I = ";V;" / ";R:PRINT 840 PRINT "I = ";I;" Amperes.":PRINT :GOTO 880 860 PRINT : PRINT C$:PRINT :GOTO 840 880 P0=P0 + 2 - W:T0=T0+2:W=0:GOSUB 2000 890 GG$=" I = "+STR$(I)+" Amps" 900 GOSUB 4000 910 O$ = "3.":GOSUB 12:PRINT "What is the potential drop" 920 INPUT "across R1";SV$ 940 GOSUB 4000:S=VAL(SV$):IF ABS(S-V1)<0.06*V1 THEN 1090 960 PRINT:PRINT I$:PRINT :W=W+1:ON W GOTO 990,1030 990 PRINT "Use Ohm's Law: V = IR where I is the ":PRINT 1000 PRINT "current flowing through R1.":PRINT:PRINT "So:":PRINT :GOTO 910 1030 PRINT "Since the total current flows through R1,":PRINT 1040 PRINT "The potential V1 across R1 is:":PRINT 1050 PRINT "V1 = I1 * R1":PRINT 1060 PRINT "V1 = ";I;" * ";R1:PRINT 1070 PRINT "V1 = ";V1;" Volts.":PRINT :GOTO 1110 1090 PRINT : PRINT C$:PRINT : GOTO 1070 1110 P0=P0+2-W:W=0:T0=T0+2:GOSUB 2000 1120 GG$=GG$+" V1 = "+STR$(V1)+" Volts" 1130 GOSUB 4000 1140 O$="4.":GOSUB 12:PRINT " What is the potential drop across" 1150 INPUT "the parallel combination";SP$ 1170 GOSUB 4000:S=VAL(SP$):IF ABS(S-V2)<=0.06*V2 THEN 1400 1210 PRINT:PRINT I$:PRINT:W=W+1:ON W GOTO 1240,1300,1350 1240 PRINT "Observe: The sum of the potential ":PRINT 1250 PRINT "drops across R1 and the parallel ":PRINT 1260 PRINT "combination must equal the voltage":PRINT 1270 PRINT "supplied by the battery.":PRINT:PRINT "So:":PRINT :GOTO 1140 1300 PRINT "Now, V(b) = V1 + V(p) So solve this":PRINT 1310 PRINT "relationship for V(p).":PRINT :PRINT "So:":PRINT :GOTO 1140 1350 PRINT "From V(b) = V1 V(p) we have:":PRINT 1360 PRINT "V(p) = V(b) - V1":PRINT 1370 PRINT "V(p) = ";V;" - ";V1:PRINT 1380 PRINT "V(p) = ";V2;" Volts.":PRINT :GOTO 1420 1400 PRINT :PRINT C$:PRINT :GOTO 1380 1420 P0=P0+3-W:T0=T0+3 1430 Z$(1) = "R2":Z(1)=I2:X$(1) ="V2":Z(2)=I3:X$(2) = "V2":W$(1)="I2" 1440 W$(2) = "I3":Z$(2) = "R3":X(1) =R2:X(2)=R3 1450 GOSUB 2000:GOSUB 4000 1460 FOR K=1 TO 2 1470 O$=STR$(K+4)+".":GOSUB 12:PRINT " What is the current though ";Z$(K);:INPUT SU$ 1520 GOSUB 4000:S=VAL(SU$):IF ABS(S-Z(K))<=0.06*Z(K) THEN 1830 1540 PRINT :PRINT I$:PRINT :W=W+1:ON W GOTO 1570,1610,1780 1570 PRINT "Use Ohm's Law: V = IR Where V is the ":PRINT"Potential across ";Z$(K);".":PRINT 1580 PRINT "So:":PRINT:GOTO 1470 1610 PRINT "What is the potential across ";Z$(K);:INPUT SM$ 1640 S=VAL(SM$):GOSUB 4000:IF ABS(S-V2)<=0.06*V2 THEN 1740 1650 PRINT :PRINT I$:PRINT :T0=T0+1:PRINT "In a parallel circuit, the potential" 1660 PRINT "Across any resistor is the same as the" 1670 PRINT "potential across the combination. Thus:" 1710 PRINT X$(K);" = ";V2;" Volts. So, finally":PRINT :GOTO 1570 1740 PRINT :PRINT C$:PRINT:T0=T0+1:P0=P0+1:GOTO 1710 1780 PRINT "From Ohm's Law, we have:":PRINT 1790 PRINT W$(K);" = ";X$(K);"/";Z$(K):PRINT 1800 PRINT W$(K);" = ";V2;"/";X(K):PRINT 1810 PRINT W$(K);" = ";Z(K);" Amperes.":PRINT:GOTO 1850 1830 PRINT:PRINT C$:GOTO 1810 1850 P0=P0+3-W:T0=T0+3:GOSUB 2000 1855 GOSUB 4000 1860 NEXT 1870 PRINT "Observe that the sum of the currents":PRINT 1880 PRINT "thru R2 and R3 is equal to the":PRINT 1890 PRINT "Total current in the circuit.":PRINT 1900 PRINT "I.E. I2 + I3 = I(t)":PRINT 1910 GOSUB 2000:OB=1:GOSUB 5000 1920 A$="PC21 Series/Parallel Analysis":GOTO 9700 2000 LOCATE 25,27:PRINT "Hit any key to continue ...";:WHILE INKEY$ = "" : WEND : LOCATE 25,27:PRINT STRING$(27,32);:RETURN 4000 CLS : LOCATE 2,1 : GOTO 183 5000 ' 5001 ' Draw Battery Symbol 5002 ' 5003 SCREEN 1,0,0:COLOR 1,2:DRAW"s4 c1 bm165,150 u10 l2 d20 r2 u10 bm164,150 p1,1 bm160,150 u5 l10 d10 r10 u 5 bm159,150 p1,1" 5004 LOCATE 17,20:PRINT "B1":LOCATE 22,16:PRINT USING "## Volt";V; 5005 IF V<>1 THEN PRINT "s"; 5006 ' 5007 ' Draw to R1, draw resistor 5008 ' 5009 DRAW "m10,150 m10,40 r40" 5010 GOSUB 5028 5011 LOCATE 4,11:POKE 78,2:PRINT "R1":LOCATE 7,8:PRINT USING "## Ohm";R1;:IF R1<>1 THEN PRINT "s";:POKE 78,1 ELSE POKE 78,1 5012 ' 5013 ' Draw to R1,R2; draw resitors 5014 ' 5015 DRAW "r35 u20 r5":GOSUB 5028 5016 DRAW "r5 d40 bl74 bu20 d20 r5" 5017 GOSUB 5028:DRAW "R5" 5018 LOCATE 1,23:POKE 78,2:PRINT "R2":LOCATE 4,20:PRINT USING "## Ohm";R2;:IF R2<>1 THEN PRINT "s":POKE 78,1 ELSE POKE 78,1 5019 LOCATE 6,23:POKE 78,2:PRINT "R3":LOCATE 9,20:PRINT USING "## Ohm";R3;:IF R3<>1 THEN PRINT "s":POKE 78,1 ELSE POKE 78,1 5020 ' 5021 ' Draw to battery 5022 ' 5023 DRAW"u20m310,40m310,150m166,150":IF OB=1 THEN 5030 5024 LOCATE 25,7:PRINT "Hit any key to continue ...";:WHILE INKEY$ ="":WEND:SCREEN 0,0,0:WIDTH 80:COLOR 14,1,1:RETURN 5025 ' 5026 ' Subroutine to draw a resistor 5027 ' 5028 RES$ ="e4 f8 e4":DRAW"c2" 5029 FOR II=1 TO 4:DRAW RES$:NEXT:DRAW "C1":RETURN 5030 FOR I=143 TO 8 STEP -5:PUT (I,145),E:FOR D =1 TO 100:NEXT:PUT (I,145),E:NEXT:FOR I=145 TO 35 STEP -5:PUT(8,I),E:FOR D=1 TO 100:NEXT:PUT (8,I),E:NEXT:FOR I=8 TO 48 STEP 5:PUT(I,35),E:FOR D=1 TO 100:NEXT:PUT(I,35),E:NEXT 5031 FOR I=48 TO 112 STEP 2:PUT(I,35),E:FOR D=1 TO 100:NEXT:PUT(I,35),E:NEXT:FOR I=112 TO 147 STEP 5:PUT(I,35),E:FOR D=1 TO 100:NEXT:PUT(I,35),E:NEXT 5032 FOR I=1 TO 20 STEP 5:PUT(147,35-I),E:PUT(147,35+I),E:FOR D=1 TO 100:NEXT:PUT(147,35-I),E:PUT(147,35+I),E:NEXT 5033 FOR I=147 TO 220 STEP 2:PUT(I,15),E:PUT(I,55),E:FOR D=1 TO 100:NEXT:PUT(I,15),E:PUT(I,55),E:NEXT 5034 FOR I=20 TO 0 STEP -5:PUT(220,35-I),E:PUT(220,35+I),E:FOR D=1 TO 100:NEXT:PUT(220,35-I),E:PUT(220,35+I),E:NEXT:FOR I=220 TO 305 STEP 5:PUT(I,35),E:FOR D=1 TO 100:NEXT:PUT(I,35),E:NEXT 5035 FOR I=35 TO 145 STEP 5:PUT(308,I),E:FOR D=1 TO 100:NEXT:PUT(308,I),E:NEXT:FOR I=308 TO 163 STEP -5:PUT(I,145),E:FOR D=1 TO 100:NEXT:PUT(I,145),E:NEXT 5036 RETURN 5037 SCREEN 1,0,0:COLOR 1,2:POKE 78,2:DIM E(5):LOCATE 1,1:PRINT "e":GET (0,0)-(5,7),E:CLS:POKE 78,3:RETURN 6900 DATA 2,4,12,5,3,3,6,12,7,4,4,8,24,10,6,6,5,20,10,4,8,16,48,20,12,5,3,6,7,2,6,10,40,14,8,6,12,36,15,9 7000 Z=INT(8*RND):IF Z<=0 OR Z>8 THEN 7000 7040 FOR L=1 TO Z:READ R1,R2,R3,R,R4:NEXT L 7070 I=1+INT(9*RND):IF I=1 THEN 7070 7080 IF RND>0.4 THEN 7110 7085 I=I+0.5 7110 V=I*R 7120 V1=I*R1:V2=V-V1:I2=V2/R2:I2=INT(1000*I2)/1000:I3=INT(1000*V2/R3)/1000 7190 RETURN 8300 LOCATE B,A:PRINT STRING$(6,TB$):RETURN 8310 FOR I = Y TO Y+4:LOCATE X,I:PRINT TB$;:NEXT:RETURN 9700 ' 9702 SCREEN 0,0,0:COLOR 14,1,1:CLS:LOCATE 8,1 9704 PRINT N$;" ";:COLOR 15,1,1:PRINT A$:COLOR 14,1,1:PRINT 9705 Q=INT(100*P0/T0+0.4) 9706 COLOR 15,1,1:PRINT "Percent Score:";:COLOR 14,1,1:PRINT " ";Q;"% "; 9707 COLOR 30,1,1 9708 IF Q=100 THEN PRINT "Excellent Work.":GOTO 9999 9712 IF Q>=90 THEN PRINT "Well done.":GOTO 9999 9714 IF Q>=80 THEN PRINT "Satisfactory.":GOTO 9999 9716 IF Q>=70 THEN PRINT "Review suggested.":GOTO 9999 9718 IF Q>=60 THEN PRINT "Re-run program.":GOTO 9999 9720 PRINT "See instructor." 9999 COLOR 14,1,1:END 13000 CLS:LOCATE ,,0 13010 FOR J = 2 TO 22 STEP 20 13020 LOCATE J,1:PRINT TAB(4);:COLOR 15,1,1:PRINT STRING$(74,178) : COLOR 14,1,1:NEXT 13030 FOR J = 3 TO 22 : LOCATE J,1 : PRINT TAB(4);:COLOR 15,1,1:PRINT CHR$(178);:COLOR 14,1,1 13040 LOCATE J,77:COLOR 15,1,1 : PRINT CHR$(178) : COLOR 14,1,1 13050 NEXT J:LOCATE 6,1:PRINT TAB(4);:COLOR 15,1,1 : PRINT CHR$(178);: COLOR 14,1,1 : PRINT TAB(29); 13060 PRINT " MicroPhys Program # 21" 13061 LOCATE 12,1: PRINT TAB(4);: COLOR 15,1,1 13070 PRINT CHR$(178);:COLOR 14,1,1 : PRINT TAB(28);:COLOR 15,1,1:PRINT "Series/Parallel Analysis":COLOR 14,1,1 13080 LOCATE 18,1:PRINT TAB(4);:COLOR 15,1,1:PRINT CHR$(178);:COLOR 14,1,1:PRINT TAB(28); 13090 PRINT "Copyright: A.I. Rose 1980":RETURN