有关VB6 for next语句的问题 急急急急急急急急急急!!!好的加分!!!!!!!!!!!

小球从高处落下,每次落地后反弹,反弹高度为原高度的一半,再落地,弹起,再弹起,高度为上次弹起高度一半,类推。text1输初始高度text2输弹跳次数单击"计算(comma... 小球从高处落下,每次落地后反弹,反弹高度为原高度的一半,再落地,弹起,再弹起,高度为上次弹起高度一半,类推。
text1输初始高度
text2输弹跳次数
单击"计算(command1)"label4中显示其经弹起后经过的距离
望高人解决
加了个label6,单击"计算(command1)"label6中显示最后一次弹起高度
展开
 我来答
敏锐还宁静丶行家0
2012-11-04 · TA获得超过6870个赞
知道大有可为答主
回答量:3502
采纳率:0%
帮助的人:1766万
展开全部
下面是Command1单击事件代码。。
Private Sub Command1_Click()
On Error GoTo err
Dim a As Integer
a = Me.Text1
Me.Label4.Caption = 0
For i = 1 To Text2
Me.Label4.Caption = Me.Label4.Caption + a + a / 2
a = a / 2
Next
Me.Label6.Caption = a
Exit Sub
err:
MsgBox err.Description
End Sub
追问
.....这代码有点高级,请用for next 语句
追答
晕,这里用的就是 for next 语句啊!
For i = 1 To Text2
Next
但是,单凭 for next 语句是不会得出正确结果的。可以说,这已经是最简练的了。。
Archlen
2012-11-08 · TA获得超过260个赞
知道小有建树答主
回答量:297
采纳率:100%
帮助的人:157万
展开全部
过程分析:
1、落地-弹起是一个周期。
2、落地前高度是该周期的初始参数H,运动距离是S = 1.5H,S是该周期的运动结果。
3、H是变量,需要迭代替换,S则需要累加。
程序实现如下:
Private Sub Command1_Click()
Dim h As Double
Dim s As Double
Dim n As Integer
'初始化变量
h = 0
n = 0
s = 0

'使用文本前做合法性判断
If IsNumeric(Text1.Text) Then h = Text1.Text
If IsNumeric(Text2.Text) And CStr(CInt(Text2.Text)) = Text2.Text Then n = CInt(Text2.Text)
If h > 0 And n > 0 Then
Dim i As Integer
For i = 1 To n
s = s + 1.5 * h
h = h / 2
Next
Label4.Caption = s
Label6.Caption = h
End If
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
m2968
2012-11-07
知道答主
回答量:6
采纳率:0%
帮助的人:3.3万
展开全部
先列好数学公式,再把公式转换成代码即可,关键在公式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式