3 R=196+2*(K+U):RETURN 
4 Z=0:GOSUB 1:LPRINT TAB 4;"Adjusted":LPRINT :RETURN 
5 N=PEEK (196+I):RETURN 
6 Q=2*(I-K)-1:RETURN 
7 X=X(O)-X(I):Y=Y(O)-Y(I):RETURN 
8 C=ATN (Y/X)+90*(2-SGN Y-SGN X*SGN Y):RETURN 
9 S=SQR (X*X+Y*Y):C(G)=V:E=SIN C/S*P:V=COS C/S*P
10 IF I>KLET C(Q-1)=E:C(Q)=-V:C(1,Q-1)=C(1,Q-1)+E:C(1,Q)=C(1,Q)-V
11 IF O>KLET C=2*(O-K)-1:C(C-1)=-E:C(C)=V:C(1,C-1)=C(1,C-1)-E:C(1,C)=C(1,C)+V
12 RETURN 
13 A=R+4*J:I=PEEK A:GOSUB 6:O=PEEK (A+1):GOSUB 7:GOSUB 8:RETURN 
16 V=1+G+5E-7:G$=STR$ (INT V-1):H$=STR$ (V-INT V)
17 IF LEN G$<3LET G$=X$+G$:GOTO 17
18 IF LEN H$<8LET H$=H$+"0":GOTO 18
19 LPRINT G$;X$;MID$ (H$,3,2);X$;MID$ (H$,5,2);".";MID$ (H$,7,2):RETURN 
23 R=PEEK (196+K+U+W):RETURN 
24 P=PEEK (196+2*(K+U)+R+H):RETURN 
25 FOR A=0TO G-1:C=C(M,A):IF C=0THEN 29
26 FOR B=ATO G-1:O=C(M,B)
27 IF OLET S=VAL I$(B)-B+A:E=INT (S/10):S=S-E*10:N(E,S)=N(E,S)+C*O*H
28 NEXT B:GOSUB 30
29 NEXT A:B=A
30 L(A)=L(A)+C(M,A)*C(M,B)*H:C(M,A)=0:RETURN 
31 FOR J=1TO F:Q=W+4*J:A=PEEK Q:B=PEEK (Q+1)
32 IF (I=AOR I=B)AND (O=AOR O=B)COLOR 1+2*(PEEK (Q+2)+PEEK (Q+3)=0):RETURN 
33 NEXT J:RETURN 
39 GOSUB 1:FOR I=1TO K+U:GOSUB 5:IF N=0LF 2:GOTO 42
40 LPRINT " 0 00 00.00":D(Z+1)=0:FOR J=2TO N:Y=Z+J:IF D(0)LET D(Y)=DMS D(Y)
41 G=D(Y):GOSUB 16:D(Y)=DEG G:NEXT J:Z=Z+N
42 GOSUB 1:NEXT I:Z=0:RETURN 
43 FOR I=ATO 2*U-1:E=VAL I$(I):F=INT (E/10):R=C(I)*(H>0)+(H=0):IF A=ITHEN 47
44 IF ILET B=I-E+VAL I$(I-1)+1
45 R=R*(H>0):IF I<=BTHEN 47
46 FOR J=A*(A>B)+B*(B>=A)TO I-1:Q=E-I+J:C=INT (Q/10):R=R-N(C,Q-10*C)*C(V,J):NEXT J
47 R=R/N(F,E-10*F):C(V,I)=R:IF V=0LET X=X+R*R:GOTO 49
48 Y=Y+R*R:Z=Z+R*C(I)
49 NEXT I:RETURN 
50 COLOR 2:LPRINT "M=";M;CHR$ 34:COLOR 0:M$=STR$ M:DIM I$(2*U-1)*4:IF D(0)=0RETURN 
55 X(0)=0:FOR I=0TO 2*U:C(I)=0:NEXT I:GOSUB 3:GOTO 330
60 "A"CLEAR :INPUT "Known Points=";K,"Unknown Points=";U:U$="########.###":X=K+U:X$=" "
62 F$=":From P":D$="Directions":B$="Equal a&b":S$="=":A$="Azimuths":Q$="Total "
68 V$="value":WAIT 0:INPUT "M=";M:PRINT Q$;D$;S$;:INPUT D:CLS :DIM X(X),Y(X),D(D),C(1,2*U)
70 O$="Observed ":Y$="###.##":FOR I=1TO X:GOSUB 3:PRINT "X";I;S$;:INPUT X(I):CLS 
72 PRINT "Y";I;S$;:INPUT Y(I):CLS :PRINT D$;S$;:INPUT N:CLS :POKE 196+I,N:IF N=0THEN 85
75 FOR J=1TO N:Y=Z+J:PRINT Y;":Aim P";:INPUT G:CLS :POKE 196+2*X+Y,G:IF J>1PRINT O$;V$;S$;:INPUT D(Y):CLS 
80 NEXT J:Z=Z+N
85 NEXT I:Z=0:Z$=":Points=":PRINT Q$;O$;A$;S$;:INPUT T:CLS :R=193+2*X+D:IF T=0THEN 100
90 DIM A(T):FOR I=1TO T:PRINT "a";I;F$;:INPUT A:CLS :INPUT "To P";B:PRINT O$;V$;S$;:INPUT A(I):CLS :INPUT "Ma=";C
95 POKE R+4*I,A,B,INT C,100*(C-INT C):NEXT I
100 PRINT Q$;O$;"Sides=";:INPUT L:CLS :R=R+4*T:IF L=0END 
105 IF L>1PRINT B$;"(Y/N)";:INPUT W$:CLS :IF W$<>"Y"AND W$<>"N"THEN 105
110 DIM S(L):FOR I=1TO L:PRINT "S";I;F$;:INPUT C:CLS :INPUT "To P";E:PRINT O$;V$;S$;:INPUT S(I):CLS 
115 IF W$="N"OR I=1INPUT "Ms:a(mm)=";A,"b(ppm)=";B
120 POKE R+4*I,C,E,10*A,10*B:NEXT I:END 
160 "B"PRINT "M=";M;X$;:INPUT M
165 CLS :FOR I=1TO X:N=PEEK (196+I):PRINT "X";STR$ I;S$;X(I);X$;:INPUT X(I)
170 CLS :PRINT "Y";I;S$;Y(I);X$;:INPUT Y(I)
175 CLS :PRINT D$;S$;N;X$;:INPUT N:POKE 196+I,N
180 IF N=0THEN 200
185 CLS :FOR J=1TO N:Y=Z+J:GOSUB 3:R=R+Y:PRINT Y;":Aim P";PEEK R;X$;:INPUT E:POKE R,E
190 CLS :IF J>1PRINT "D";Y;S$;D(Y);X$;:INPUT D(Y)
195 CLS :NEXT J:Z=Z+N
200 NEXT I:Z=0:IF T=0THEN 230
205 FOR I=1TO T:P=R-3+4*I:PRINT "a";I;F$;PEEK P;X$;:INPUT E:POKE P,E
210 CLS :PRINT "To P";PEEK (P+1);X$;:INPUT E:POKE P+1,E
215 CLS :PRINT "a=";A(I);X$;:INPUT A(I)
220 CLS :PRINT "Ma=";PEEK (P+2)+PEEK (P+3)/100;X$;:INPUT C:POKE P+2,INT C,100*(C-INT C)
225 CLS :NEXT I
230 IF L=0END 
235 IF L>1PRINT B$;": ";W$;X$;:INPUT W$:IF W$<>"Y"AND W$<>"N"THEN 235
240 CLS :FOR I=1TO L:P=R-3+4*(T+I):PRINT "S";I;F$;PEEK P;X$;:INPUT E:POKE P,E
245 CLS :P=P+1:PRINT "To P";PEEK P;X$;:INPUT E:POKE P,E
250 CLS :PRINT "S=";S(I);X$;:INPUT S(I)
255 CLS :P=P+1:IF W$="Y"AND I>1POKE P,10*A,10*B:GOTO 270
260 PRINT "Ms:a(mm)=";PEEK P/10;X$;:INPUT A:POKE P,10*A
265 CLS :P=P+1:PRINT "b(ppm)=";PEEK P/10;X$;:INPUT B:POKE P,10*B
270 CLS :NEXT I:END 
310 "C"GOSUB 50:GOSUB 1:LPRINT "Point Direc":GOSUB 1:LPRINT :LPRINT TAB 7;"No. Aim":GOSUB 1
315 GOSUB 3:FOR I=1TO X:GOSUB 5:LPRINT "P";I;:IF N=0LF 2:GOTO 325
320 D(Z+1)=0:FOR J=1TO N:Y=Z+J:LPRINT TAB 6;Y;TAB 11;"P";STR$ PEEK (R+Y):NEXT J:POKE 196+X+I,Z:Z=Z+N
325 GOSUB 1:NEXT I:Z=0:GOSUB 1:LPRINT "tions":GOSUB 1:LPRINT "Reduced ";V$:GOSUB 39:LPRINT 
330 P=180/PI :R=R+D:IF T=0THEN 345
335 LPRINT O$;A$:FOR H=1TO T:Q=R+4*H:A=PEEK (Q-1)+PEEK Q/100
340 GOSUB 2:LPRINT " Ma=";A:COLOR 3*(A=0):G=A(H):LPRINT " a=";:GOSUB 16:COLOR 0:LPRINT :NEXT H:LPRINT 
345 R=R+4*T:LPRINT :IF L=0THEN 360
350 LPRINT O$;"Sides:":FOR H=1TO L:Q=R+4*H:A=PEEK (Q-1)/10:B=PEEK Q/10:GOSUB 2
355 LPRINT " a=";A;",b=";B:COLOR 3*(A+B=0):LPRINT " S=";S(H):COLOR 0:LPRINT :NEXT H:LPRINT 
360 GOSUB 3:FOR I=1TO K+U:GOSUB 5:IF N=0THEN 410
365 A=2*(I-K)-2:FOR J=1TO N:O=PEEK (R+Z+J):IF O<=KTHEN 405
370 B=2*(O-K)-2:IF I<=KTHEN 385
375 IF O<IAND VAL I$(A)<I-OLET I$(A)=STR$ (I-O)
380 IF O>IAND VAL I$(B)<O-ILET I$(B)=STR$ (O-I)
385 FOR H=JTO N:Q=PEEK (R+Z+H):IF Q<=KTHEN 400
390 IF Q<OAND VAL I$(B)<O-QLET I$(B)=STR$ (O-Q)
395 C=2*(Q-K)-2:IF Q>OAND VAL I$(C)<Q-OLET I$(C)=STR$ (Q-O)
400 NEXT H
405 NEXT J:X(0)=X(0)+1:Z=Z+N
410 NEXT I:Z=0:FOR I=1TO U:N=2*I-2:C=VAL I$(N)*2+1:IF I=1LET I$(0)="0":GOTO 420
415 I$(N)=STR$ (VAL I$(N-1)+C)
420 I$(N+1)=STR$ (VAL I$(N)+C+1):NEXT I:M=1:G=2*U:DIM N(INT (VAL I$(N+1)/10),9),L(G)
425 FOR I=1TO K+U:W=0:GOSUB 5:GOSUB 6:GOSUB 3:IF N=0THEN 445
430 FOR J=1TO N:O=PEEK (R+Z+J):GOSUB 7:GOSUB 8:F=C-D(Z+J):IF F<0LET F=F+360
435 IF M=1LET W=W+F/N:NEXT J:M=0:GOTO 430
440 V=F-W:GOSUB 9:H=1:GOSUB 25:NEXT J:M=1:H=-1/N:GOSUB 25:Z=Z+N
445 NEXT I:M=0:GOSUB 3:R=R-3+D:IF T=0THEN 460
450 FOR J=1TO T:GOSUB 13:V=C-DEG A(J):GOSUB 9:H=1E4:Z=PEEK (A+2)+PEEK (A+3)/100:IF ZLET H=VAL M$^2/Z/Z
455 GOSUB 25:NEXT J
460 W=G-1:R=R+4*T:IF L=0THEN 485
465 FOR J=1TO L:GOSUB 13:IF I>KLET C(Q-1)=-COS C:C(Q)=-SIN C
470 S=SQR (X*X+Y*Y):C(G)=S-S(J):IF O>KLET F=2*(O-K)-1:C(F-1)=COS C:C(F)=SIN C
475 H=10:Z=PEEK (A+3)/1E3:IF ZLET H=(VAL M$/(PEEK (A+2)+S(J)*Z))^2/.1296
480 GOSUB 25:NEXT J
485 FOR H=0TO W:Z=VAL I$(H):Q=INT (Z/10):A=Z-VAL I$(H-SGN Z)+(H=0):FOR I=HTO W:Y=VAL I$(I)-I
490 X=VAL I$(I-SGN I)-Y-(I=0):IF H<=XTHEN 525
495 E=Y+H:F=INT (E/10):M=E-10*F:IF A=1THEN 515
500 FOR J=H-A+1TO H-1:IF J<=XTHEN 510
505 B=Z-H+J:C=INT (B/10):V=Y+J:S=INT (V/10):N(F,M)=N(F,M)-N(C,B-10*C)*N(S,V-10*S)
510 NEXT J
515 IF I=HLET O=SQR N(Q,Z-10*Q)
520 N(F,M)=N(F,M)/O
525 NEXT I:IF A>1FOR J=H-A+1TO H-1:B=Z-H+J:F=INT (B/10):L(H)=L(H)-N(F,B-10*F)*L(J):NEXT J
530 L(H)=L(H)/O:L(G)=L(G)-L(H)^2:NEXT H:J=K+U
535 FOR H=WTO 0STEP -1:X=-L(H):FOR I=H+1TO W:B=VAL I$(H)
540 IF I<GLET F=VAL I$(I)-I+H:IF F>VAL I$(I-1)LET E=INT (F/10):X=X-N(E,F-10*E)*L(I)
545 NEXT I:Q=INT (B/10):X=X/N(Q,B-10*Q):L(H)=X:IF INT (H/2)<H/2LET Y(J)=Y(J)+X:NEXT H
550 X(J)=X(J)+X:J=J-1:NEXT H:USING U$:M=SQR (L(G)/(D-X(0)-G+T+L))*100
555 GOSUB 4:LPRINT TAB 6;"X / Y":LPRINT :GOSUB 1:Z=1:FOR I=1TO K+U:X=X(I):Y=Y(I):J=1:IF I<=KCOLOR 3:J=0
560 LPRINT X+5E-4*SGN X*(X<1E6)*J:LPRINT Y+5E-4*SGN Y*J:GOSUB 5:IF NLF N-2
565 GOSUB 1:NEXT I:GOSUB 4:LPRINT TAB 6;"a":LPRINT :GOSUB 1:F=T:GOSUB 3:W=R-3+D
570 FOR I=1TO K+U:GOSUB 5:IF N=0LF 2:GOTO 605
575 FOR H=1TO N:R=Z:GOSUB 24:O=P:GOSUB 7
580 G=DMS (ATN (Y/(X-1E-5))+180*(X<=0)+360*(X>0AND Y<0)):IF I<=KAND O<=KCOLOR 3:GOTO 590
585 IF TGOSUB 31
590 GOSUB 16:COLOR 0:IF H=1LET E=G:NEXT H
595 C=DEG G-DEG E:IF C<0LET C=C+360
600 D(Z+H)=C:NEXT H:Z=Z+N
605 GOSUB 1:NEXT I:GOSUB 4:LPRINT TAB 8;"S":LPRINT :GOSUB 1:F=L
610 W=W+4*T:FOR I=1TO K+U:GOSUB 5:IF N=0LF 2:GOTO 630
615 FOR H=1TO N:R=Z:GOSUB 24:O=P:GOSUB 7:IF I<=KAND O<=KCOLOR 3:GOTO 625
620 IF LGOSUB 31
625 LPRINT TAB 1;SQR (X*X+Y*Y)+5E-4:COLOR 0:NEXT H:Z=Z+N
630 GOSUB 1:NEXT I:GOSUB 4:LPRINT TAB 2;D$:LPRINT :GOSUB 1:USING Y$:FOR I=1TO K+U:GOSUB 5:IF N=0LF 2:GOTO 645
640 LPRINT " 0 00 00.00":FOR J=2TO N:G=DMS D(Z+J):GOSUB 16:NEXT J:Z=Z+N
645 GOSUB 1:NEXT I:Z=0:GOSUB 1:LF 2:LPRINT " Ms/S":LPRINT :GOSUB 1:V=0:USING :GOSUB 3:G=R-3+D+4*T
650 FOR O=1TO K+U:IF PEEK (196+O)=0LF 2:GOTO 715
655 FOR H=1TO PEEK (196+O):R=Z:GOSUB 24:IF P<=KAND O<=KLPRINT :GOTO 710
660 IF O<POR PEEK (196+P)=0THEN 675
665 W=P:GOSUB 23:FOR I=1TO PEEK (196+P):IF PEEK (196+2*(K+U)+R+I)=OLPRINT :GOTO 710
670 NEXT I
675 IF L=0THEN 690
680 FOR J=1TO L:Q=G+4*J:A=PEEK Q:B=PEEK (Q+1):IF O=AAND P=BAND PEEK (Q+2)+PEEK (Q+3)=0LPRINT :GOTO 710
685 NEXT J
690 X=X(P)-X(O):Y=Y(P)-Y(O):S=SQR (X*X+Y*Y):FOR I=0TO 2*U:C(I)=0:NEXT I
695 IF P>KLET A=2*(P-K)-2:C(A)=X/S:C(A+1)=Y/S
700 IF O>KLET C=2*(O-K)-2:C(C)=-X/S:C(C+1)=-Y/S:IF O<PLET A=C
705 X=0:GOSUB 43:LPRINT "1/";INT (S/M/SQR X+.5)*100
710 NEXT H:Z=Z+PEEK (196+O)
715 GOSUB 1:NEXT O:USING Y$:COLOR 2:LPRINT "Mo=";M*36+.005:H=0:B=0:FOR O=1TO U:X=0:Y=0:Z=0:LPRINT 
720 FOR V=0TO 1:A=2*O-2+V:GOSUB 43:NEXT V
725 A=ATN (2*Z/(X-Y))/2:A=A+45*(2-SGN A-SGN Z):LPRINT "P";STR$ (K+O);":";:GRAPH :ROTATE 1
730 LINE -(46,13),9:LPRINT "O":TEXT :USING "####.#":LPRINT TAB 4;"le=";A+.05;"(DEG)"
735 LPRINT " E=";TAB 2;M*SQR (X+Z*TAN A)+.05;",F=";TAB 10;M*SQR (Y-Z*TAN A)+.05;"cm":NEXT O:USING :END 
10001 GRAPH :COLOR 0:LINE -(216,0),(Z>0):TEXT :LPRINT :RETURN 
未曾测试,谨慎试用!