home *** CD-ROM | disk | FTP | other *** search
- 10 PRINT"**S. NOVAK , OCT ,84 *****"
- 20 LPRINT"**S. NOVAK , OCT ,84 *****"
- 30 PRINT "PRINTED IN R.F. DESIGN, May 85"
- 40 LPRINT "PRINTED IN R.F. DESIGN, May 85"
- 50 PRINT"MAKE SURE PRINTER IS TURNED ON AND READY!"
- 60 REM " PARAM. CONV. ",8
- 70 PI=3.14159265#
- 80 LPRINT " PARAM. CONVERSION PROGRAM; MODIFIED BY J.PETROSINO AND G.HARRISON 9/85"
- 90 PRINT " PARAM. CONVERSION PROGRAM; MODIFIED BY J.PETROSINO AND G.HARRISON 9/85"
- 100 DIM R(4),I(4),M(4),A(4),A$(4)
- 110 A$(1)=" INPUT PARAM. (11)="
- 120 A$(2)=" REVERSE PARAM. (12)="
- 130 A$(3)=" FORWARD PARAM. (21)="
- 140 A$(4)=" OUTPUT PARAM. (22)="
- 150 INPUT " PARAMETERS SUPPLIED ?(Z,Y,H,S,A)";P$
- 160 LPRINT " PARAMETERS SUPPLIED ?(Z,Y,H,S,A)";P$
- 170 INPUT" POLAR FORM (P) OR RE. AND IM. PARTS (R)";R$
- 180 LPRINT" POLAR FORM (P) OR RE. AND IM. PARTS (R)";R$
- 190 INPUT" PARAMETER REQUIRED (Z,Y,H,S,A)";S$
- 200 LPRINT" PARAMETER REQUIRED (Z,Y,H,S,A)";S$
- 210 IF P$="S" OR S$="S" THEN GOSUB 1780
- 220 IF R$="P" THEN LPRINT " ENTER MAGNITUDE AND ANGLE IN DEGREES"
- 230 IF R$="P" THEN PRINT " ENTER MAGNITUDE AND ANGLE IN DEGREES"
- 240 IF R$="R" THEN LPRINT " ENTER REAL AND IMAG. PART"
- 250 IF R$="R" THEN PRINT " ENTER REAL AND IMAG. PART"
- 260 FOR K=1 TO 4
- 270 PRINT A$(K)
- 280 INPUT R(K),I(K)
- 290 LPRINT A$(K) R(K)","I(K)
- 300 IF R$="P" THEN GOSUB 1890
- 310 NEXT K
- 320 PRINT : LPRINT
- 330 IF P$="H" AND S$="S" OR P$="S" AND S$="H" THEN GOSUB 2400
- 340 IF P$="H" AND S$="A" OR P$="A" AND S$="H" THEN GOSUB 2430
- 350 IF P$="S" AND S$="Z" OR P$="Z" AND S$="S" THEN GOSUB 2450
- 360 IF P$="S" AND S$="A" THEN GOSUB 2490
- 370 IF P$="A" AND S$="S" THEN GOSUB 2470
- 380 REM MULTIPLY BY Z0 **************
- 390 IF P$="Y" AND S$="S" THEN GOSUB 2040
- 400 REM CALC. P12*P21 AND DP**********
- 410 R1=R(2)
- 420 I1=I(2)
- 430 R2=R(3)
- 440 I2=I(3)
- 450 GOSUB 1800
- 460 P=RE
- 470 Q=IM
- 480 R1=R(1)
- 490 I1=I(1)
- 500 R2=R(4)
- 510 I2=I(4)
- 520 GOSUB 1800
- 530 R=RE-P
- 540 I=IM-Q
- 550 R1=R(1)
- 560 REM SELECT PARAM. ******************
- 570 IF P$="Z" AND S$="Y" OR P$="Y" AND S$="Z" THEN GOSUB 920
- 580 IF P$="A" AND S$="Z" OR P$="Z" AND S$="A" THEN GOSUB 1140
- 590 IF P$="H" AND S$="Z" OR P$="Z" AND S$="H" THEN GOSUB 1340
- 600 IF P$="Y" AND S$="S" OR P$="S" AND S$="Y" THEN GOSUB 1540
- 610 IF P$="H" AND S$="Y" OR P$="Y" AND S$="H" THEN GOSUB 720
- 620 REM DUAL CONVERSIONS **************
- 630 IF P$="Y" AND S$="A" THEN 660
- 640 IF P$="A" AND S$="Y" THEN 690
- 650 GOTO 2160
- 660 P$="Z"
- 670 GOSUB 920
- 680 GOTO 380
- 690 P$="Z"
- 700 GOSUB 1140
- 710 GOTO 380
- 720 REM CONV. Y TO H OR H TO Y *********
- 730 R2=R(1)
- 740 I2=I(1)
- 750 R1=1
- 760 I1=0
- 770 K=1
- 780 GOSUB 2080
- 790 R1=-R(2)
- 800 I1=-I(2)
- 810 K=2
- 820 GOSUB 2080
- 830 R1=R(3)
- 840 I1=I(3)
- 850 K=3
- 860 GOSUB 2080
- 870 R1=R
- 880 I1=I
- 890 K=4
- 900 GOSUB 2080
- 910 RETURN
- 920 REM CONV. Y TO Z OR Z TO Y *********
- 930 R3=R(1)
- 940 I3=I(1)
- 950 R1=R(4)
- 960 I1=I(4)
- 970 R2=R
- 980 I2=I
- 990 K=1
- 1000 GOSUB 2080
- 1010 R1=-R(2)
- 1020 I1=-I(2)
- 1030 K=2
- 1040 GOSUB 2080
- 1050 R1=-R(3)
- 1060 I1=-I(3)
- 1070 K=3
- 1080 GOSUB 2080
- 1090 R1=R3
- 1100 I1=I3
- 1110 K=4
- 1120 GOSUB 2080
- 1130 RETURN
- 1140 REM CONV. A TO Z OR Z TO A ********
- 1150 R2=R(3)
- 1160 I2=I(3)
- 1170 R1=R(1)
- 1180 I1=I(1)
- 1190 K=1
- 1200 GOSUB 2080
- 1210 R1=R
- 1220 I1=I
- 1230 K=2
- 1240 GOSUB 2080
- 1250 R1=1
- 1260 I1=0
- 1270 K=3
- 1280 GOSUB 2080
- 1290 R1=R(4)
- 1300 I1=I(4)
- 1310 K=4
- 1320 GOSUB 2080
- 1330 RETURN
- 1340 REM CONV. H TO Z OR Z TO H *******
- 1350 R2=R(4)
- 1360 I2=I(4)
- 1370 R1=R
- 1380 I1=I
- 1390 K=1
- 1400 GOSUB 2080
- 1410 R1=R(2)
- 1420 I2=I(2)
- 1430 K=2
- 1440 GOSUB 2080
- 1450 R1=-R(3)
- 1460 I1=-I(3)
- 1470 K=3
- 1480 GOSUB 2080
- 1490 R1=1
- 1500 I1=0
- 1510 K=4
- 1520 GOSUB 2080
- 1530 RETURN
- 1540 REM CONV. Y TO S OR S TO Y *******
- 1550 R3=R(1)
- 1560 I3=I(1)
- 1570 R1=1+R(4)-R(1)-R
- 1580 I1=I(4)-I(1)-I
- 1590 R2=1+R(4)+R(1)+R
- 1600 I2=I(4)+I(1)+I
- 1610 IF P$="S" AND S$="Y" THEN R2=R2*Z0
- 1620 IF P$="S" AND S$="Y" THEN I2=I2*Z0
- 1630 K=1
- 1640 GOSUB 2080
- 1650 R1=-2*R(2)
- 1660 I1=-2*I(2)
- 1670 K=2
- 1680 GOSUB 2080
- 1690 R1=-2*R(3)
- 1700 I1=-2*I(3)
- 1710 K=3
- 1720 GOSUB 2080
- 1730 R1=1+R3-R(4)-R
- 1740 I1=I3-I(4)-I
- 1750 K=4
- 1760 GOSUB 2080
- 1770 RETURN
- 1780 INPUT " CHAR. IMP. OF THE LINE (Z0)=",Z0
- 1790 RETURN
- 1800 REM COMPL. NO MULT. SUB ************
- 1810 RE=R1*R2-I1*I2
- 1820 IM=I1*R2+R1*I2
- 1830 RETURN
- 1840 REM COMP. NO. DIV. SUB *************
- 1850 D=R2*R2+I2*I2
- 1860 RE=(R1*R2+I1*I2)/D
- 1870 IM=(I1*R2-R1*I2)/D
- 1880 RETURN
- 1890 REM POLAR TO RECT. ***************
- 1900 A=I(K)
- 1910 M=R(K)
- 1920 A=A*PI/180
- 1930 RE=M*COS(A)
- 1940 IM=M*SIN(A)
- 1950 R(K)=RE
- 1960 I(K)=IM
- 1970 RETURN
- 1980 REM RECT. TO POLAR ***************
- 1990 M=SQR(RE*RE+IM*IM)
- 2000 A=90*(SGN(IM)+(IM=0))
- 2010 IF RE=0 THEN 2030
- 2020 A=ATN(IM/RE)*180/PI+A*(1-SGN(RE))
- 2030 RETURN
- 2040 FOR K=1 TO 4
- 2050 R(K)=R(K)*Z0:I(K)=I(K)*Z0
- 2060 NEXT K
- 2070 RETURN
- 2080 REM SUB. STORE RESULTS ***********
- 2090 GOSUB 1840
- 2100 R(K)=RE
- 2110 I(K)=IM
- 2120 GOSUB 1980
- 2130 M(K)=M
- 2140 A(K)=A
- 2150 RETURN
- 2160 REM SUB. PRINT *******************
- 2170 LPRINT " CALCULATED PARAMETER ="S$
- 2180 PRINT " CALCULATED PARAMETER ="S$
- 2190 E=1E+08
- 2200 FOR K=1 TO 4
- 2210 LPRINT A$(K);S$
- 2220 PRINT A$(K);S$
- 2230 LPRINT "RE","IM","MAG","ANGLE"
- 2240 PRINT "RE","IM","MAG","ANGLE"
- 2250 REM LPRINT (INT(R(K)*E))/E, (INT(I(K)*E))/E, (INT(M(K)*E))/E, (INT(A(K)*E))/E
- 2260 REM PRINT (INT(R(K)*E))/E, (INT(I(K)*E))/E, (INT(M(K)*E))/E, (INT(A(K)*E))/E
- 2270 PRINT USING "#.###^^^^ ";R(K),I(K),M(K),A(K)
- 2280 LPRINT USING "##.###^^^^ ";R(K),I(K),M(K),A(K)
- 2290 LPRINT
- 2300 NEXT K
- 2310 PRINT""
- 2320 PRINT""
- 2330 LPRINT""
- 2340 LPRINT""
- 2350 LPRINT""
- 2360 IF S1$<>S$ THEN 2510
- 2370 INPUT " ANOTHER CALCULATION (Y OR N)";C$
- 2380 IF C$<>"Y" THEN END
- 2390 GOTO 150
- 2400 REM SUB FOR PAR CON **********
- 2410 S1$=S$:S0$=S$:S$="Y"
- 2420 RETURN
- 2430 S1$=S$:S0$=S$:S$="Z"
- 2440 RETURN
- 2450 S1$=S$:S0$=S$:S$="Y"
- 2460 RETURN
- 2470 S1$=S$:S0$=S$:S$="Y"
- 2480 RETURN
- 2490 S1$=S$:S0$="Z":S$="Y"
- 2500 RETURN
- 2510 P$=S$:S$=S0$:S0$=S1$
- 2520 GOTO 330