题目:
设计思路:
1.物理原理:小球从10m处下落,做自由落体运动,在忽略空气阻力的情况下,以v=gt的速度向下落。当接触地面前的一瞬间,速度达到最大,当完全落地时,小球速度为0;当弹起时,小球有一个向上的加速度,其上升的速度可以通过v^2=2gh减去gt求得。其上升的高度为8米,到达最高点时,速度为0。循环往复,直到小球完全落地。
2.代码实现:设定当小球再次弹起的高度不超过0.001时(若小球再次弹起的高度为0时判断其完全落地,则程序会进入死循环)则为小球完全落地。通过状态值status来确定小球是处于上升还是下降。当小球与地面的距离不大于0时,此时小球落地,速度为0;当小球上升速度不大于0时,此时小球达到最高点。每隔一秒通过status判断小球是处于上升还是下降,并输出其位置和速度信息。
源代码:
结果: