| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 510 人关注过本帖
标题:求助,高手帮我看看我的程序怎么了。
只看楼主 加入收藏
EVERZFR
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-9-10
收藏
 问题点数:0 回复次数:2 
求助,高手帮我看看我的程序怎么了。
Private Sub Command1_Click()
Dim w, t0, h, a1, a2, a7, a8, p, v, tmax As Single
w = Val(Text1.Text)
t0 = Val(Text2.Text)
tmax = Val(Text19.Text)

h = Val(Text3.Text)
a1 = Val(Text4.Text)
a2 = Val(Text5.Text)
a7 = Val(Text6.Text)
a8 = Val(Text7.Text)
a11 = pi / 180 * a1
a22 = pi / 180 * a2
a77 = pi / 180 * a7
a88 = pi / 180 * a8

p = Val(Text24.Text)
v = Val(Text25.Text)
l0 = (t0 / w) * Log((w * h / t0 + 1) + Sqr((w * h / t0 + 1) ^ 2 - 1))
s0 = t0 / w * ((Exp(w * l0 / t0) - Exp(-w * l0 / t0))) / 2
re:
Randomize

t1 = Rnd * t0 + 1
t2 = Rnd * t0 + 1
t7 = Rnd * tmax + t0
t8 = Rnd * tmax + t0

l1 = (t1 / w) * Log((w * h / t1 + 1) + Sqr((w * h / t1 + 1) ^ 2 - 1))
l2 = (t2 / w) * Log((w * h / t2 + 1) + Sqr((w * h / t2 + 1) ^ 2 - 1))
l7 = (t7 / w) * Log((w * h / t7 + 1) + Sqr((w * h / t7 + 1) ^ 2 - 1))
l8 = (t8 / w) * Log((w * h / t8 + 1) + Sqr((w * h / t8 + 1) ^ 2 - 1))
s1 = t1 / w * ((Exp(w * l1 / t1) - Exp(-w * l1 / t1))) / 2
s2 = t2 / w * ((Exp(w * l2 / t2) - Exp(-w * l2 / t2))) / 2
s7 = t7 / w * ((Exp(w * l7 / t7) - Exp(-w * l7 / t7))) / 2
s8 = t8 / w * ((Exp(w * l8 / t8) - Exp(-w * l8 / t8))) / 2
p1 = ((s0 - l0) - (s1 - l1)) / Abs(Cos(pi - a11))
p2 = ((s0 - l0) - (s2 - l2)) / Abs(Cos(pi - a22))
p7 = ((s0 - l0) - (s7 - l7)) / Abs(Cos(pi - a77))
p8 = ((s0 - l0) - (s8 - l8)) / Abs(Cos(pi - a88))

If Abs(p - p1) < v And Abs(p - p2) < v And Abs(p - p7) < v And Abs(p - p8) < v Then
Text8.Text = s1
Text10.Text = s2
Text11.Text = s7
Text12.Text = s8
Text9.Text = l1
Text13.Text = l2
Text14.Text = l7
Text15.Text = l8
r1 = Atn((p * Sin(a11) / l1) / Sqr(-(p * Sin(a11) / l1) * (p * Sin(a11) / l1) + 1))
r2 = Atn((p * Sin(a22) / l2) / Sqr(-(p * Sin(a22) / l2) * (p * Sin(a22) / l2) + 1))
r7 = Atn((p * Sin(a77) / l7) / Sqr(-(p * Sin(a77) / l7) * (p * Sin(a77) / l7) + 1))
r8 = Atn((p * Sin(a88) / l8) / Sqr(-(p * Sin(a88) / l8) * (p * Sin(a88) / l8) + 1))
a111 = a11 + r1
a222 = a22 + r2
a777 = a77 + r7
a888 = a88 + r8

f1 = 2 * t1 * Abs(Cos(pi - a111)) + 2 * t2 * Abs(Cos(pi - a222))
f2 = 2 * t7 * Abs(Cos(pi - a777)) + 2 * t2 * Abs(Cos(pi - a888))
f = f2 - f1
Text20.Text = t1
Text21.Text = t2
Text22.Text = t7
Text23.Text = t8
Text16.Text = f
Text17.Text = f1
Text18.Text = f2
Else
GoTo re

End If



End Sub
这是一个关于随机生成数,然后迭代求解。不符合条件返回,重新迭代的程序。

一运行,就没反应了。
该如何改。
2008-09-19 09:34
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
If Abs(p - p1) < v And Abs(p - p2) < v And Abs(p - p7) < v And Abs(p - p8) < v Then
2008-09-19 12:44
EVERZFR
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-9-10
收藏
得分:0 
弱弱的问:
上面语句有毛病吗?
怎么改呀?
2008-09-19 14:14
快速回复:求助,高手帮我看看我的程序怎么了。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033140 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved