小球自由下落-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第23讲。

小球自由下落,本题是2020年5月31日举办的第11届蓝桥杯青少组Python编程选拔赛真题,题目要求编程计算一个小球从n米高度自由下落,第10次反弹的高度以及一共经过的距离。

先来看看题目的要求吧。

一.题目说明

编程实现:

一个小球从n米高度自由落下,每次落地后反跳回原高度的一半,再落下。求第10次反弹多高,及初始落下到第10次反弹到最高点时(不含第十次落下距离)一共经过了多少米?

输入样例:

1024

输出样例:

1.0

3069.0

评判标准:

  • 5分:能正确判断一组数据;

  • 9分:能正确判断两组数据;

  • 11分:能正确判断三组及三组以上数据。

二.思路分析

这是一道简单的计算题,考查的知识点包括循环和算术运算。

根据题目的描述,每次落地之后,反弹回来的高度是原高度的一半,我们以n=1024为例,使用表格来描述这个过程:

看到这个表格,是不是有点豁然开朗的感觉,我们将小球单次的运动,分成如下两个过程:

  • 下落

  • 反弹

每一次,反弹的高度是下落高度的一半,而这个高度又作为下一次下落的高度。在统计总运动距离的时候,将每次下落和反弹的高度都累加起来就可以了,然后将单次程重复10次即可。

思路有了,接下来,我们就进入具体的编程实现环节。

三.编程实现

根据上面的思路分析,我们直接编写程序如下:

图片

代码非常简单,强调一点,在循环过程中,有3行代码,注意其顺序,先将下落的距离累加起来,再计算反弹距离,也是下一次下落的高度,同时再将反弹的高度累加起来。

运行程序,输入1024,效果如下:

图片

输入2048,效果如下:

注意结果是浮点数,因为在Python编程中,除法/得到的结果就是小数,即使是能够整除,结果也是小数。

至此,整个程序就全部完成了,你也可以输入不同的数字来测试效果。

四.总结与思考

本题的分数为25分,代码在8行左右,涉及到的知识点包括:

  • 输入和输出语句;

  • 循环语句,主要for...in循环;

  • 算术运算,包括加法和除法;

  • 变量的使用;

题目难度一般,关键是要将小球下落和反弹的过程分析清楚,其高度是怎么变化的,遵循什么样的规律。

在分析问题时,建议多使用画图或者表格的方式,它是将抽象问题具体化的一个过程,非常便于我们理解问题。

你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-06 04:28:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-06 04:28:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-06 04:28:02       82 阅读
  4. Python语言-面向对象

    2024-01-06 04:28:02       91 阅读

热门阅读

  1. Qt设置的字体加粗、下划线、斜体、字号,字体

    2024-01-06 04:28:02       56 阅读
  2. <sa8650>sa8650 CDT-之-汽车CDT配置用户指南(上)

    2024-01-06 04:28:02       50 阅读
  3. 我的Spring Cloud学习之旅:原因、过程和收获

    2024-01-06 04:28:02       62 阅读
  4. Ubuntu安装和配置ssh教程

    2024-01-06 04:28:02       59 阅读
  5. c# Avalonia 绘图

    2024-01-06 04:28:02       55 阅读
  6. Flutter中的StatelessWidget和StatefulWidget简介与使用

    2024-01-06 04:28:02       69 阅读
  7. 2024阿里云服务器配置推荐方案

    2024-01-06 04:28:02       70 阅读