home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / circuits / circuits.bas (.txt)
Encoding:
GW-BASIC  |  1986-11-23  |  7.6 KB  |  201 lines

  1. 1  GOSUB 5037:SCREEN 0,0,0 :COLOR 14,1,1:CLS : KEY OFF :RANDOMIZE VAL(RIGHT$(TIME$,2)):WIDTH 80
  2. 10  ' PC21 Series/Parallel circuits
  3. 11  I$= "Incorrect":C$="Correct!!":GOTO 13
  4. 12  COLOR 15,1,1:PRINT O$;:COLOR 14,1,1:RETURN
  5. 13  Q1=10
  6. 40  GOSUB 13000
  7. 90  LOCATE 23,1:COLOR 15,1,1:INPUT "Enter name:",N$
  8. 95  IF LEN(N$)<1 THEN 90
  9. 120  GOSUB 7000:GOSUB 5000
  10. 181  GOTO 210
  11. 183  O$="Given:":GOSUB 12:PRINT " R1 = ";R1;" Ohms  R2 = ";R2;" Ohms"
  12. 184  PRINT "       R3 = ";R3;" Ohms  V = ";V;" Volts"
  13. 185  PRINT FF$:PRINT GG$:PRINT : RETURN
  14. 210  GOSUB 4000
  15. 220  O$="1.":GOSUB 12:INPUT " What is the total resistance of the circuit";SR$
  16. 242  GOSUB 4000
  17. 245  S=VAL(SR$):IF ABS(S-R)<=0.06*R THEN 620
  18. 260  W=W+1:PRINT:PRINT I$:PRINT : ON W GOTO 290,360,515,560
  19. 290  PRINT "Observe that the parallel combination of R2 and R3 is in series":PRINT
  20. 300  PRINT "with R1. So, find the resistance of the parallel combination":PRINT
  21. 310  PRINT "and consider this to be in series with R1.   So:":PRINT:GOTO 220
  22. 340  PRINT "So:":PRINT:GOTO 220
  23. 360  PRINT "What is the resistance of the parallel combination":PRINT
  24. 370  INPUT "of R2 and R3";SP$
  25. 390  GOSUB 4000:S=VAL(SP$):IF ABS(S-R4)<0.06*R4 THEN 500
  26. 400  W4=W4+1:PRINT:PRINT I$:PRINT :T0=T0+1:ON W4 GOTO 430,470
  27. 430  PRINT "To find the resistance of the parallel branch :":PRINT
  28. 440  PRINT "Recall: 1/R = 1/R2 + 1/R3":PRINT
  29. 450  PRINT "So:":PRINT :GOTO 360
  30. 470  PRINT "1/R  = 1/R2 + 1/R3":PRINT
  31. 472  PRINT "1/R  = [1/";R2;"] + [1/";R3;"]":PRINT
  32. 474  PRINT "1/R  = [";INT(1000/R2)/1000;"] + [";INT(1000/R3)/1000;"]":PRINT
  33. 476  PRINT "1/R  = ";INT(1000/R4)/1000:PRINT
  34. 478  PRINT "R(p) = ";R4;" Ohms.  Now:":PRINT :GOTO 220
  35. 500  PRINT:PRINT C$:PRINT :P0=P0+1:T0=T0+1:GOTO 478
  36. 515  FF$="Found: r(p) ="+STR$(R4)+ " Ohms"
  37. 516  PRINT FF$
  38. 520  PRINT :PRINT "Again: The combination of R2 and R3 is ":PRINT
  39. 530  PRINT "in series with R1.":PRINT:GOTO 340
  40. 560  PRINT "Since R(p) is in series with R1, we get:": PRINT
  41. 570  PRINT "R(t) = R1 + R(P)": PRINT
  42. 580  PRINT "R(t) = ";R1;" + ";R4:PRINT
  43. 590  PRINT "R(t) = ";R;"Ohms.":PRINT:GOTO 640
  44. 620  PRINT : PRINT C$:PRINT :GOTO 590
  45. 640  P0=P0+4-W:T0=T0+4:W=0:W4=0:GOSUB 2000
  46. 645  IF LEN(FF$)>8 THEN 650
  47. 646  FF$="Found:"
  48. 650  FF$=FF$+" R(t) = "+STR$(R) + " Ohms"
  49. 660  GOSUB 4000
  50. 680  O$="2.":GOSUB 12:PRINT " What is the total current drawn"
  51. 690  INPUT "by the circuit";SI$
  52. 705  GOSUB 4000
  53. 710  S=VAL(SI$):IF ABS(S-I)<0.06*I THEN 860
  54. 730  PRINT :PRINT I$:PRINT:W=W+1:ON W GOTO 760,810
  55. 760  PRINT "Use Ohm's Law,  V = IR  where R = R(t)":PRINT
  56. 790  PRINT "So:":PRINT :GOTO 680
  57. 810  PRINT "From Ohm's Law, V = IR, we have:":PRINT
  58. 820  PRINT "I = V/R  or":PRINT
  59. 830  PRINT "I = ";V;" / ";R:PRINT
  60. 840  PRINT "I = ";I;" Amperes.":PRINT :GOTO 880
  61. 860  PRINT : PRINT C$:PRINT :GOTO 840
  62. 880  P0=P0 + 2 - W:T0=T0+2:W=0:GOSUB 2000
  63. 890  GG$="       I = "+STR$(I)+" Amps"
  64. 900  GOSUB 4000
  65. 910  O$ = "3.":GOSUB 12:PRINT "What is the potential drop"
  66. 920  INPUT "across R1";SV$
  67. 940  GOSUB 4000:S=VAL(SV$):IF ABS(S-V1)<0.06*V1 THEN 1090
  68. 960  PRINT:PRINT I$:PRINT :W=W+1:ON W GOTO 990,1030
  69. 990  PRINT "Use Ohm's Law: V = IR  where I is the ":PRINT
  70. 1000  PRINT "current flowing through R1.":PRINT:PRINT "So:":PRINT :GOTO 910
  71. 1030  PRINT "Since the total current flows through R1,":PRINT
  72. 1040  PRINT "The potential V1 across R1 is:":PRINT
  73. 1050  PRINT "V1 = I1 * R1":PRINT
  74. 1060  PRINT "V1 = ";I;" * ";R1:PRINT
  75. 1070  PRINT "V1 = ";V1;" Volts.":PRINT :GOTO 1110
  76. 1090  PRINT : PRINT C$:PRINT : GOTO 1070
  77. 1110  P0=P0+2-W:W=0:T0=T0+2:GOSUB 2000
  78. 1120  GG$=GG$+" V1 = "+STR$(V1)+" Volts"
  79. 1130  GOSUB 4000
  80. 1140  O$="4.":GOSUB 12:PRINT " What is the potential drop across"
  81. 1150  INPUT "the parallel combination";SP$
  82. 1170  GOSUB 4000:S=VAL(SP$):IF ABS(S-V2)<=0.06*V2 THEN 1400
  83. 1210  PRINT:PRINT I$:PRINT:W=W+1:ON W GOTO 1240,1300,1350
  84. 1240  PRINT "Observe: The sum of the potential ":PRINT
  85. 1250  PRINT "drops across R1 and the parallel ":PRINT
  86. 1260  PRINT "combination must equal the voltage":PRINT
  87. 1270  PRINT "supplied by the battery.":PRINT:PRINT "So:":PRINT :GOTO 1140
  88. 1300  PRINT "Now, V(b) = V1 + V(p)  So solve this":PRINT
  89. 1310  PRINT "relationship for V(p).":PRINT :PRINT "So:":PRINT :GOTO 1140
  90. 1350  PRINT "From V(b) = V1 V(p)  we have:":PRINT
  91. 1360  PRINT "V(p) = V(b) - V1":PRINT
  92. 1370  PRINT "V(p) = ";V;" - ";V1:PRINT
  93. 1380  PRINT "V(p) = ";V2;" Volts.":PRINT :GOTO 1420
  94. 1400  PRINT :PRINT C$:PRINT :GOTO 1380
  95. 1420  P0=P0+3-W:T0=T0+3
  96. 1430  Z$(1) = "R2":Z(1)=I2:X$(1) ="V2":Z(2)=I3:X$(2) = "V2":W$(1)="I2"
  97. 1440  W$(2) = "I3":Z$(2) = "R3":X(1) =R2:X(2)=R3
  98. 1450  GOSUB 2000:GOSUB 4000
  99. 1460  FOR K=1 TO 2
  100. 1470  O$=STR$(K+4)+".":GOSUB 12:PRINT " What is the current though ";Z$(K);:INPUT SU$
  101. 1520  GOSUB 4000:S=VAL(SU$):IF ABS(S-Z(K))<=0.06*Z(K) THEN 1830
  102. 1540  PRINT :PRINT I$:PRINT :W=W+1:ON W GOTO 1570,1610,1780
  103. 1570  PRINT "Use Ohm's Law: V = IR  Where V is the ":PRINT"Potential across ";Z$(K);".":PRINT
  104. 1580  PRINT "So:":PRINT:GOTO 1470
  105. 1610  PRINT "What is the potential across ";Z$(K);:INPUT SM$
  106. 1640  S=VAL(SM$):GOSUB 4000:IF ABS(S-V2)<=0.06*V2 THEN 1740
  107. 1650  PRINT :PRINT I$:PRINT :T0=T0+1:PRINT "In a parallel circuit, the potential"
  108. 1660  PRINT "Across any resistor is the same as the"
  109. 1670  PRINT "potential across the combination. Thus:"
  110. 1710  PRINT X$(K);" = ";V2;" Volts. So, finally":PRINT :GOTO 1570
  111. 1740  PRINT :PRINT C$:PRINT:T0=T0+1:P0=P0+1:GOTO 1710
  112. 1780  PRINT "From Ohm's Law, we have:":PRINT
  113. 1790  PRINT W$(K);" = ";X$(K);"/";Z$(K):PRINT
  114. 1800  PRINT W$(K);" = ";V2;"/";X(K):PRINT
  115. 1810  PRINT W$(K);" = ";Z(K);" Amperes.":PRINT:GOTO 1850
  116. 1830  PRINT:PRINT C$:GOTO 1810
  117. 1850  P0=P0+3-W:T0=T0+3:GOSUB 2000
  118. 1855  GOSUB 4000
  119. 1860  NEXT
  120. 1870  PRINT "Observe that the sum of the currents":PRINT
  121. 1880  PRINT "thru R2 and R3 is equal to the":PRINT
  122. 1890  PRINT "Total current in the circuit.":PRINT
  123. 1900  PRINT "I.E. I2 + I3 = I(t)":PRINT
  124. 1910  GOSUB 2000:OB=1:GOSUB 5000
  125. 1920  A$="PC21 Series/Parallel Analysis":GOTO 9700
  126. 2000  LOCATE 25,27:PRINT "Hit any key to continue ...";:WHILE INKEY$ = "" : WEND : LOCATE 25,27:PRINT STRING$(27,32);:RETURN
  127. 4000  CLS : LOCATE 2,1 : GOTO 183
  128. 5000  '
  129. 5001  ' Draw Battery Symbol
  130. 5002  '
  131. 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"
  132. 5004  LOCATE 17,20:PRINT "B1":LOCATE 22,16:PRINT USING "## Volt";V;
  133. 5005  IF V<>1 THEN PRINT "s";
  134. 5006  '
  135. 5007  ' Draw to R1, draw resistor
  136. 5008  '
  137. 5009  DRAW "m10,150 m10,40 r40"
  138. 5010  GOSUB 5028
  139. 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
  140. 5012  '
  141. 5013  ' Draw to R1,R2; draw resitors
  142. 5014  '
  143. 5015  DRAW "r35 u20 r5":GOSUB 5028
  144. 5016  DRAW "r5 d40 bl74 bu20 d20 r5"
  145. 5017  GOSUB 5028:DRAW "R5"
  146. 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
  147. 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
  148. 5020  '
  149. 5021  ' Draw to battery
  150. 5022  '
  151. 5023  DRAW"u20m310,40m310,150m166,150":IF OB=1 THEN 5030
  152. 5024  LOCATE 25,7:PRINT "Hit any key to continue ...";:WHILE INKEY$ ="":WEND:SCREEN 0,0,0:WIDTH 80:COLOR 14,1,1:RETURN
  153. 5025  '
  154. 5026  ' Subroutine to draw a resistor
  155. 5027  '
  156. 5028  RES$ ="e4 f8 e4":DRAW"c2"
  157. 5029  FOR II=1 TO 4:DRAW RES$:NEXT:DRAW "C1":RETURN
  158. 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
  159. 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
  160. 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
  161. 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
  162. 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
  163. 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
  164. 5036  RETURN
  165. 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
  166. 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
  167. 7000  Z=INT(8*RND):IF Z<=0 OR Z>8 THEN 7000
  168. 7040  FOR L=1 TO Z:READ R1,R2,R3,R,R4:NEXT L
  169. 7070  I=1+INT(9*RND):IF I=1 THEN 7070
  170. 7080  IF RND>0.4 THEN 7110
  171. 7085  I=I+0.5
  172. 7110  V=I*R
  173. 7120  V1=I*R1:V2=V-V1:I2=V2/R2:I2=INT(1000*I2)/1000:I3=INT(1000*V2/R3)/1000
  174. 7190  RETURN
  175. 8300  LOCATE B,A:PRINT STRING$(6,TB$):RETURN
  176. 8310  FOR I = Y TO Y+4:LOCATE X,I:PRINT TB$;:NEXT:RETURN
  177. 9700  '
  178. 9702  SCREEN 0,0,0:COLOR 14,1,1:CLS:LOCATE 8,1
  179. 9704  PRINT N$;" ";:COLOR 15,1,1:PRINT A$:COLOR 14,1,1:PRINT
  180. 9705  Q=INT(100*P0/T0+0.4)
  181. 9706  COLOR 15,1,1:PRINT "Percent Score:";:COLOR 14,1,1:PRINT " ";Q;"% ";
  182. 9707  COLOR 30,1,1
  183. 9708  IF Q=100 THEN PRINT "Excellent Work.":GOTO 9999
  184. 9712  IF Q>=90 THEN PRINT "Well done.":GOTO 9999
  185. 9714  IF Q>=80 THEN PRINT "Satisfactory.":GOTO 9999
  186. 9716  IF Q>=70 THEN PRINT "Review suggested.":GOTO 9999
  187. 9718  IF Q>=60 THEN PRINT "Re-run program.":GOTO 9999
  188. 9720  PRINT "See instructor."
  189. 9999  COLOR 14,1,1:END
  190. 13000  CLS:LOCATE ,,0
  191. 13010  FOR J = 2 TO 22 STEP 20
  192. 13020  LOCATE J,1:PRINT TAB(4);:COLOR 15,1,1:PRINT STRING$(74,178) : COLOR 14,1,1:NEXT
  193. 13030  FOR J = 3 TO 22 : LOCATE J,1 : PRINT TAB(4);:COLOR 15,1,1:PRINT CHR$(178);:COLOR 14,1,1
  194. 13040  LOCATE J,77:COLOR 15,1,1 : PRINT CHR$(178) : COLOR 14,1,1
  195. 13050  NEXT J:LOCATE 6,1:PRINT TAB(4);:COLOR 15,1,1 : PRINT CHR$(178);: COLOR 14,1,1 : PRINT TAB(29);
  196. 13060  PRINT " MicroPhys Program # 21"
  197. 13061  LOCATE 12,1: PRINT TAB(4);: COLOR 15,1,1
  198. 13070  PRINT CHR$(178);:COLOR 14,1,1 : PRINT TAB(28);:COLOR 15,1,1:PRINT "Series/Parallel Analysis":COLOR 14,1,1
  199. 13080  LOCATE 18,1:PRINT TAB(4);:COLOR 15,1,1:PRINT CHR$(178);:COLOR 14,1,1:PRINT TAB(28);
  200. 13090  PRINT "Copyright: A.I. Rose 1980":RETURN
  201.