Un programa escrito en acrgis usando VB, la función es calcular el área de polígonos, algo salió mal, por favor de una respuesta de experto
La deformación Rem convexa n se puede considerar como el área de n-1 triángulos
Área del triángulo Rem S=sqr(p*(p-a)*(p-b)*(p-c ) ), donde p=(a b c)/2, a, b, c son longitudes de los lados, longitud de los lados=sqr((x1-x2)^2 (y1-y2)^2), y (x1, y1) y ( x2, y2) son los valores de las coordenadas de dos puntos respectivamente
Rem El siguiente código es para encontrar el área de cualquier polígono, el número de lados lo decide el usuario
Subcomando privado1_Click()
Dim n, s, i, x(), y(), a, b, c, p
k:
n = Int(Val(Trim(InputBox ("Ingrese el número de lados del polígono:", "Área del polígono", 3))))
If n lt; El número de lados debe ser ≥ 3. ¡Inténtelo de nuevo!", , " Área del polígono": Ir a k
En caso de error, reanudar siguiente
ReDim x(1 To n) , y(1 To n)
s = 0
p>
Para i = 1 To n
x(i) = Val(Trim (InputBox("Por favor ingrese" & IIf(n = 3, "Triángulo", n & "forma lateral") amp; "La "ésima" amp; i amp; "La coordenada de abscisa del punto:")))
y(i) = Val(Trim(InputBox("Por favor ingrese" amp; IIf( n = 3, "Triangle", n amp; "Side") amp; "La coordenada de abscisas del "ésimo " amp; i amp; "punto:")))
Si i gt; 1 entonces la línea (x(i), y(i))-(x(i - 1), y(i - 1))
Siguiente
Para i = 2 To n - 1
a = Sqr((x(1) - x(i)) ^ 2 (y(1) - y(i)) ^ 2)
b = Sqr( (x(1) - x(i 1)) ^ 2 (y(1) - y(i 1 )) ^ 2)
c = Sqr((x(i) - x(i 1) )) ^ 2 (y(i) - y(i 1)) ^ 2)
p = (a b c) / 2
s = s Sqr(p * (p - a) * (p - b) * (p - c))
Siguiente
MsgBox IIf(n = 3, "Triángulo", n amp; "Lado") amp ; "El área es" & s, , "El área del polígono"
Fin del subtítulo