home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / math / formulas / resind.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1989-01-05  |  6.4 KB  |  169 lines

  1. 10  CLS
  2. 20  CLEAR
  3. 30  PRINT
  4. 40  PRINT "          ";:FOR A=1 TO 56:PRINT CHR$(178);:NEXT A
  5. 50  PRINT "          WEND                                                      WEND
  6. 60  PRINT "          WEND       RESISTOR-INDUCTOR CIRCUITS MENU.  OPTIONS:     WEND
  7. 70  PRINT "          WEND                                                      WEND
  8. 80  PRINT "          WEND  1) SERIES PARALLEL IMPEDANCE AT A GIVEN FREQUENCY   WEND
  9. 90  PRINT "          WEND  2) OHM'S LAW FOR RL CIRCUITS                        WEND
  10. 100  PRINT "          WEND  3) SERIES RL PHASE ANGLE                            WEND
  11. 110  PRINT "          WEND  4) SERIES RL VOLTAGE DIVIDER                        WEND
  12. 120  PRINT "          WEND  5) GOTO MASTER MENU                                 WEND
  13. 130  PRINT "          WEND                                                      WEND
  14. 140  PRINT "          ";:FOR A=1 TO 56:PRINT CHR$(178);:NEXT A
  15. 150  PRINT:PRINT
  16. 160  PRINT "          INPUT NUMBER OF YOUR CHOICE";
  17. 170  INPUT N
  18. 180  IF N=1 THEN GOTO 250
  19. 190  IF N=2 THEN GOTO 460
  20. 200  IF N=3 THEN GOTO 960
  21. 210  IF N=4 THEN GOTO 1210
  22. 220  IF N=5 THEN RUN "MENU"
  23. 230  PRINT:PRINT "          INVALID INPUT":BEEP
  24. 240  GOTO 160
  25. 250  CLS
  26. 260  PRINT "                SERIES/PARALLEL IMPEDANCE COMPUTATION"
  27. 270  PRINT:PRINT
  28. 280  PRINT "               YOU WILL BE ASKED FOR RESISTANCE IN OHMS,"
  29. 290  PRINT "             INDUCTANCE IN HENRIES, AND FREQUENCY IN HERTZ."
  30. 300  PRINT "                 YOU MUST ENTER A VALUE FOR ALL THREE."
  31. 310  PRINT
  32. 320  GOSUB 1610
  33. 330  PRINT
  34. 340  PRINT "                SERIES IMPEDANCE = ";SQR(R*R+X*X);" OHMS"
  35. 350  PRINT "                SERIES PHASE ANGLE = ";ATN(X/R)*57.3;" DEGREES"
  36. 360  PRINT "                PARALLEL IMPEDANCE = ";R*X/SQR(R*R+X*X);" OHMS"
  37. 370  PRINT "                PARALLEL PHASE ANGLE = ";ATN(R/X)*57.3;" DEGREES"
  38. 380  PRINT "                INDUCTIVE REACTANCE = ";X;" OHMS"
  39. 390  PRINT:PRINT "                INPUT 1 TO REPEAT SERIES/PARALLEL IMPEDANCE COMPUTATION."
  40. 400  PRINT "                INPUT 2 TO GO TO RL CIRCUITS MENU.";
  41. 410  INPUT N
  42. 420  IF N=1 THEN GOTO 250
  43. 430  IF N=2 THEN GOTO 10
  44. 440  PRINT:PRINT "                INVALID INPUT":BEEP
  45. 450  GOTO 390
  46. 460  CLS
  47. 470  PRINT "                 OHM'S LAW FOR RESISTOR INDUCTOR CIRCUITS"
  48. 480  PRINT
  49. 490  PRINT "               YOU WILL BE ASKED FOR RESISTOR VALUE, INDUCTOR
  50. 500  PRINT "            VALUE, AND FREQUENCY AND VOLTAGE ACROSS, AND CURRENT
  51. 510  PRINT "                   THROUGH THE RESISTOR-INDUCTOR CIRCUIT.
  52. 520  PRINT
  53. 530  PRINT "                   INPUT 0 FOR 'ONLY ONE' OF THE VALUES."
  54. 540  GOSUB 1610
  55. 550  PRINT "                   INPUT VOLTAGE VT (PEAK) IN VOLTS";
  56. 560  INPUT V
  57. 570  PRINT "                   INPUT CURRENT I (PEAK) IN AMPS";
  58. 580  INPUT A
  59. 590  PRINT:PRINT "             INPUT 1 FOR SERIES CIRCUIT, 2 FOR PARALLEL CIRCUIT";
  60. 600  INPUT N
  61. 610  IF N=1 THEN GOTO 650
  62. 620  IF N=2 THEN GOTO 740
  63. 630  PRINT:PRINT "                   INVALID ANSWER":BEEP
  64. 640  GOTO 590
  65. 650  IF V=0 THEN V=A*SQR(R*R+X*X)
  66. 660  IF A=0 THEN A=V/SQR(R*R+X*X)
  67. 670  IF R=0 AND V<A*X THEN GOTO 940
  68. 680  IF R=0 THEN R=SQR(V*V-A*A*X*X)/A
  69. 690  IF (L=0 OR F=0) AND V<A*R THEN GOTO 940
  70. 700  IF L=0 THEN L=SQR(V*V-A*A*R*R)/(A*6.28*F)
  71. 710  IF F=0 THEN F=SQR(V*V-A*A*R*R)/(A*6.28*L)
  72. 720  D=ATN(6.28*F*L/R)
  73. 730  GOTO 820
  74. 740  IF V=0 THEN V=A*R*X/SQR(R*R+X*X)
  75. 750  IF A=0 THEN A=V*SQR(R*R+X*X)/(R*X)
  76. 760  IF R=0 AND A*X<=V THEN GOTO 940
  77. 770  IF R=0 THEN R=V*X/SQR(A*A*X*X-V*V)
  78. 780  IF (L=0 OR F=0) AND A*R<=V THEN GOTO 940
  79. 790  IF L=0 THEN L=V*R/(6.28*F*SQR(A*A*R*R-V*V))
  80. 800  IF F=0 THEN F=V*R/(6.28*L*SQR(A*A*R*R-V*V))
  81. 810  D=ATN(R/(6.28*F*L))
  82. 820  PRINT:PRINT "                VOLTAGE ACROSS RL CIRCUIT = ";V;" VOLTS"
  83. 830  PRINT "                CURRENT = ";A;" AMPS"
  84. 840  PRINT "                RESISTOR VALUE = ";R;" OHMS"
  85. 850  PRINT "                INDUCTOR VALUE = ";L;" HENRIES"
  86. 860  PRINT "                FREQUENCY = ";F;" HERTZ"
  87. 870  PRINT "                CURRENT-VOLTAGE PHASE ANGLE = ";D*57.3;" DEGREES"
  88. 880  PRINT "                POWER CONSUMPTION = ";V*A*COS(D)/2;" WATTS"
  89. 890  PRINT:PRINT "                INPUT 1 TO REPEAT OHM'S LAW COMPUTATION."
  90. 900  PRINT "                INPUT 2 TO GO TO RL CIRCUITS MENU.";
  91. 910  INPUT N
  92. 920  IF N=1 THEN GOTO 460
  93. 930  IF N=2 THEN GOTO 10
  94. 940  PRINT:PRINT "                INVALID INPUT":BEEP<UNK! {0009}>
  95. 950  GOTO 890
  96. 960  CLS
  97. 970  PRINT "                VOLTAGE PHASE ANGLE COMPUTATION OF RL CIRCUIT."
  98. 980  PRINT
  99. 990  PRINT "                   INPUT 0 FOR 'ONLY ONE' OF THE VALUES."
  100. 1000  GOSUB 1610
  101. 1010  PRINT "                   INPUT INDUCTOR VOLTAGE PHASE ANGLE IN DEGREES";
  102. 1020  INPUT D
  103. 1030  D=-ABS(D/57.3)
  104. 1040  IF D=0 THEN D=ATN(X/R)-1.57
  105. 1050  IF L=0 THEN L=R/(6.28*F)*TAN(D+1.57)
  106. 1060  IF F=0 THEN F=R/(6.28*L)*TAN(D+1.57)
  107. 1070  IF R=0 THEN R=X/TAN(D+1.57)
  108. 1080  PRINT
  109. 1090  PRINT "            INDUCTOR VOLTAGE LEADS VT BY ";-D*57.3;" DEGREES"
  110. 1100  PRINT "            RESISTOR VOLTAGE LAGS BEHIND VT BY ";D*57.3+90;" DEGREES"
  111. 1110  PRINT "            RESISTOR VALUE = ";R;" OHMS"
  112. 1120  PRINT "            INDUCTOR VALUE = ";L;" HENRIES"
  113. 1130  PRINT "            FREQUENCY = ";F;" HERTZ"
  114. 1140  PRINT:PRINT "            INPUT 1 TO REPEAT PHASE COMPUTATION."
  115. 1150  PRINT "            INPUT 2 TO GO TO RL CIRCUITS MENU.";
  116. 1160  INPUT N
  117. 1170  IF N=1 THEN GOTO 960
  118. 1180  IF N=2 THEN GOTO 10
  119. 1190  PRINT:PRINT "            INVALID INPUT":BEEP
  120. 1200  GOTO 1140
  121. 1210  CLS
  122. 1220  PRINT "                VOLTAGE DIVIDER COMPUTATION OF RL CIRCUIT."
  123. 1230  PRINT
  124. 1240  PRINT "              YOU WILL BE ASKED FOR THE VALUE OF THE RESISTOR,
  125. 1250  PRINT "              THE INDUCTOR, THE FREQUENCY AND VOLTAGE OF (VT),
  126. 1260  PRINT "              AND THE VOLTAGE ACROSS INDUCTOR (L)."
  127. 1270  PRINT
  128. 1280  PRINT "        VARPTR<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND TOTAL VOLTAGE ACROSS CIRCUIT (VT) SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>COLOR
  129. 1290  PRINT "        CALL                                                         CALL
  130. 1300  PRINT "        CALL<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND L SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>CALL<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND R SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>CALL
  131. 1310  PRINT "        CALL                            CALL                            CALL
  132. 1320  PRINT "        CLS<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND VL SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>CALL<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND VR SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>'
  133. 1330  PRINT
  134. 1340  PRINT "                  INPUT 0 FOR 'ONLY ONE' OF THE VALUES."
  135. 1350  GOSUB 1610
  136. 1360  PRINT "                   INPUT VOLTAGE VT IN VOLTS";
  137. 1370  INPUT T
  138. 1380  PRINT "                   INPUT VOLTAGE VL ACROSS INDUCTOR IN VOLTS";
  139. 1390  INPUT N
  140. 1400  IF N=0 THEN N=T*X/SQR(R*R+X*X)
  141. 1410  IF R=0 AND T<N THEN GOTO 1590
  142. 1420  IF R=0 THEN R=X*SQR(T*T-N*N)/N
  143. 1430  IF F*L=0 AND T<=N THEN GOTO 1590
  144. 1440  IF L=0 THEN L=N*R/(6.28*F*SQR(T*T-N*N))
  145. 1450  IF F=0 THEN F=N*R/(6.28*L*SQR(T*T-N*N))
  146. 1460  IF T=0 THEN T=N*SQR(R*R+X*X)/X
  147. 1470  PRINT
  148. 1480  PRINT "                   VT = ";T;" VOLTS"
  149. 1490  PRINT "                   RESISTOR VALUE = ";R;" OHMS"
  150. 1500  PRINT "                   INDUCTOR VALUE = ";L;" HENRIES"
  151. 1510  PRINT "                   FREQUENCY = ";F;" HERTZ"
  152. 1520  PRINT "                   VOLTAGE ACROSS INDUCTOR = ";N;" VOLTS"
  153. 1530  PRINT "                   VOLTAGE ACROSS RESISTOR = ";T*R/SQR(R*R+X*X);" VOLTS"
  154. 1540  PRINT:PRINT "                 INPUT 1 TO REPEAT VOLTAGE DIVIDER COMPUTATION."
  155. 1550  PRINT "                 INPUT 2 TO GO TO RL CIRCUITS MENU.";
  156. 1560  INPUT M
  157. 1570  IF M=1 THEN GOTO 1210
  158. 1580  IF M=2 THEN GOTO 10
  159. 1590  PRINT:PRINT "                 INVALID INPUT":BEEP
  160. 1600  GOTO 1540
  161. 1610  PRINT:PRINT "                   INPUT RESISTOR VALUE ON OHMS";
  162. 1620  INPUT R
  163. 1630  PRINT "                   INPUT INDUCTOR VALUE IN HENRIES";
  164. 1640  INPUT L
  165. 1650  PRINT "                   INPUT FREQUENCY IN HERTZ";
  166. 1660  INPUT F
  167. 1670  IF F*L<>0 THEN X=6.28*F*L
  168. 1680  RETURN
  169.