home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1992-06-30 | 3.8 KB | 94 lines |
- 10 REM --------------------------------------
- 20 REM D E C I B E L C O N V E R S I O N
- 30 REM --------------------------------------
- 40 REM
- 50 CLS : COLOR 7,0 : KEY OFF
- 60 PRINT "KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE"
- 70 PRINT "OPEN "; : COLOR 0,7 : PRINT " D E C I B E L C O N V E R S I O N P R O G R A M "; : COLOR 7,0 : PRINT " OPEN"
- 80 PRINT "SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD"
- 90 CL$ = " " 'Clear Line
- 100 LOCATE 5,3:COLOR 7:PRINT "VALUE KNOWN -";CHR$(16);:COLOR 15:PRINT " V";:COLOR 7:PRINT "oltage - ";:COLOR 15:PRINT "C";:COLOR 7:PRINT "urrent - ";:COLOR 15:PRINT "P";:COLOR 7:PRINT "ower - ";:COLOR 15:PRINT "D";:COLOR 7:PRINT "ecibels"
- 110 LOCATE 5,67 : COLOR 15 : PRINT "SELECT ONE" : COLOR 7 : A$ = INPUT$(1)
- 120 IF LEFT$(A$,1) = "V" OR LEFT$(A$,1) = "v" THEN GOTO 300
- 130 IF LEFT$(A$,1) = "C" OR LEFT$(A$,1) = "c" THEN GOTO 400
- 140 IF LEFT$(A$,1) = "P" OR LEFT$(A$,1) = "p" THEN GOTO 500
- 150 IF LEFT$(A$,1) = "D" OR LEFT$(A$,1) = "d" THEN GOTO 600
- 160 BEEP : GOTO 110
- 170 REM
- 180 REM --- FIND ANTILOG OF NUMBER ---
- 190 REM
- 200 IF NUMBER > 38.2 THEN COLOR 15 : PRINT "INCORRECT ENTRY" : COLOR 7 : GOTO 910
- 210 ANTILOG = 10 ^ NUMBER
- 220 RETURN
- 230 REM
- 240 REM --- FIND COMMON LOGARITHM ---
- 250 REM
- 260 IF NUMBER =< 0 THEN 500
- 270 LOGARITHM = LOG(NUMBER) / LOG(10)
- 280 RETURN
- 290 REM
- 300 REM --- VOLTAGE KNOWN ---
- 310 REM
- 320 LOCATE 8,11 : INPUT "INPUT VOLTAGE = ",E1
- 330 LOCATE 10,10 : INPUT "OUTPUT VOLTAGE = ",E2
- 340 NUMBER = E2 / E1
- 350 GOSUB 240
- 360 DB = 20 * LOGARITHM
- 370 GOSUB 860
- 380 GOTO 910
- 390 REM
- 400 REM --- CURRENT KNOWN ---
- 410 REM
- 420 LOCATE 8,11 : INPUT "INPUT CURRENT = ",I1
- 430 LOCATE 10,10 : INPUT "OUTPUT CURRENT = ",I2
- 440 NUMBER = I2 / I1
- 450 GOSUB 240
- 460 DB = 20 * LOGARITHM
- 470 GOSUB 860
- 480 GOTO 910
- 490 REM
- 500 REM --- POWER KNOWN ---
- 510 REM
- 520 LOCATE 8,13 : INPUT "INPUT POWER = ",P1
- 530 LOCATE 10,12 : INPUT "OUTPUT POWER = ",P2
- 540 NUMBER = P2 / P1
- 550 GOSUB 240
- 560 DB = 10 * LOGARITHM
- 570 GOSUB 860
- 580 GOTO 910
- 590 REM
- 600 REM --- DECIBELS KNOWN ---
- 610 REM
- 620 LOCATE 9,32 : COLOR 15 : PRINT "VALUES KNOWN:" : COLOR 7
- 630 LOCATE 11,26 : PRINT "<1> - DB and INPUT VOLTAGE"
- 640 LOCATE 13,26 : PRINT "<2> - DB and OUTPUT VOLTAGE"
- 650 LOCATE 15,26 : PRINT "<3> - DB and INPUT CURRENT"
- 660 LOCATE 17,26 : PRINT "<4> - DB and OUTPUT CURRENT"
- 670 LOCATE 19,26 : PRINT "<5> - DB and INPUT POWER"
- 680 LOCATE 21,26 : PRINT "<6> - DB and OUTPUT POWER"
- 690 LOCATE 23,32 : COLOR 15 : PRINT "SELECT ONE" : COLOR 7 : A$ = INPUT$(1)
- 700 A = VAL(A$) : IF A < 1 OR A > 6 THEN GOTO 690
- 710 FOR I = 9 TO 23 STEP 2 : LOCATE I,1 : PRINT CL$ : NEXT I
- 720 ON A GOTO 730, 740, 750, 760, 770, 780
- 730 GOSUB 790 : LOCATE 10,11 : INPUT "INPUT VOLTAGE = ",E1 : NUMBER = DB / 20 : GOSUB 180 : E2 = ANTILOG * E1 : RATIO = E2 / E1 : LOCATE 12,10 : PRINT "OUTPUT VOLTAGE = ";E2 : LOCATE 14,11 : PRINT "VOLTAGE RATIO = ";RATIO : GOTO 910
- 740 GOSUB 790 : LOCATE 10,10 : INPUT "OUTPUT VOLTAGE = ",E2 : NUMBER = DB / 20 : GOSUB 180 : E1 = E2 / ANTILOG : RATIO = E2 / E1 : LOCATE 12,11 : PRINT "INPUT VOLTAGE = ";E1 : LOCATE 14,11 : PRINT "VOLTAGE RATIO = ";RATIO : GOTO 910
- 750 GOSUB 790 : LOCATE 10,11 : INPUT "INPUT CURRENT = ",I1 : NUMBER = DB / 20 : GOSUB 180 : I2 = ANTILOG * I1 : RATIO = I2 / I1 : LOCATE 12,10 : PRINT "OUTPUT CURRENT = ";I2 : LOCATE 14,11 : PRINT "CURRENT RATIO = ";RATIO : GOTO 910
- 760 GOSUB 790 : LOCATE 10,10 : INPUT "OUTPUT CURRENT = ",I2 : NUMBER = DB / 20 : GOSUB 180 : I1 = I2 / ANTILOG : RATIO = I2 / I1 : LOCATE 12,11 : PRINT "INPUT CURRENT = ";I1 : LOCATE 14,11 : PRINT "CURRENT RATIO = ";RATIO : GOTO 910
- 770 GOSUB 790 : LOCATE 10,13 : INPUT "INPUT POWER = ",P1 : NUMBER = DB / 10 : GOSUB 180 : P2 = ANTILOG * P1 : RATIO = P2 / P1 : LOCATE 12,12 : PRINT "OUTPUT POWER = ";P2 : LOCATE 14,13 : PRINT "POWER RATIO = ";RATIO : GOTO 910
- 780 GOSUB 790 : LOCATE 10,12 : INPUT "OUTPUT POWER = ",P2 : NUMBER = DB / 10 : GOSUB 180 : P1 = P2 / ANTILOG : RATIO = P2 / P1 : LOCATE 12,13 : PRINT "INPUT POWER = ";P1 : LOCATE 14,13 : PRINT "POWER RATIO = ";RATIO : GOTO 910
- 790 REM
- 800 REM --- INPUT DB ---
- 810 REM
- 820 LOCATE 8,5 : INPUT "DECIBEL (enter +/-) = ",DB : RETURN
- 830 REM
- 840 REM --- PRINT DB RESULTS ---
- 850 REM
- 860 LOCATE 12,16 : PRINT "DECIBELS = "; : PRINT USING "+###.## dB";DB
- 870 RETURN
- 880 REM
- 890 REM --- CONTINUE OR QUIT ROUTINE ---
- 900 REM
- 910 LOCATE 23,16 : COLOR 15 : PRINT "PRESS ANY KEY TO CONTINUE OR <ESC> TO QUIT" : COLOR 7 : A$ = INPUT$ (1)
- 920 IF A$ = CHR$(27) THEN RUN"TECHMENU"
- 930 GOTO 10
-