home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1979-12-31 | 1.9 KB | 52 lines |
- 10 REM PROGRAM TO CALC PARAMETERS FOR T AND PI NETWORKS
- 15 PI=3.1416
- 20 DIM ZR(2,2), ZX(2,2), YR(2,2), YX(2,2): DG=180/PI
- 30 DIM ZM(2,2), ZA(2,2), YM(2,2), YA(2,2): PRINT
- 40 DEF FNMG(AR,AX)=SQR(AR^2+AX^2)
- 70 PRINT "PROGRAM FOR CALCULATING T AND PI NETWORK PARAMETERS"
- 75 PRINT:PRINT,"k2uyh -- modified for ibm pc --- wa2tif":PRINT
- 80 PRINT: INPUT "NETWORK TYPE ('T' OR 'PI')"; Q$
- 90 IF Q$="PI" THEN 280 ELSE IF Q$<>"T" THEN 80
- 100 PRINT: INPUT "REAL PART OF ZA"; R1
- 110 INPUT "IMAGINARY PART OF ZA"; X1
- 120 PRINT: INPUT "REAL PART OF ZM"; R2
- 130 INPUT "IMAGINARY PART OF ZM"; X2
- 140 PRINT: INPUT "REAL PART OF ZB"; R3
- 150 INPUT "IMAGINARY PART OF ZB"; X3
- 160 ZR(1,1)=R1+R2: ZX(1,1)=X1+X2
- 170 ZR(1,2)=R2: ZX(1,2)=X2: ZR(2,1)=R2: ZX(2,1)=X2
- 180 ZR(2,2)=R3+R2: ZX(2,2)=X3+X2
- 190 PRINT: FOR I=1 TO 2: FOR J=1 TO 2: PRINT
- 200 PRINT "REAL Z("; I; ","; J; ")="; ZR(I,J)
- 210 PRINT "IMG Z("; I; ","; J; ")="; ZX(I,J)
- 220 ZM(I,J)=FNMG(ZR(I,J),ZX(I,J))
- 225 GOSUB 470
- 230 ZA(I,J)=FNAG(ZR(I,J),ZX(I,J)): NEXT: NEXT
- 240 PRINT: INPUT "WANT TO SAVE PARAMETERS (Y OR N)"; Q$
- 250 IF Q$="N" OR Q$="END" THEN END
- 260 INPUT "FILE NAME (1ST LETTER PARAMETER)"; F$: ERASE F$
- 270 OPEN #1,"O",F$: MAT WRITE #1,ZR,ZX,ZM,ZA: CLOSE #1: END
- 280 PRINT: PRINT "INPUT Y AS PARALLEL EQUIV R & X VALUES"
- 290 PRINT: INPUT "REAL PART OF YA"; R1
- 300 INPUT "IMAGINARY PART OF YA"; X1
- 310 PRINT: INPUT "REAL PART OF YM"; R2
- 320 INPUT "IMAGINARY PART OF YM"; X2
- 330 PRINT: INPUT "REAL PART OF YB"; R3
- 340 INPUT "IMAGINARY PART OF YB"; X3
- 350 YR(1,1)=1/R1+1/R2: YX(1,1)=-1/X1-1/X2
- 360 YR(1,2)=1/R2: YX(1,2)=-1/X2: YR(2,1)=1/R2: YX(2,1)=-1/X2
- 370 YR(2,2)=1/R3+1/R2: YX(2,2)=-1/X3-1/X2
- 380 PRINT: FOR I=1 TO 2: FOR J=1 TO 2: PRINT
- 390 PRINT "REAL Y("; I; ","; J; ")="; YR(I,J)
- 400 PRINT "IMG Y("; I; ","; J; ")="; YX(I,J)
- 405 GOSUB 470
- 410 YM(I,J)=FNMG(YR(I,J),YX(I,J))
- 420 YA(I,J)=FNAG(YR(I,J),YX(I,J)): NEXT: NEXT
- 430 PRINT: INPUT "WANT TO SAVE PARAMETERS (Y OR N)"; Q$
- 440 IF Q$="N" OR Q$="END" THEN END
- 450 INPUT "FILE NAME (1ST LETTER PARAMETER)"; F$: ERASE F$
- 460 OPEN #1,"O",F$: MAT WRITE #1,YR,YX,YM,YA: CLOSE #1: END
- 470 IF AR>0 THEN GOTO 480 ELSE GOTO 490
- 480 DEF FNAG(AR,AX) = DG*ATN(AR/AX) :RETURN
- 490 DEF FNAG(AR,AX) = DG*(ATN(AR/AX)+PI):RETURN
-