2 Y=VAL P$(I):Z=VAL P$(1,I):S=S(I):RETURN  3 M=INT (X/10):N=X-10*M:IF S=0RETURN  4 N(M,N)=N(M,N)+J/S:RETURN  5 "A"CLEAR :WAIT 0:USING :U$="#####.###":INPUT "Network Kind?(L,T)";N$ 10 B$=" Points":M$="cm":IF N$="L"LET B$=" BM":U$=U$+"#":M$="mm" 20 PRINT "Known";B$;"=";:INPUT B:CLS :PRINT "Unknown";B$;"=";:INPUT U:CLS :INPUT "Tota1 dh=";T 25 DIM H(B+U),D(T),S(T),P$(1,T)*2:U=U-1:DIM L(U),D$(U)*4:IF N$="T"LET B$=" P" 30 FOR I=1TO B:PRINT "H";I;"=";:INPUT H(I):CLS :NEXT I 35 FOR I=1TO T:PRINT "dh";I;"=";:INPUT D(I):CLS :PRINT "S";I;"(km)=";:INPUT S(I):CLS  40 PRINT "From";B$;:INPUT P$(I):CLS :PRINT "To";B$;:INPUT P$(1,I):CLS :NEXT I:END  45 "B"FOR I=1TO B:PRINT "H";I;"=";H(I);" ";:INPUT H(I) 50 CLS :NEXT I:FOR I=1TO T:PRINT "dh";I;"=";D(I);" ";:INPUT D(I) 55 CLS :PRINT "S";I;"=";S(I);" ";:INPUT S(I) 60 CLS :PRINT "From";B$;P$(I);" ";:INPUT P$(I) 65 CLS :PRINT "To";B$;P$(1,I);" ";:INPUT P$(1,I) 70 CLS :NEXT I:END  80 "C"GOSUB 1:LPRINT " Observed":LPRINT "No. dh S":GOSUB 1 85 FOR I=1TO T:GOSUB 2:LPRINT STR$ I;TAB 3;USING U$;D(I);TAB 12;USING "###.##";S:USING :IF N$="T"LET S(I)=S*S 90 IF Y>BAND VAL D$(Z-B-1)<Z-YLET D$(Z-B-1)=STR$ (Z-Y) 95 H(Z)=H(Y)+D(I):NEXT I:GOSUB 1:IF UFOR I=1TO U:D$(I)=STR$ (VAL D$(I-1)+VAL D$(I)+1):NEXT I 100 DIM N(INT (VAL D$(U)/10),9):FOR I=1TO T:GOSUB 2:H=Z-B-1:X=VAL D$(H):J=1:GOSUB 3 105 D=H(Z)-H(Y)-D(I):L(H)=L(H)+D/S 110 IF Y>BLET X=X+Y-Z:J=-1:GOSUB 3:H=Y-B-1:X=VAL D$(H):J=1:GOSUB 3:L(H)=L(H)-D/S 115 L=L+D*D/S:NEXT I:S=0:USING U$:FOR H=0TO U:X=VAL D$(H):GOSUB 3:P=M:Q=N:A=X-VAL D$(H-SGN X)+(H=0) 120 W=X:FOR I=HTO U:Y=VAL D$(I)-I:Z=VAL D$(I-SGN I)-Y-(I=0):IF H<=ZTHEN 155 125 X=Y+H:GOSUB 3:F=M:G=N:IF A=1THEN 145 130 FOR J=H-A+1TO H-1:IF J<=ZTHEN 140 135 X=W-H+J:GOSUB 3:C=M:R=N:X=Y+J:GOSUB 3:N(F,G)=N(F,G)-N(C,R)*N(M,N) 140 NEXT J 145 IF I=HLET O=SQR N(P,Q) 150 N(F,G)=N(F,G)/O 155 NEXT I:IF A>1FOR J=H-A+1TO H-1:X=W-H+J:GOSUB 3:L(H)=L(H)-N(M,N)*L(J):NEXT J 160 L(H)=L(H)/O:L=L-L(H)^2:NEXT H:FOR H=UTO 0STEP -1:W=-L(H) 165 IF H<UFOR I=H+1TO U:X=VAL D$(I)-I+H:IF X>VAL D$(I-1)GOSUB 3:W=W-N(M,N)*L(I):NEXT I 170 X=VAL D$(H):GOSUB 3:W=W/N(M,N):L(H)=W:H(B+1+H)=H(B+1+H)+W:NEXT H:C=.00005:O=.005 175 GOSUB 1:LPRINT TAB 10;"Adjusted":LPRINT TAB 13;"dh":GOSUB 1:P=1000:IF N$="T"LET C=.0005:P=100 180 FOR I=1TO T:GOSUB 2:D=H(Z)-H(Y):LPRINT D+C*SGN D:D(I)=D:NEXT I:GOSUB 1:GOSUB 1:LPRINT TAB 13;"1/Ph":S=0 185 LPRINT B$;TAB 7;"H Mh(";M$;")":GOSUB 1:V=SQR L/SQR (T-U-1)*P:FOR H=-BTO U 190 D=H+B+1:USING U$:LPRINT STR$ D;:COLOR (H<0)*3:LPRINT TAB 2;H(D)+C*SGN H(D);:IF H<0LPRINT :LPRINT :GOTO 220 195 Q=0:FOR I=HTO U:L(I)=0:NEXT I:L(H)=1:FOR I=HTO U:Z=VAL D$(I):IF I=HTHEN 210 200 A=I-Z+VAL D$(I-1)+1:E=H:IF A>HLET E=A 205 FOR J=ETO I-1:X=Z-I+J:GOSUB 3:L(I)=L(I)-N(M,N)*L(J):NEXT J 210 X=Z:GOSUB 3:L(I)=L(I)/N(M,N):Q=Q+L(I)^2:NEXT I:COLOR 2:USING "###.##":LPRINT TAB 12;Q+O 215 LPRINT TAB 12;V*SQR Q+O 220 COLOR 0:NEXT H:GOSUB 1:LPRINT :COLOR 2:LPRINT "Mo=";V+O;M$:COLOR 0:USING :END  10001 GRAPH :LINE -(216,0):TEXT :LPRINT :RETURN  OR 0:NEXT H:GOSUB 1:LPRINT :COLOR 2:LPRINT "Mo=";V+O;M$:COL
|