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

  1. 10  CLS
  2. 20  CLEAR
  3. 30  PRINT
  4. 40  PRINT "          ";:FOR A=1 TO 58:PRINT CHR$(178);:NEXT A
  5. 50  PRINT "          WEND                                                        WEND
  6. 60  PRINT "          WEND      RESISTOR-CAPACITOR 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 RC CIRCUITS                         WEND
  10. 100  PRINT "          WEND   3) SERIES RC PHASE ANGLE                             WEND
  11. 110  PRINT "          WEND   4) SERIES RC VOLTAGE DIVIDER                         WEND
  12. 120  PRINT "          WEND   5) GO TO MASTER MENU                                 WEND
  13. 130  PRINT "          WEND                                                        WEND
  14. 140  PRINT "          ";:FOR A=1 TO 58:PRINT CHR$(178);:NEXT A
  15. 150  PRINT: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 970
  21. 210  IF N=4 THEN GOTO 1320
  22. 220  IF N=5 THEN RUN "MENU"
  23. 230  PRINT:PRINT "INVALID INPUT"
  24. 240  GOTO 160
  25. 250  CLS
  26. 260  PRINT "                 SERIES/PARALLEL IMPEDANCE COMPUTATION"
  27. 270  PRINT
  28. 280  PRINT "           YOU WILL BE ASKED FOR RESISTANCE IN OHMS, CAPACITOR"
  29. 290  PRINT "           VALUE IN FARADS, AND FREQUENCY IN HERTZ.  YOU MUST"
  30. 300  PRINT "           INPUT VALUES FOR EACH ONE OF THESE, NO 'UNKNOWNS'."
  31. 310  PRINT
  32. 320  GOSUB 1720
  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 "           CAPACITIVE REACTANCE = ";X;" OHMS"
  39. 390  PRINT:PRINT "           INPUT 1 TO REPEAT SERIES/PARALLEL IMPEDANCE COMPUTATION"
  40. 400  PRINT "           INPUT 2 TO GO TO RC 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-CAPACITOR CIRCUITS"
  48. 480  PRINT
  49. 490  PRINT "               YOU WILL BE ASKED FOR RESISTOR VALUE, CAPACITOR"
  50. 500  PRINT "               VALUE, FREQUENCY AND VOLTAGE ACROSS THE CIRCUIT"
  51. 510  PRINT
  52. 520  PRINT "                   INPUT 0 FOR 'ONLY ONE' UNKNOWN VALUE"
  53. 530  PRINT
  54. 540  GOSUB 1720
  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  PRINT
  62. 620  IF N=1 THEN GOTO 660
  63. 630  IF N=2 THEN GOTO 750
  64. 640  PRINT:PRINT "               INVALID ANSWER"
  65. 650  GOTO 590
  66. 660  IF V=0 THEN V=A*SQR(R*R+X*X)
  67. 670  IF A=0 THEN A=V/SQR(R*R+X*X)
  68. 680  IF R=0 AND V<A*X THEN GOTO 950
  69. 690  IF R=0 THEN R=SQR(V*V-A*A*X*X)/A
  70. 700  IF (C=0 OR F=0) AND V<=A*R THEN GOTO 950
  71. 710  IF C=0 THEN C=A/(6.28*F*SQR(V*V-A*A*R*R))
  72. 720  IF F=0 THEN F=A/(6.28*C*SQR(V*V-A*A*R*R))
  73. 730  D=ATN(1/(6.28*F*C*R))
  74. 740  GOTO 830
  75. 750  IF V=0 THEN V=A*R*X/SQR(R*R+X*X)
  76. 760  IF A=0 THEN A=V*SQR(R*R+X*X)/(R*X)
  77. 770  IF R=0 AND A*X<=V THEN GOTO 950
  78. 780  IF R=0 THEN R=V*X/SQR(A*A*X*X-V*V)
  79. 790  IF (C=0 OR F=0) AND A*R<V THEN GOTO 950
  80. 800  IF C=0 THEN C=SQR(A*A*R*R-V*V)/(6.28*F*V*R)
  81. 810  IF F=0 THEN F=SQR(A*A*R*R-V*V)/(6.28*C*V*R)
  82. 820  D=ATN(R*6.28*F*C)
  83. 830  PRINT "               VOLTAGE ACROSS RC CIRCUIT = ";V;" VOLTS"
  84. 840  PRINT "               CURRENT = ";A;" AMPS"
  85. 850  PRINT "               RESISTOR VALUE = ";R;" OHMS"
  86. 860  PRINT "               CAPACITOR VALUE = ";C;" FARADS"
  87. 870  PRINT "               FREQUENCY = ";F;" HERTZ"
  88. 880  PRINT "               CURRENT-VOLTAGE PHASE ANGLE = ";D*57.3;" DEGREES"
  89. 890  PRINT "               POWER CONSUMPTION = ";V*A*COS(D)/2;" WATTS"
  90. 900  PRINT:PRINT "               INPUT 1 TO REPEAT OHM'S LAW COMPUTATION."
  91. 910  PRINT "               INPUT 2 TO GO TO RC CIRCUITS MENU.";
  92. 920  INPUT N
  93. 930  IF N=1 THEN GOTO 460
  94. 940  IF N=2 THEN GOTO 10
  95. 950  PRINT:PRINT "               INVALID INPUT":BEEP
  96. 960  GOTO 900
  97. 970  CLS
  98. 980  PRINT "                   VOLTAGE PHASE ANGLE COMPUTATION"
  99. 990  PRINT:PRINT
  100. 1000  PRINT "            YOU WILL BE ASKED FOR THE VALUE OF THE RESISTOR,
  101. 1010  PRINT "           THE CAPACITOR, THE FREQUENCY OF VT, AND THE PHASE
  102. 1020  PRINT "                      ANGLE BETWEEN VT AND VC.
  103. 1030  PRINT
  104. 1040  PRINT "      VARPTR<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND TOTAL VOLTAGE ACROSS CIRCUIT (VT) SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>COLOR
  105. 1050  PRINT "      CALL                                                         CALL
  106. 1060  PRINT "      CALL<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND C SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>CALL<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND R SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>CALL
  107. 1070  PRINT "      CALL                            CALL                            CALL
  108. 1080  PRINT "      CLS<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND VC SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>CALL<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND VR SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>'
  109. 1090  PRINT:PRINT
  110. 1100  PRINT "                 INPUT 0 FOR THE UNKNOWN VALUE"
  111. 1110  GOSUB 1720
  112. 1120  PRINT "                 INPUT CAPACITOR VOLTAGE PHASE ANGLE IN DEGREES";
  113. 1130  INPUT D
  114. 1140  D=-ABS(D/57.3)
  115. 1150  IF D=0 THEN D=ATN(X/R)-1.57
  116. 1160  IF C=0 THEN C=1/(6.28*F*R*TAN(D+1.57))
  117. 1170  IF F=0 THEN F=1/(6.28*C*R*TAN(D+1.57))
  118. 1180  IF R=0 THEN R=X/TAN(D+1.57)
  119. 1190  PRINT
  120. 1200  PRINT "                 CAPACITOR VOLTAGE LAGS BEHIND VT BY ";-D*57.3;" DEGREES"
  121. 1210  PRINT "                 RESISTOR VOLTAGE LEADS VT BY ";D*57.3+90;" DEGREES"
  122. 1220  PRINT "                 RESISTOR VALUE = ";R;" OHMS"
  123. 1230  PRINT "                 CAPACITOR VALUE = ";C;" FARADS"
  124. 1240  PRINT "                 FREQUENCY = ";F;" HERTZ"
  125. 1250  PRINT:PRINT "                 INPUT 1 TO REPEAT PHASE COMPUTATION."
  126. 1260  PRINT "                 INPUT 2 TO GO TO RC CIRCUITS MENU.";
  127. 1270  INPUT N
  128. 1280  IF N=1 THEN GOTO 970
  129. 1290  IF N=2 THEN GOTO 10
  130. 1300  PRINT:PRINT "                 INVALID INPUT":BEEP
  131. 1310  GOTO 1250
  132. 1320  CLS
  133. 1330  PRINT "                    VOLTAGE DIVIDER COMPUTATION"
  134. 1340  PRINT:PRINT
  135. 1350  PRINT "           YOU WILL BE ASKED FOR THE VALUE OF THE RESISTOR,
  136. 1360  PRINT "           THE CAPACITOR, THE FREQUENCY AND VOLTAGE OF VT,
  137. 1370  PRINT "           AND THE VOLTAGE ACROSS THE CAPACITOR.
  138. 1380  PRINT
  139. 1390  PRINT "      VARPTR<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND TOTAL VOLTAGE ACROSS CIRCUIT (VT) SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>COLOR
  140. 1400  PRINT "      CALL                                                         CALL
  141. 1410  PRINT "      CALL<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND C SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>CALL<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND R SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>CALL
  142. 1420  PRINT "      CALL                            CALL                            CALL
  143. 1430  PRINT "      CLS<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND VC SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>CALL<SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND VR SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND>'
  144. 1440  PRINT
  145. 1450  PRINT "                 INPUT 0 FOR ONLY 'ONE' VALUE"
  146. 1460  PRINT
  147. 1470  GOSUB 1720
  148. 1480  PRINT "                 INPUT VOLTAGE VT IN VOLTS";
  149. 1490  INPUT T
  150. 1500  PRINT "                 INPUT VOLTAGE ACROSS CAPACITOR IN VOLTS";
  151. 1510  INPUT N
  152. 1520  IF N=0 THEN N=T*X/SQR(R*R+X*X)
  153. 1530  IF (R=0 OR C=0 OR F=0) AND T<N THEN GOTO 1700
  154. 1540  IF R=0 THEN R=X*SQR(T*T-N*N)/N
  155. 1550  IF C=0 THEN C=SQR(T*T-N*N)/(6.28*F*R*N)
  156. 1560  IF F=0 THEN F=SQR(T*T-N*N)/(6.28*C*R*N)
  157. 1570  IF T=0 THEN T=N*SQR(R*R+X*X)/X
  158. 1580  PRINT
  159. 1590  PRINT "                 VT = ";T;" VOLTS"
  160. 1600  PRINT "                 RESISTOR VALUE = ";R;" OHMS"
  161. 1610  PRINT "                 CAPACITOR VALUE = ";C;" FARADS"
  162. 1620  PRINT "                 FREQUENCY = ";F;" HERTZ"
  163. 1630  PRINT "                 VOLTAGE ACROSS CAPACITOR = ";N;" VOLTS"
  164. 1640  PRINT "                 VOLTAGE ACROSS RESISTOR = ";T*R/SQR(R*R+X*X);" VOLTS"
  165. 1650  PRINT:PRINT "                 INPUT 1 TO REPEAT VOLTAGE DIVIDER COMPUTATION."
  166. 1660  PRINT "                 INPUT 2 TO GO TO RC CIRCUIT MENU.";
  167. 1670  INPUT M
  168. 1680  IF M=1 THEN GOTO 1320
  169. 1690  IF M=2 THEN GOTO 10
  170. 1700  PRINT:PRINT "                 INVALID INPUT":BEEP
  171. 1710  GOTO 1650
  172. 1720  PRINT "                 INPUT RESISTOR VALUE IN OHMS";
  173. 1730  INPUT R
  174. 1740  PRINT "                 INPUT CAPACITOR VALUE IN FARADS";
  175. 1750  INPUT C
  176. 1760  PRINT "                 INPUT FREQUENCY IN HERTZ";
  177. 1770  INPUT F
  178. 1780  IF F*C<>0 THEN X=1/(6.28*F*C)
  179. 1790  RETURN
  180.