七彩雷龙鱼繁殖视频:小弟求助于一个循环嵌套的问题 有程序如下

来源:百度文库 编辑:高校问答 时间:2024/04/29 16:47:40
小弟求助于一个循环嵌套的问题 有程序如下

小弟求助于一个循环嵌套的问题 一直对循环嵌套的问题搞得极为模糊 有程序如下
涉及的问题
从井的底部算起直到井口,如果满足条件取一个节点 并全部打印结果
大家帮小弟看看我的程序问题出现在哪儿

怎么运行没有结果呀

Private Sub Command2_Click()

Dim L As Single
Dim Yzhi As Single, Zzhi As Single
Dim We, dcn, dcw, E, I1, dh As Double '已知常量
Dim Lm, L_f, L_s, dLs As Single '扶正器间距
Dim SiTa_m1, SiTa_m2, SiTa1, SiTa2 As Single '井斜角
Dim Fai_m1, Fai_m2, Fai1, Fai2 As Single '方位角
Dim Sin_h_BeiTa, Sin_BeiTa, Cos_BeiTa, Cos_GaMa_n, Cos_GaMa_o As Double
Dim u As Double
Dim F As Double
Dim Ndp, Np As Double
Dim SiGeMa As Double
Dim ddee As Double
dh = Val(Text8.Text) * 100 / 2.54
dcn = Val(Text10.Text) * 100 / 2.54
dcw = Val(Text5.Text) * 100 / 2.54
We = Val(Text7.Text)
L = Val(Text1.Text) * 100 / 2.54
dLs = 200 'inch
I1 = (dcw ^ 4 - dcn ^ 4) * 3.14159265 / 64 '转动惯量
E = 30000000
ddee = 0.5 * (dh - dcw) / 3
SiTa_m2 = 50.03 / 180 * 3.14159265
Fai_m2 = 334.57 / 180 * 3.14159265

Do While True
Lm = L - dLs
Call Line1(Lm * 0.0254, Yzhi)
Call Line2(Lm * 0.0254, Zzhi)
SiTa_m1 = Yzhi / 180 * 3.14159265
Fai_m1 = Zzhi / 180 * 3.14159265
If SiTa_m1 = SiTa_m2 And Fai_m1 = Fai_m2 Then
F = Abs(We / 444.8222 * 2.54 * 9.81 * (L - Lm) * Cos(SiTa_m1))

u = Sqr(F * dLs * dLs / (4 * E * I1))

SiGeMa = We / 444.8222 * 2.54 * 9.81 * (L - Lm) * Sin(SiTa_m1) * dLs * dLs * dLs / (384 * E * I) * (24 / u ^ 4) * (u * u / 2 - (u * (Exp(u) + Exp(-u)) / 2 - u)) / (Exp(u) - Exp(-u)) / 2
Else

Sin_h_BeiTa = Sqr(Sin((SiTa_m1 - SiTa_m2) / 2) ^ 2 + Sin((Fai_m2 - Fai_m1) / 2) ^ 2 * Sin(SiTa_m1) * Sin(SiTa_m2))

Cos_BeiTa = Abs(Cos(SiTa_m1) * Cos(SiTa_m2) + Sin(SiTa_m1) * Sin(SiTa_m2) * Cos(Fai_m2 - Fai_m1))

Sin_BeiTa = Sqr(1 - Cos_BeiTa * Cos_BeiTa)
Cos_GaMa_n = Abs(Sin((SiTa_m1 - SiTa_m2) / 2) * Sin((SiTa_m1 + SiTa_m2) / 2) / Sin_h_BeiTa)
Cos_GaMa_o = Abs(Sin(SiTa_m1) * Sin(SiTa_m2) * Sin(Fai_m2 - Fai_m1) / Sin_BeiTa)
F = Abs(We / 444.8222 * 2.54 * 9.81 * (L - Lm) * Cos(SiTa_m1))
u = Sqr(F * dLs * dLs / (4 * E * I1))
Ndp = We / 444.8222 * 2.54 * 9.81 * dLs * Cos_GaMa_n + 2 * F * Sin_h_BeiTa
Np = We / 444.8222 * 2.54 * 9.81 * dLs * Cos_GaMa_o
SiGeMa = Sqr(Ndp * Ndp + Np * Np) * dLs * dLs * dLs / (384 * E * I) * (24 / u ^ 4) * (u * u / 2 - (u * (Exp(u) + Exp(-u)) / 2 - u)) / (Exp(u) - Exp(-u)) / 2
End If

If SiGeMa < 0.85 * ddee Then dLs = dLs + 50
If SiGeMa > ddee Then dLs = dLs + 50

Loop

If SiGeMa >= 0.85 * ddee And SiGeMa <= ddee Then

Print Lm * 0.0254

End If

End Sub

我程序下载地址 http://home.jznu.net/bob/02.rar
请大家帮我看看Private Sub Command2_Click()后面哪段程序的循环嵌套出现什么问题
谢谢了
这儿有个可以运行的DEPHI程序是测试通过的 和上面做同一个内容的

我的回答是用NP的编码可由货担郎的问提解决,通过对Dim We, dcn, dcw, E, I1, dh As Double '已知常量的可循环性进行改动就可以得到
Sin_h_BeiTa = Sqr(Sin((SiTa_m1 - SiTa_m2) / 2) ^ 2 + Sin((Fai_m2 - Fai_m1) / 2) ^ 2 * Sin(SiTa_m1) * Sin(SiTa_m2))的函数,如:
If SiGeMa >= 0.85 * ddee And SiGeMa <= ddee Then 可用EXIT来退出。
SiTa_m2的数据可用MEM的方程解出。End If SiGeMa = We / 444.8222 * 2.54 * 9.81 * (L - Lm) * Sin(SiTa_m1) * dLs * dLs * dLs / (384 * E * I) * (24 / u ^ 4) * (u * u / 2 - (u * (Exp(u) + Exp(-u)) / 2 - u)) / (Exp(u) - Exp(-u)) / 2
Else
会出现变数,所以很难的出结果。

太乱了 清楚一些 再发