20 ANGLE0:CLEAR:INPUT"nN",R:DIMA(R,R),L(R,R),P(R,R) 30 FORI=1TOR:FORJ=I+1TOR 40 CLS:PRINT"Barra";I;J;:A$=INPUT$(1):IFA$<>CHR$(13)THENINPUT"Ang",A(I,J):L(I,J)=1.1:L(J,I)=1.1:A(J,I)=A(I,J)+180 50 NEXT:NEXT 60 INPUT"FE",U:IFU=0THEN200 70 FOR I=1 TOU:CLS:INPUT"Nudo";K:LOCATE10,0:INPUT"Mod";M:LOCATE10,1:INPUT"Ang";N 80 GOSUB800:A(K,K)=A(K,K)+X:P(K,K)=P(K,K)+Y:NEXT 100 FOR I=1TOR:K=0 110 IF A(I,I)<>0 OR P(I,I)<>0THENGOSUB500 112 IF K=1THENGOSUB900:GOTO100 115 IF K=2 AND ABS(FRAC(E/180))=.5 THENT=E:E=F:F=T:T=W:W=Z:Z=T 120 IF K=2 THENGOSUB600:GOTO100 130 NEXT 140 U=0:GOSUB700 150 IF U>0 THEN100 200 BEEP:FOR I=1TOR:FOR J=I TOR 220 IFL(I,J)>0THENCLS:PRINT"Barra";I;J;:LOCATE11,0:PRINT"Mod";P(I,J);:LOCATE11,1:PRINT"Ang";A(I,J) 230 NEXT:NEXT 250 FOR I=1 TOR:FOR J=I TOR 255 A(I,I)=0:P(I,I)=0 260 IF L(I,J)>0 THENL(I,J)=1.1:L(J,I)=1.1 270 NEXT:NEXT:GOTO60 500 FOR J=1 TOR 510 IF L(I,J)=1.1 THENGOSUB550 520 NEXT:RETURN 550 K=K+1:IF K=1THENE=A(I,J):W=J 560 IF K=2 THENF=A(I,J):Z=J 570 RETURN 600 P(I,Z)=(P(I,I)*COSE-A(I,I)*SINE)/SIN(E-F):P(Z,I)=P(I,Z) 610 P(I,W)=(-A(I,I)-P(I,Z)*COSF)/COSE:P(W,I)=P(I,W) 620 M=P(I,Z):N=A(I,Z)-180:GOSUB800:A(Z,Z)=A(Z,Z)+X:P(Z,Z)=P(Z,Z)+Y 630 N=A(I,Z):GOSUB800:A(I,I)=A(I,I)+X:P(I,I)=P(I,I)+Y 640 M=P(I,W):N=A(I,W1)-180:GOSUB800:A(W,W)=A(W,W)+X:P(W,W)=P(W,W)+Y 650 N=A(I,N1):GOSUB800:A(I,I)=A(I,I)+X:P(I,I)=P(I,I)+Y 660 L(I,W)=1:L(I,Z)=1:L(W,I)=1:L(Z,I)=1:RETURN 700 FOR M=1 TOR:FOR N=M+1 TOR 710 K=0:IF L(M,N)=1.1 AND A(M,M)=0 AND P(M,M)=0 THENI=M:GOSUB500 720 IF K=2 OR K=1THENP(I,W)=0:P(I,Z)=0:P(W,I)=0:P(Z,I)=0:GOSUB 660:K=0:U=U+1 730 NEXT:NEXT:RETURN 800 X=M*COSN:Y=M*SINN:RETURN 900 P(I,W)=SQR(A(I,I)^2+P(I,I)^2) 910 IF A(I,I)<0 OR P(I,I)<0 THENP(I,W)=-P(I,W) 920 P(W,I)=P(I,W):L(I,W)=1:L(W,I)=1:A(W,W)=A(W,W)+P(I,W)*COS(E+180):P(W,W)=P(W,W)+P(I,W)*SIN(E+180):A(I,I)=A(I,I)+P(I,W)*COSE:P(I,I)=P(I,I)+P(I,W)*SINE:RETURN