请大家帮个忙啊,vb的编程题啊~~~

来源:百度知道 编辑:UC知道 时间:2024/06/23 14:24:00
一个球从200米高度自由落下,每次落地后反弹到原来高度的一半,再落下。设计一个程序,推算其在第n次落地时已经过多少距离?
老师布置的作业,真的不知道该怎么做啊,请厉害的大虾看看~~~

Private Sub Form_Load()
Dim n As Integer, s As Single, h As Single, i As Integer
h = 200
n = InputBox("输入第几次落地")
For i = 1 To n
s = s + h
h = h / 2
Next
MsgBox "共经过" & s & "米"
End Sub

无需任何控件。直接复制代码运行即可。

Private Sub Form_Click()
Dim a, s, h, n As Integer
h = 200
s = 200
n = Text1.Text
If n = 1 Then
MsgBox "第1次落地时已经过多少距离" & 200
ElseIf n > 1 Then

For a = 2 To n
s = 400 / 2 ^ (a - 1) + s
Next a

MsgBox "第" & n & "次落地时已经过多少距离" & s
Else
MsgBox "错误"
End If

End Sub

Dim n As Integer, s As Single, h As Single, i As Integer
h = 200
n = InputBox("第?次落地")
For i = 1 To n
s = s + h
h = h / 2
Next
MsgBox "共经过" & s & "米"