VB程序设计:判断任意的三条边长能否构成三角形并计算其面积

网上有关“VB程序设计:判断任意的三条边长能否构成三角形并计算其面积”话题很是火热,小编也是针对VB程序设计:判断任意的三条边长能否构成三角形并计算其面积寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

单击Command1即可。代码如下。

==============================

Dim a As Single, b As Single, c As Single, p As Single, S As Single

Private Sub Command1_Click()

On Error GoTo e

a = InputBox("a=")

b = InputBox("b=")

c = InputBox("c=")

p = (a + b + c) / 2

If a < p And b < p And c < p Then

S = Sqr(p * (p - a) * (p - b) * (p - c))

MsgBox S

Else

GoTo e

End If

Exit Sub

e:

MsgBox "不能构成三角形"

End Sub

在acrgis中使用VB编写的一个程序,功能是计算多边形面积,出了点问题,请高手解答

已知三角形的三边分别是a、b、c,

先算出周长的一半s=1/2(a+b+c)

则该三角形面积S=根号[s(s-a)(s-b)(s-c)]

这个公式叫海伦——秦九昭公式

证明:

设三角形的三边a、b、c的对角分别为A、B、C,

则根据余弦定理c?=a?+b?-2ab·cosC,得

cosC = (a?+b?-c?)/2ab

S=1/2*ab*sinC

=1/2*ab*√(1-cos?C)

=1/2*ab*√[1-(a?+b?-c?)?/4a?b?]

=1/4*√[4a?b?-(a?+b?-c?)?]

=1/4*√[(2ab+a?+b?-c?)(2ab-a?-b?+c?)]

=1/4*√{[(a+b)?-c?][c?-(a-b)?]}

=1/4*√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)]

设s=(a+b+c)/2

则s=(a+b+c),s-a=(-a+b+c)/2,s-b=(a-b+c)/2,s-c=(a+b-c)/2,

上式=√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)/16]

=√[s(s-a)(s-b)(s-c)]

所以,三角形ABC面积S=√[s(s-a)(s-b)(s-c)]

证明完毕

Rem 凸n变形可以看成是n-1个三角形的面积

Rem 三角形的面积S=sqr(p*(p-a)*(p-b)*(p-c)),其中,p=(a+b+c)/2,a、b、c为边长,边长=sqr((x1-x2)^2+(y1-y2)^2),而(x1,y1)和(x2,y2)分别为两点的坐标值

Rem 以下代码为求任意多边形的面积,边数由用户自行决定

Private Sub Command1_Click()

Dim n, s, i, x(), y(), a, b, c, p

k:

n = Int(Val(Trim(InputBox("请输入多边形的边数:", "多边形面积", 3))))

If n < 3 Then MsgBox "边数必须≥3!请重试!", , "多边形面积": GoTo k

On Error Resume Next

ReDim x(1 To n), y(1 To n)

s = 0

For i = 1 To n

x(i) = Val(Trim(InputBox("请输入" & IIf(n = 3, "三角形", n & "边形") & "第" & i & "个点的横坐标:")))

y(i) = Val(Trim(InputBox("请输入" & IIf(n = 3, "三角形", n & "边形") & "第" & i & "个点的横坐标:")))

If i > 1 Then Line (x(i), y(i))-(x(i - 1), y(i - 1))

Next

For 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))

Next

MsgBox IIf(n = 3, "三角形", n & "边形") & "面积是" & s, , "多边形面积"

End Sub

关于“VB程序设计:判断任意的三条边长能否构成三角形并计算其面积”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

(13)

猜你喜欢

发表回复

本站作者才能评论

评论列表(3条)

  • 婉仪容的头像
    婉仪容 2025年07月20日

    我是中宝号的签约作者“婉仪容”

  • 婉仪容
    婉仪容 2025年07月20日

    本文概览:网上有关“VB程序设计:判断任意的三条边长能否构成三角形并计算其面积”话题很是火热,小编也是针对VB程序设计:判断任意的三条边长能否构成三角形并计算其面积寻找了一些与之相关的一...

  • 婉仪容
    用户072003 2025年07月20日

    文章不错《VB程序设计:判断任意的三条边长能否构成三角形并计算其面积》内容很有帮助

联系我们:

邮件:中宝号@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信