我正在编写一个程序,根据初始高度和恢复系数计算出球落下的次数。我无法弄清楚如何跟踪球被反弹的总距离,这是我到目前为止所拥有的。
Option Strict On
Public Class Form1
Private Sub btnAnalyze_Click(sender As Object, e As EventArgs) Handles btnAnalyze.Click
Dim Coef = CDbl(txtRes.Text)
Dim Height = CDbl(txtHeight.Text)
Dim NHeight As Double = Coef * Height
Dim Count As Integer = 0
Dim Distance As Double
Dim NDistance As Double
Do While NHeight > 0.1
NHeight = NHeight * Coef
Distance = Height + 2 * NHeight
Count = Count + 1
Loop
lblHeight.Text = CStr(Distance)
lblBounce.Text = CStr(Count + 1)
End Sub
End Class
答案 0 :(得分:0)
您只是将Distance
设置为循环内当前弹跳的距离。尝试在每个循环中将其与自身相加;得到以下特性:
...
Do While NHeight > 0.1
NHeight = NHeight * Coef
Distance = Distance + (Height + 2 * NHeight)
Count = Count + 1
Loop
...
不要忘记在循环之外初始化Distance