3 IF LEN D$<3LET D$=" "+D$:GOTO 3
4 IF LEN G$<8LET G$=G$+"0":GOTO 4
5 G$=D$+" "+MID$ (G$,3,2)+" "+MID$ (G$,5,2)+"."+MID$ (G$,7,2):RETURN 
6 Z=Z+B(I)-180:Z=Z-(SGN Z+SGN (Z-360))*180:RETURN 
7 X(I)=X(I-1)+S(I)*C:Y(I)=Y(I-1)+S(I)*S:RETURN 
8 "A"CLEAR :INPUT "M=";U,"MB=";M,"Ms:a(mm)=";A,"b(ppm)=";B,"SIDES=";N
10 DIM B(N),S(N),Q(N),X(N),Y(N):S$="######.###":W$="####.##":WAIT 0
15 INPUT "Xa=";X(0),"Ya=";Y(0),"a(I)=";H,"Xb=";X,"Yb=";Y,"a(II)=";L,"TOTAL Mp=";F
20 T=N+1:P=180/PI :K=5E-3:IF F=0THEN 45
25 DIM P(F),F(F),G(F),H(F),I(F),J(F),K(F),C(F),D(F),E(F)
30 FOR I=1TO F:IF F=N-1LET P(I)=I:GOTO 40
35 PRINT I;":P";:INPUT P(I):CLS 
40 NEXT I
45 FOR I=0TO N:IF IPRINT "S";I;"=";:INPUT S(I):CLS 
50 PRINT "B";I;"=";:INPUT B(I):CLS :NEXT I:END 
55 "B"PRINT "M=";U;" ";:INPUT U
60 CLS :PRINT "MB=";M;" ";:INPUT M
65 CLS :PRINT "a=";A;"mm";" ";:INPUT A
70 CLS :PRINT "b=";B;"ppm";" ";:INPUT B
75 CLS :PRINT "Xa=";X(0);" ";:INPUT X(0)
80 CLS :PRINT "Ya=";Y(0);" ";:INPUT Y(0)
85 CLS :PRINT "a(I)=";H;" ";:INPUT H
90 CLS :PRINT "Xb=";X;" ";:INPUT X
95 CLS :PRINT "Yb=";Y;" ";:INPUT Y
100 CLS :PRINT "a(II)=";L;" ";:INPUT L
105 CLS :FOR I=0TO N:IF IPRINT "S";I;"=";S(I);" ";:INPUT S(I)
110 CLS :PRINT "B";I;"=";B(I);" ";:INPUT B(I)
115 CLS :NEXT I:END 
120 "C"CSIZE 2:COLOR 2:LPRINT "M=";U;",MB=";M:LPRINT "Ms=";A;"mm+";B;"ppm"
125 GOSUB 1:LPRINT "P B(Observed)":GOSUB 1:LF 2:H=DEG H:L=DEG L:Z=H
130 FOR I=0TO N:G=B(I):GOSUB 2:IF I=0LPRINT "A";:GOTO 145
135 IF I=NLPRINT "B";:GOTO 145
140 LPRINT I;
145 LPRINT TAB 4;G$:B(I)=DEG G:LF 2:GOSUB 6:NEXT I:LF -1:GOSUB 1:W=Z-L:W=W-180*SGN W*(SGN (ABS W-1)+1)
150 V=W/T:Z=H:E=0:G=0:L=0
155 GOSUB 1:LPRINT TAB 7;"S(Observed)":GOSUB 1:LF 3
160 FOR I=0TO N:IF I=0THEN 185
165 Q(I)=((A+S(I)*B/1E3)/M)^2*12.96:LPRINT S(I):LF 2:C=COS Z:S=SIN Z
170 D=D+Q(I)*C*C:E=E+Q(I)*S*S:G=G+Q(I)*C*S:GOSUB 7:L=L+S(I):IF F=0THEN 185
175 IF O<FLET O=O+1
180 IF I=P(O)LET F(O)=D:G(O)=E:J(O)=D:K(O)=G:C(O)=G:D(O)=E:E(O)=G
185 B(I)=B(I)-V:GOSUB 6:Q=Q+X(I)/T:R=R+Y(I)/T:NEXT I:LPRINT :GOSUB 1:V=0
190 X=X(N)-X:Y=Y(N)-Y:COLOR 2:LPRINT "WB=";USING W$;3600*W+K*SGN W
195 LPRINT TAB 3;"WB(Ltd)=";2*SQR T*U+K:S=SQR (X*X+Y*Y):LPRINT TAB 3;USING S$;"L=";L
200 LPRINT "Wx=";USING W$;X*100+K*SGN X:LPRINT "Wy=";Y*100+K*SGN Y:LPRINT "Ws=";S*100+K;"cm"
205 USING :LPRINT TAB 3;"Ws/L=1/";INT (L/S/100+.5)*100:LPRINT :S=P*P
210 FOR I=0TO N:X(I)=X(I)-Q:Y(I)=Y(I)-R:D=D+Y(I)^2/S:E=E+X(I)^2/S:G=G-X(I)*Y(I)/S
215 NEXT I:Z=D*E-G*G:J=(G*Y-E*X)/Z:U=(G*X-D*Y)/Z
220 M=SQR (W*W/T-J*X-U*Y)/SQR 3:LPRINT "Mo=";USING "###.##";M*3600+K:IF F=0THEN 275
225 FOR A=1TO F:O=P(A):FOR I=0TO O-1:B=Y(O)-Y(I):C=X(O)-X(I):E(A)=E(A)-B*C/S
230 F(A)=F(A)+B*B/S:G(A)=G(A)+C*C/S:H(A)=H(A)-B/P:I(A)=I(A)+C/P
235 J(A)=J(A)-B*Y(I)/S:K(A)=K(A)+C*Y(I)/S:C(A)=C(A)+B*X(I)/S:D(A)=D(A)-C*X(I)/S
240 NEXT I:NEXT A
245 FOR I=1TO F:A=C(I)*D-J(I)*G:B=D(I)*D-K(I)*G
250 L=F(I)-H(I)^2/T-J(I)^2/D-A*A/D/Z:V=G(I)-I(I)^2/T-K(I)^2/D-B*B/D/Z
255 S=E(I)-H(I)*I(I)/T-J(I)*K(I)/D-A*B/D/Z
260 C=ATN (2*S/(L-V))/2:C=C+45*(2-SGN C-SGN S):USING :LPRINT "P";P(I);":":CSIZE 1:LF -1:CSIZE 2:GRAPH :ROTATE 1
265 LPRINT "O":ROTATE 0:TEXT :LPRINT "le=";USING W$;C+K;"(DEG)"
270 LPRINT "E=";USING "###.#";M*SQR (L+S*TAN C)*100+.05;",F=";M*SQR ABS (V-S*TAN C)*100+.05;"cm":NEXT I
275 Z=H:GOSUB 1:LPRINT "B(Adjusted) / a":GOSUB 1:K=5E-4
280 FOR I=0TO T:G=DMS Z:GOSUB 2:COLOR (I=0OR I=T)*3:LPRINT TAB 6;G$:LPRINT :IF I=0THEN 300
290 IF I=TLF -1:GOTO 310
295 S(I)=S(I)+(C*J+S*U)*Q(I)
300 B(I)=B(I)+(J*Y(I)-U*X(I))/P:G=DMS B(I):GOSUB 2:IF IGOSUB 7
305 COLOR 0:LPRINT G$:GOSUB 6:C=COS Z:S=SIN Z:IF I=0LET X(0)=X(0)+Q:Y(0)=Y(0)+R
310 NEXT I:GOSUB 1:GOSUB 1:LPRINT TAB 7;"S(Adjusted)":GOSUB 1:LPRINT 
315 FOR I=1TO N:LF 2:LPRINT USING S$;S(I)+K:NEXT I:LF 3:GOSUB 1:GOSUB 1:LPRINT TAB 9;"X / Y":GOSUB 1
320 USING "########.###":FOR I=0TO N:X=X(I):LPRINT :IF I=0OR I=NCOLOR 3:GOTO 330
325 X=X+K*SGN X*(X<1E6)
330 LPRINT X:LPRINT Y(I)+K*SGN Y(I):COLOR 0:NEXT I:LPRINT :GOSUB 1:USING :END 
10001 GRAPH :LINE -(216,0),0,0:TEXT :LPRINT :RETURN 
INT X:LPRINT Y(I)+K*SGN Y(I):COLOR 0:NEXT I:LPRINT :GOSUB 1:USING :END 
10001 GRAPH :L