home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1986-12-11 | 2.6 KB | 104 lines |
- 100 CLS
- 110 SCREEN 0
- 120 WIDTH 80
- 130 KEY OFF
- 140 '
- 145 PRINT"THE BROADCASTERS DATABASE PRESENTS:":PRINT
- 150 PRINT "***************************************
- 160 PRINT "** Resonant Frequency Calculator **
- 170 PRINT "** Vers 1.1 Dec. 20,1982 **
- 180 PRINT "***************************************
- 190 '
- 200 LOCATE 8,1
- 210 PRINT "- Enter values or press enter to skip -"
- 220 PRINT " (two values only please)"
- 230 '
- 240 LOCATE 10,1
- 250 INPUT "Frequency in hertz (resonate) = ",F
- 260 INPUT "Capacitive reactance in ohms = ",XC
- 270 INPUT "Inductive reactance in ohms = ",XL
- 280 INPUT "Capacitance in pico-farads = ",C
- 290 INPUT "inductance in micro-henries = ",L
- 300 '
- 310 PI = 6.28318 '** 2 * pi
- 320 '
- 330 IF F = 0 THEN 400 '** must calculate frequency
- 340 '
- 350 IF (XC <> 0) THEN GOSUB 1000 : GOTO 800
- 360 IF (XL <> 0) THEN GOSUB 1100 : GOTO 800
- 370 IF (C <> 0) THEN GOSUB 1200 : GOTO 800
- 380 IF (L <> 0) THEN GOSUB 1300 : GOTO 800
- 390 GOTO 900
- 400 '
- 410 IF (XC <> 0) AND (C <> 0) THEN GOSUB 1400 : GOTO 800
- 420 IF (XL <> 0) AND (C <> 0) THEN GOSUB 1430 : GOTO 800
- 430 IF (XL <> 0) AND (L <> 0) THEN GOSUB 1500 : GOTO 800
- 440 IF (XC <> 0) AND (L <> 0) THEN GOSUB 1530 : GOTO 800
- 450 IF (C <> 0) AND (L <> 0) THEN GOSUB 1600 : GOTO 800
- 460 GOTO 900
- 470 '
- 800 '** Routine to print values on screen
- 810 LOCATE 10,37 : PRINT F : LOCATE 10,53 : PRINT "hz"
- 820 LOCATE 11,37 : PRINT XC : LOCATE 11,53 : PRINT "ohms
- 830 LOCATE 12,37 : PRINT XL : LOCATE 12,53 : PRINT "ohms
- 840 LOCATE 13,37 : PRINT C : LOCATE 13,53 : PRINT "pf
- 850 LOCATE 14,37 : PRINT L : LOCATE 14,53 : PRINT "uh
- 860 LOCATE 20,1 : INPUT "PRESS T TO TERMINATE PROGRAM, ENTER TO CONTINUE - ",A$
- 865 IF A$="T" THEN 1650
- 870 CLEAR : POKE 106,0 : CLS : GOTO 150
- 880 '
- 900 '** Error message routine - not enough data input
- 910 LOCATE 20,1
- 920 PRINT "Insufficient data to calculate values from
- 930 INPUT "Press enter to continue - ",A$
- 940 CLEAR : POKE 106,0 : CLS : GOTO 150
- 950 '
- 1000 '** Frequency and Xc are known
- 1010 C = 10^12 / ( PI * F * XC )
- 1020 XL = XC
- 1030 L = XL * 10^6 / ( PI * F )
- 1040 RETURN
- 1050 '
- 1100 '** Frequency and Xl are known
- 1110 L = XL * 10^6 / ( PI * F )
- 1120 XC = XL
- 1130 C = 10^12 / ( PI * F * XC )
- 1140 RETURN
- 1150 '
- 1200 '** Frequency and C are known
- 1210 XC = 10^12 / ( PI * F * C )
- 1220 XL = XC
- 1230 L = XL * 10^6 / ( PI * F )
- 1240 RETURN
- 1250 '
- 1300 '** Frequency and L are known
- 1310 XL = ( PI * F * L / 10^6 )
- 1320 XC = XL
- 1330 C = 10^12 / ( PI * F * XC )
- 1340 RETURN
- 1350 '
- 1400 '** XC and C are known
- 1410 XL = XC
- 1420 GOTO 1450
- 1430 '** XL and C are known
- 1440 XC = XL
- 1450 F = 10^12 / ( PI * C * XC )
- 1460 L = XL * 10^6 / ( PI * F )
- 1470 RETURN
- 1480 '
- 1500 '** XL and L are known
- 1510 XC = XL
- 1520 GOTO 1550
- 1530 '** XC and L are known
- 1540 XL = XC
- 1550 F = XL * 10^6 / ( PI * L )
- 1560 C = 10^12 / ( PI * XC * F )
- 1570 RETURN
- 1580 '
- 1600 '** C and L are known
- 1610 F = 10^9 / (PI * SQR( L * C ))
- 1620 XC = 10^12 / ( PI * F * C )
- 1630 XL = XC
- 1640 RETURN
- 1650 END
-