Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-04 - 43,50353/lan5.bas
There is 1 other file named lan5.bas in the archive. Click here to see a list.
00010 '  LAN5
00020 '  DUANE MOORE    D I G I T A L
00030 '  READS THE FILE YPARAM.LAN AND THE PARAMETERS ARE PLOTTED
00040 ' IN A FILE:  YGRAPH.LAN.  SCALES ARE LINEAR, NOT LOG.  SCALING
00050 '  IS AUTOMATIC.
00060 '
00070 PRINT "OUTPUT FILE:  YGRAPH.LAN"
00080 PRINT
00090 FILES YPARAM.LAN,LAN.BAK,YGRAPH.LAN
00100 MARGIN #3,110
00110 SCRATCH #2,#3
00120 PRINT
00130 PRINT "TYPE H FOR HELP"
00140 PRINT "*";
00150 INPUT A$
00160 IF A$="SYS" GOTO 1820
00170 IF A$="DIS" GOTO 240
00180 IF A$="H" GOTO 1730
00190 IF A$="EXIT" GOTO 1820
00200 IF A$="TABLE" GOTO 230
00210 IF A$<>"POLAR" GOTO 250
00220 CHAIN LAN10
00230 CHAIN LAN12
00240 CHAIN LAN,200
00250 FOR J=1 TO 7 STEP 2
00260 IF END#1 GOTO 360
00270 INPUT #1,F
00280 FOR I=1 TO 8
00290 INPUT #1,Y(I)
00300 NEXT I
00310 IF A$="GB" GOTO 340
00320 PRINT #2,F,Y(J),Y(J+1)
00330 GOTO 260
00340 PRINT #2,F,Y(J)*COS(Y(J+1)/57.29577951),Y(J)*SIN(Y(J+1)/57.29577951)
00350 GOTO 260
00360 IF J=1 GOTO 410
00370 IF J=3 GOTO 430
00380 IF J=5 GOTO 450
00390 LET D$="Y(2,2)"
00400 GOTO 460
00410 LET D$="Y(1,1)"
00420 GOTO 460
00430 LET D$="Y(1,2)"
00440 GOTO 460
00450 LET D$="Y(2,1)"
00460 RESTORE #2
00470 GOSUB 530
00480 RESTORE #2
00490 SCRATCH #2
00500 RESTORE #1
00510 NEXT J
00520 GOTO 140
00530 MAT Q=ZER(61)
00540 RESTORE #2
00550 GOTO 1370
00560 RESTORE #2
00570 IF Y0<>Y1 GOTO 650
00580 IF Y0=0 GOTO 620
00590 IF Y0>0 GOTO 640
00600 LET Y1=0
00610 GOTO 650
00620 LET Y1=1
00630 GOTO 650
00640 LET Y0=0
00650 IF Z0<>Z1 GOTO 730
00660 IF Z0=0 GOTO 700
00670 IF Z0>0 GOTO 720
00680 LET Z1=0
00690 GOTO 730
00700 LET Z1=1
00710 GOTO 730
00720 LET Z0=0
00730 PRINT #3 TAB(37)"***"D$"***"
00740 PRINT #3
00750 LET M2=Y0
00760 GOSUB 1650
00770 PRINT#3 TAB(15) M2 TAB(35);
00780 LET M2=Y1
00790 GOSUB 1650
00800 IF A$="GB" GOTO 830
00810 PRINT#3 "MAGNITUDE","'*'"TAB(72)M2
00820 GOTO 840
00830 PRINT #3 "CONDUCTANCE","'*'"TAB(72)M2
00840 PRINT#3
00850 IF P9=20 GOTO 950
00860 LET M2=Z0
00870 GOSUB 1650
00880 PRINT#3 TAB(15)  M2 TAB(35);
00890 LET M2=Z1
00900 GOSUB 1650
00910 IF A$="GB" GOTO 940
00920 PRINT#3 "PHASE    ","'+'"TAB(72)M2
00930 GOTO 950
00940 PRINT #3 "SUSCEPTANCE","'+'"TAB(72)M2
00950 GOSUB 1250
00960 LET L=0
00970 IF END #2,GOTO 1700
00980 INPUT #2,F,Y,Z
00990 LET Q0=INT(60*(Y-Y0)/(Y1-Y0)+.5)+1
01000 LET Q(Q0)=1
01010 LET Q1=INT(60*(Z-Z0)/(Z1-Z0)+.5)+1
01020 LET Q(Q1)=2+Q(Q1)
01030 LET Q2=Q1
01040 IF Q2>Q0 GOTO 1060
01050 LET Q2=Q0
01060 GOSUB 1310
01070 PRINT #3 TAB(15);
01080 FOR I=1 TO Q2
01090 LET Q=Q(I)
01100 IF Q=0 GOTO 1190
01110 IF Q=1 GOTO 1170
01120 IF Q=2 GOTO 1150
01130 PRINT#3 "O";
01140 GOTO 1200
01150 PRINT#3 "+";
01160 GOTO 1200
01170 PRINT#3 "*";
01180 GOTO 1200
01190 PRINT#3 " ";
01200 NEXT I
01210 PRINT#3
01220 LET Q(Q0)=0
01230 LET Q(Q1)=0
01240 GOTO 970
01250 PRINT#3 TAB(15) " I";
01260 FOR I=1 TO 6
01270  PRINT#3  ".........I";
01280 NEXT I
01290 PRINT#3
01300 RETURN
01310 IF INT(L/10)=L/10 GOTO 1350
01320 PRINT #3 F;TAB(15)".";
01330 LET L=L+1
01340 RETURN
01350 PRINT #3 F;TAB(15)"-";
01360 GOTO 1330
01370 LET Y0=1E35
01380 LET Z0=Y0
01390 LET Y1=-1E35
01400 LET Z1=Y1
01410 IF END #2,GOTO 560
01420 INPUT #2,F,Y,Z
01430 IF Y>Y0 GOTO 1450
01440 LET Y0=Y
01450 IF Y<Y1 GOTO 1470
01460 LET Y1=Y
01470 IF Z>Z0 GOTO 1490
01480 LET Z0=Z
01490 IF Z<Z1 GOTO 1510
01500 LET Z1=Z
01510 GOTO 1410
01520 LET M2=Y0
01530 GOSUB 1650
01540 LET Y0=M2
01550 LET M2=Y1
01560 GOSUB 1650
01570 LET Y1=M2
01580 LET M2=Z0
01590 GOSUB 1650
01600 LET Z0=M2
01610 LET M2=Z1
01620 GOSUB 1650
01630 LET Z1=M2
01640 GOTO 660
01650 IF M2=0 GOTO 1690
01660 LET M3=ABS(M2)
01670 LET M1=10^(INT(LOG(M3)/LOG(10)))
01680 LET M2=INT(100*M2/M1+.5)*M1/100
01690 RETURN
01700 GOSUB 1250
01710 PRINT #3,<PA>
01720 RETURN
01730 PRINT
01740 PRINT "COMMAND","DESCRIPTION"
01750 PRINT "Y","PLOT MAGNITUDE AND ARGUMENT VS. FREQUENCY"
01760 PRINT "GB","PLOT CONDUCTANCE AND SUSCEPTANCE VS. FREQUENCY"
01770 PRINT "POLAR","PLOT CONDUCTANCE VS. SUSCEPTANCE"
01780 PRINT "TABLE","PRINT TABLE OF Y PARAMETERS"
01790 PRINT "EXIT","EXIT BACK TO BASIC"
01800 PRINT "DIS","RETURN TO DISPATCHER"
01810 GOTO 140
01820 END