DECLARE FUNCTION SENO! (A AS SINGLE) DECLARE FUNCTION COSENO! (A AS SINGLE) DECLARE FUNCTION ARCTAN! (A AS SINGLE) CONST PI = 3.141592654# CLS GOTO INVERSA: PRINT "Interseccion directa" INPUT "XA:", XA LOCATE 16, 1: INPUT "YA:", YA INPUT "XB:", XB LOCATE 1, 1: LOCATE 16, 2: INPUT "YB:", YB INPUT "Œ A-P ", E: LOCATE 1, 1: LOCATE 16, 3: INPUT "Œ B-P ", H I = YA - YB: J = XA - XB: K = (((I * TAN(E)) - J) / ((TAN(E)) - TAN(H))) Y = YB + K X = XB + (K * TAN(H)) CLS : PRINT "XP="; X; E$; "YP="; Y END INVERSA: 4020 PRINT "INTERSECCION INVERSA" 4040 INPUT "NOMBRE DE A"; A$ 4050 INPUT "NOMBRE DE B"; B$ 4060 INPUT "NOMBRE DE C"; C$ 4070 INPUT "NOMBRE DE V"; Z$ 4090 PRINT "X DE"; A$; " "; : INPUT D 4100 PRINT "Y DE"; A$; " "; : INPUT E 4110 PRINT "X DE"; B$; " "; : INPUT F 4120 PRINT "Y DE"; B$; " "; : INPUT G 4130 PRINT "X DE"; Z$; " "; : INPUT H 4140 PRINT "Y DE"; Z$; " "; : INPUT I 4150 M = SQR((D - F) ^ 2 + (E - G) ^ 2) 4160 PRINT "DISTANCIA"; A$; "a"; B$; "="; CINT(M) 4170 n = SQR((H - F) ^ 2 + (I - G) ^ 2) 4180 PRINT "DISTANCIA"; B$; "a"; C$; "="; CINT(n) 4201 O = (D - F) 4202 P = (E - G) 4203 VI = ARCTAN(O / P) 4204 IF O > 0 AND P > 0 THEN VI = VI 4205 IF O > 0 AND P < 0 THEN VI = (200 + VI) 4206 IF O < 0 AND P < 0 THEN VI = (200 + VI) 4207 IF O < 0 AND P > 0 THEN VI = (400 + VI) 'OJO POSITIVO 4208 IF P = 0 THEN VI = 300 4211 Q = (H - F) 4212 R = (I - G) 4213 DV = ARCTAN(Q / R) 4214 IF Q > 0 AND R > 0 THEN DV = DV 4215 IF Q > 0 AND R < 0 THEN DV = (200 + DV) 4216 IF Q < 0 AND R < 0 THEN DV = (200 + DV) 4217 IF Q < 0 AND R > 0 THEN DV = (400 + DV) 4220 NI = (DV - VI)'OJO AL REVES 4221 IF NI < 0 THEN NI = (400 + NI) 4230 PRINT "Œ"; B$; "a"; A$; "="; CINT(VI) 4240 PRINT "Œ"; B$; "a"; C$; "="; CINT(DV) 4250 PRINT "ANGULO EN"; B$; CINT(NI) 4260 PRINT "ALFA"; ""; : INPUT W 4270 PRINT "BETA"; ""; : INPUT L 4280 ENE = (400 - W - L - NI) 4290 EME = (M * SENO(L)) / (n * SENO(W)) 4300 ANG = ARCTAN((SENO(ENE)) / (EME + COSENO(ENE))) 4301 IF ANG < 0 THEN ANG = (200 + ANG) 4302 IF ANG > 200 THEN ANG = (400 - ANG) 4310 LI = VI + 200 4311 IF LI > 400 THEN LI = (LI - 400) 4320 AZ = (LI - ANG) ' O SUMAR?? AZ = (LI - ANG) 4330 AP = ((M * SENO(ANG + W) / SENO(W))) 4340 PRINT "DISTANCIA DE"; A$; "a"; Z$; "="; CINT(AP) 4350 PRINT "ACIMUT DE"; A$; "a"; Z$; "="; CINT(AZ) 4360 X = (D + AP * SENO(AZ)) 4370 Y = (E + AP * COSENO(AZ)) 4380 PRINT "X DE"; Z$; "="; CINT(X); "mts" 4390 PRINT "Y DE"; Z$; "="; CINT(Y); "mts" 4400 PRINT "ENE"; CINT(ENE) 4410 PRINT "EME"; CINT(EME) 4420 PRINT 4430 PRINT "ANG"; CINT(ANG) 4440 PRINT "LI"; CINT(LI) 4470 PRINT INPUT ZZ END FUNCTION ARCTAN (A AS SINGLE) ARCTAN = ATN(A) * (180 / PI) / 360 * 400 END FUNCTION FUNCTION COSENO (A AS SINGLE) COSENO = COS((A * 360 / 400) * PI / 180) END FUNCTION FUNCTION SENO (A AS SINGLE) SENO = SIN((A * 360 / 400) * PI / 180) END FUNCTION