单元四 · 发挥算法的优势
第13课 让计算机会数数

一、学习目标
- 通过描述让计算机从 1 数到 100 的算法,了解用循环结构解决问题时的重复过程。
- 了解循环结构与计算机工作特点的关系,体会利用计算机的快速运算能力来解决问题的方法。
二、情境导入
要让计算机「从 1 数到 100」,应该怎样描述算法步骤呢?用计算机进行计算处理有什么优势?
三、核心讲解
本课学习路径:
1描述「从 1 数到 100」的算法
2验证「从 1 数到 100」的算法
3感受计算机运算处理的优势
1.描述「从 1 数到 100」的算法
先把问题规模缩小,以依次从 1 数到 10 为例进行分析。
想一想:
- 我们数数的过程是什么样的?——1,2,3,4,5,6,7,8,9,10。
- 数完一个数后,怎么数下一个数?——在 1 的基础上加 1,以此类推。
- 如何让计算机数数?——需要进行同样的过程。
让计算机直接数数不好体现,可以选择用输出这些数来表示。规律是依次加一,重复操作可以用循环结构描述。
如果「第一次输出 1、第二次输出 2、第三次输出 3……」每次都不同,流程图会有 100 个操作框。把重复的操作提取出来,就可以通过循环结构来描述:
流程图:从 1 数到 100(循环示意)
- 初始时:这个数为 1。
- 输出这个数,然后把这个数加 1。
- 判断这个数是否小于等于 100:若满足,继续循环;若不满足,结束(此时数为 101)。
让计算机「从 1 数到 100」只数其中的奇数时:输出这个数,然后把这个数加 2,同样判断是否小于等于 100。
2.验证「从 1 数到 100」的算法
用 while 实现「从 1 数到 100」(while 已在第 10 课出现,算法见流程图)。
3.感受计算机运算处理的优势
强大的算力:利用程序让计算机完成数数时,即使是一台普通的个人计算机,1 秒也可以枚举几百万个数。人类翻书页、数物品、排队报数时,每秒最多也只能完成少量操作。
本课用 while 数数;while 已在第 10 课首次出现。算法见流程图,请直接载入练习。
弄清以上要点后,再进入下方 Python Online,用 while 循环体验从 1 数到 100。
四、动手体验 · Python 3 Online 编程
本课含 2 个程序,请在下拉中切换后分别「载入」运行。
五年级 · 数数:用 while 从 1 数到 100,每行打印一个数。
正在载入 Python 3 Online
正在载入编程环境…
五、课堂总结
- 简单的数数问题,从本质上体现出计算机解决问题的基本方法。循环结构能够实现有规律的重复操作。
- 用循环结构寻找问题的答案是计算机解决问题的常用方法。
- 在计算机强大的算力面前,很多问题都可以用循环结构来解决。循环操作符合计算机的工作特点,能体现利用计算速度和存储能力来解决问题的优势。
六、拓展提升
- 如果知道起始数 b 和终止数 e,编程找出 b 到 e 之间的所有奇数。
- 有一个「逢七必过」的游戏:参与者按顺序排好队;从 1 依次报数到 100,如果是 7 的倍数或末位数是 7,就报「过」;违规就要被「罚」。尝试玩一玩并思考:游戏中的判断条件是什么?如何用流程图描述算法?
测评
选出后点「检查」。答错会显示简短说明。
从 1 数到 100 的算法,最适合用哪种结构描述重复操作?
在 while 循环数数程序中,c = c + 1 的作用是什么?
用计算机循环数数,相比人工数数的主要优势是?
本节小结
数数是有规律的重复操作,用循环结构描述最恰当;while 循环靠条件控制结束。计算机的算力让大量重复任务变得高效。