CALCULO DE POLIGONAL
30 PRINT “POLIGONAL CERRADA”
35 ON ERROR GOTO 800
40 CLEAR
50 INPUT “CUANTOS LADOS…”; L
60 DIM A(4,L+1),B(3,L),C(2,L+1),D(3,L+1),G(L),H(L),Z(L)
70 FOR I=1 TO L
80 PRINT “DIST.(“;I;”)=”;: INPUT D(1,I): NEXT I
85 PRINT “AZIMUT A, DESVIACIONES D,EXTERNOS E,INTERNOS I,RUMBOS, R”
90 INPUT “AZIMUT, DESV, EXT, INT, RUMBOS”; A$
91 IF A$=”A” OR A$=”AZIMUT” THEN 95
92 IF A$=”D” OR A$=”DESV” THEN 120
93 IF A$=”I” OR A$=”INT” OR A$=”INTERNOS” THEN 100
94 IF A$=”R” OR A$=”RUMBOS” THEN 248
95 IF A$=”E” OR A$=”EXT” THEN 158
96 FOR I= 1 TO L: PRINT “AZ(=”;I;”)”;: INPUT A(2,I) : NEXT I:GOTO 241
100 I=1
110 INPUT “PRIMER AZIMUT=”;A(1,I)
111 I=1
112 I=I+1: IF I>L+1 THEN 116
113 PRINT “INT(“;I;”)=”;: INPUT A(0,I):A(1,I)=A(0,I)
114 IF A(0,I)>180 THEN A(1,I)=A(0,I)-180: GOTO 112
115 IF A(0,I)<180 THEN A(1,I)=-(180-A(0,I)) : GOTO 112
116 PRINT “CHEQUEO DE ANG. INTERNOS”:FOR I=2 TO L+1:PRINT “INT(“;I;”)=”; DMS$(A(0,I)): NEXT I: GOTO 172
120 FOR I=1 TO 1
121 PRINT “PRIMER AZIMUT=”;: INPUT A(1,I):NEXT I
125 FOR I=2 TO L
130 PRINT “DESV(“;I;”)=”;: INPUT A(1,I): NEXT I
140 FOR I=A(1,L+1) TO A(1,L+1)
150 INPUT “ULTIMA DESV=”;A(1,L+1): NEXT I
155 GOTO 172
158 FOR I=1 TO 1
159 INPUT “PRIMER AZIMUT=”;A(0,I): NEXT I
160 FOR I=2 TO L+1
162 PRINT “EXT(“;I;”)”;: INPUT A(0,I):A(1,I)=A(0,I)
CALCULO DE POLIGONAL
163 IF A(1,I)>180 THEN A(1,I)=A(1,I)-180
164 IF A(1,I)<180 THEN A(1,I)=-(180-A(1,I)): NEXT I
165 PRINT “CHEQUEO DE EXTERNOS”:FOR I=2 TO L+1
166 PRINT “EXT(“;I;”)=”;DMS$(A(1,I): NEXT I
172 PRINT “CHEQUEO DE DESVIACIONES”
173 I=1
174 I=I+1: IF I>L THEN 177
175 IF A(1,I)>0 THEN PRINT “DESV(“;I;”)=”;DMS$(A(1,I)); “ “;” DER”:GOTO 174
176 IF A(1,I)<0 THEN PRINT “DESV(“;I;”)”;DMS$(ABSA(1,I));” “;” IZQ”: GOTO 174
177 B=0
178 FOR I=2 TO L+1
179 B=B+A(1,I): NEXT I
180 PRINT “ERROR ANG=”;DMS$(360-ABSB)
181 I=I+1:IF I>L+1 THEN 190
182 IF A(1,I)>180 THEN PRINT “INT(“;I;”)=”; DMS$(180-A(1,I))
183 IF A(1,I)<180 THEN PRINT “INT(“;I;”)=”; DMS$(180-ABSA(1,I)):GOTO 180
190 SET N: PRINT “CHEQUEO DE DIST. Y AZIMUT”
200 A=0: FOR I=1 TO L
210 A=A+A(1,I):A(2,I)=A
220 IF A(2,I)>360 THEN A(2,I)=A(2,I)-360
230 IF A(2,I)<0 THEN A(2,I)=360-ABSA(2,I)
240 NEXT I
241 FOR I=1 TO L
242 PRINT “(“;I;”)”;: PRINT D(1,I);” AZ”;DMS$(A(2,I)): NEXT I: GOTO 280
248 I=0
249 I=I+1: IF I>L THEN 300
250 PRINT “RUMBO”;I;: INPUT A(1,I)
252 INPUT “CUADRANTE 1=NE,2=SE,3=SW,4=NW”;R$
260 IF R$=”1” GOTO 270
261 IF R$=”2” GOTO 271
262 IF R$=”3” GOTO 272
263 IF R$=”4” GOTO 273
270 A(2,I)=A(1,I): GOTO 249
271 A(2,I)=180-A(2,I): GOTO 249
272 A(2,I)=180+A(1,I):GOTO 249
CALCULO DE POLIGONAL
273 A(2,I)=360-A(1,I): GOTO 249
274 A=0: FOR I=1 TO L
275 A=A+A(2,I): NEXT
276 PRINT A-360
280 I=0:PRINT “RUMBO CALCULADO”
282 I=I+1:IF I>L THEN 300
283 IF A(2,I)<90 THEN 287
284 IF A(2,I)>90 AND A(2,I)<=180 THEN 288
285 IF A(2,I)=>180 AND A(2,I)<=270 THEN 289
286 IF A(2,I)=>270 AND A(2,I)<=360 THEN 290
287 PRINT “R(“;I;”)=”;” N”;DMS$(A(2,I));” E”:GOTO 282
288 PRINT “R(“;I;”)=”;” S”;DMS$(180-A(2,I));” E”:GOTO 282
289 PRINT “R(“;I;”)=”;” S”;DMS$(A(2,I)-180);” W”:GOTO 282
290 PRINT “R(“;I;”)=”;” N”;DMS$(360-A(2,I));” W”:GOTO 282
300 I=0:PRINT “CALCULANDO”;
305 I=I+1
310 IF I>L THEN 410
320 IF A(2,I)<=90 THEN 360
330 IF A(2,I)=>90 AND A(2,I)<=180 THEN 380
340 IF A(2,I)=>180 AND A(2,I)<=270 THEN 390
350 IF A(2,I)=>270 AND A(2,I)<=360 THEN 400
360 B(1,I)=D(1,I)*COSA(2,I):C(1,I)=D(1,I)*SINA(2,I):GOTO 305
380 H(I)=D(1,I)*COSA(2,I):C(1,I)=D(1,I)*SINA(2,I):GOTO 305
390 H(I)=D(1,I)*COSA(2,I):Z(I)=D(1,I)*SINA(2,I):GOTO 305
400 B(1,I)=D(1,I)*COSA(2,I):Z(I)=D(1,I)*SINA(2,I):GOTO 305
410 N=0:FOR I=1 TO L
420 N=N+B(1,I):NEXT I
430 S=0:FOR I=1 TO L
440 S=S+H(I):NEXT I
450 E=0:FOR I=1 TO L
460 E=E+C(1,I):NEXT I
470 O=0:FOR I=1 TO L
480 O=0+Z(I):NEXT I
500 FOR I=1 TO L
510 B(2,I)=B(1,I)
515 IF B(2,I)<=0 THEN B(2,I)=H(I)
520 G(I)=C(1,I)
CALCULO DE POLIGONAL
525 IF C(1,I)<=0 THEN G(I)+Z(I)
530 SET N:PRINT :PRINT;
540 PRINT “LA(“;I;”)=”;
545 SET F3:PRINT B(2,I);
546 SET N:PRINT “LO(“;I;”)=”;
547 SET F3:PRINT G(I):NEXT I
550 SET F3:PRINT “ N”;N;” “;” E=”;E;” “; S=”;S;” “;” O=”;O
560 J=SQR(ABS(N+S)^2+(ABS(E+O)^2)
570 PRINT “ERROR DE CIERRE=”;
580 T=0
590 FOR I=1 TO L:T=T+D(1,I):NEXT I:IF J=0 THEN 610
600 SET F3:PRINT “PERIMETRO=”;T;” PRECISION 1 EN”;
1/(J/T):GOTO 620
610 PRINT :PRINT “CERO ERROR DE DISTANCIA”
620 PRINT “CALCULANDO”;
630 K=(N+S)/(N-S):M=(E+O)/(E-O)
640 FOR I=1 TO L
650 IF B(2,I)>0 THEN B(3,I)=B(2,I)-B(2,I)*K
660 IF B(2,I)<0 THEN B(3,I)=B(2,I)+B(2,I)*K
670 A(3,I)=G(I)-G(I)*M
680 IF A(3,I)<0 THEN A(3,I)=G(I)+G(I)*M
690 NEXT I
700 PRINT :PRINT “COMPENSADAS”
710 FOR I=1 TO L:SET N
720 PRINT “(Y”;I;”)=”;:SET F3
730 PRINT B(3,I);” “;” X”;A(3,I):NEXT I
740 PRINT “COORDENADAS”
750 P=0:Q=0
755 FOR I=1 TO L
760 P=P+B(3,I):D(2,I)=P:Q=Q+A(3,I):D(3,I)=Q
770 SET N:PRINT”X(“;I;”)=”;:SET F5
780 PRINT D(3,I);:SET N:PRINT “Y(“;I;”)’;:SET F5
790 PRINT D(2,I):NEXT I
791 A=0:B=0:I=0
792 I=I+1:IF I>L THEN 795
793 B(0,I)+D(2,I)*D(3,I+1):C(0,I)=D(3,I)*D(2,I+1):A=A+B(0,I):B=B+C(0,I);GOTO
792
795 W=ABS(A-B)/2:PRINT “AREA m2=”;W;” v2=”;W*1.434257
CALCULO DE POLIGONAL
796SET F3:PRINT “Has.=”;W/10000;”Mzs=”;W*1.434257/10000:GOTO 30
800 PRINT “EL DATO REBASA LA MEMORIA LIBRE
1.434257 numero que multiplicamos metros cuadrados para convertir a varas cuadradas
[email protected]
avisame cuando lo tengas en tu poder
====