内容正文:
第4单元 发挥算法的优势
让计算机会数数
第13课
五年级
学习目标
01
课堂导入
02
新知探究
03
知识总结
04
智慧挑战
05
兴趣园地
06
目录
CONTENTS
2
PART 1
学习目标
通过描述让计算机从 1 数到 100 的算法,了
解用循环结构解决问题时的重复过程。
了解循环结构与计算机工作特点的关系,体
会利用计算机的快速运算能力来解决问题的方法。
学习目标
PART 2
课堂导入
课堂导入
要让计算机“从1数到100”,应该怎样描述算法步骤呢?
用计算机进行计算处理有什么优势?
循环结构
PART 3
新知探求
新知探究
学习活动1
活动1:描述“从1数到100”的算法
新知探究
学习活动1 描述“从1到100”的算法
1. 缩小问题规模
为了便于理解,先把问题规模缩小,分析从 1 数到 10 的过程。
思考以下问题:
(1)我们数数的过程是什么样的?
(2)数完一个数后,怎么数下一个数?
(3)如何让计算机数数?
1,2,3,4,5,6,7,8,9,10。除了输出的数不一样,其他都是一样的,是重复的操作。
讨论
人在数数的过程很简单,一个数一个数地数下去。如果这个任务交给计算机来完成,可以把重复的操作通过循环结构来描述。
数完1,数2,在1的基础上加1,以此类推。从中发现的规律是每个数依次加1。
新知探究
学习活动1 描述“从1到100”的算法
1. 缩小问题规模
为了便于理解,先把问题规模缩小,分析从 1 数到 10 的过程。
请用自然语言进行描述
请用流程图进行描述
1,2,3,……10。
人数数的过程,一个数一个数地数下去。
如果规模更大的数数交给计算机呢?
新知探究
学习活动1 描述“从1到100”的算法
2. 回顾学习过的循环结构
循环结构是一种基本的控制结构,用于重复执行循环体中的语句,直到
满足循环条件为止。
执行过程描述:
(1)如果循环条件成立,则做一遍循环体指定的操作;
(2)再检查循环条件,如果成立,则再做一遍循环体指定的操作;
(3)以此类推,重复执行,直到循环条件不再成立。
需要重复执行的语句,可包含一个或多个语句
新知探究
学习活动1 描述“从1到100”的算法
3. 还原问题,描述算法
要让计算机“从 1 数到 100”,如果是“第一次输出 1、第二次输出 2、
第三次输出 3……”那么每次操作都不一样。
如果画出流程图,就有 100 个操作框,在一张纸上根本画不下,事实上也没必要画出来。
……
太复杂
新知探究
学习活动1 描述“从1到100”的算法
3. 还原问题,描述算法
要描述“从 1 数到 100”的操作,每次操作都是相同的,只是数值不同。
可以用循环结构来描述:
初始时:这个数为 1 结束时:这个数为 101
……
第 1 次:输出这个数,然后把这个数加 1。判断这个数是否小于等于 100,此时条件满足,继续循环
第 2 次:输出这个数,然后把这个数加 1。判断这个数是否小于等于 100,此时条件满足,继续循环
第 100 次:输出这个数,然后把这个数加 1。。判断这个数是否小于等于 100,此时条件不满足,结束循环
新知探究
学习活动1 描述“从1到100”的算法
3. 还原问题,描述算法
初始时:这个数为 1 结束时:这个数为 101
……
第 1 次:输出这个数,然后把这个数加 1。判断这个数是否小于等于 100,此时条件满足,继续循环
第 2 次:输出这个数,然后把这个数加 1。判断这个数是否小于等于 100,此时条件满足,继续循环
第 100 次:输出这个数,然后把这个数加 1。判断这个数是否小于等于 100,此时条件不满足,结束循环
流程图
新知探究
学习活动1 描述“从1到100”的算法
进一步探究:描述让计算机“从 1 数到 100”,
只数其中的奇数
初始时:这个数为 1 结束时:这个数为 101
……
第 1 次:输出这个数,然后把这个数加 1。判断这个数是否小于等于 100,此时条件满足,继续循环
第 2 次:输出这个数,然后把这个数加 1。判断这个数是否小于等于 100,此时条件满足,继续循环
第 100 次:输出这个数,然后把这个数加 1。判断这个数是否小于等于 100,此时条件不满足,结束循环
流程图
2
2
2
50
2
新知探究
学习活动2
活动2:验证从“1到100”的算法
新知探究
学习活动2 验证从“1到100”的算法
# 设置计数变量的初值
c = 1
# 用循环控制从 1 数到 100
while c <= 100:
print(c) # 输出当前的数
c = c + 1 # 计数变量加 1
第1步:在 Python 中打开并运行以下参考程序,查看运行结果,了解程序执行的过程,观察 while 循环结构
运行结果
新知探究
学习活动2 验证从“1到100”的算法
在 Python 中,循环结构可以用 while 语句来实现:
第1步:在 Python 中打开并运行以下参考程序,查看运行结果,了解程序执行的过程,观察 while 循环结构
循环的三要素:
初始化、
判断条件和循环体
语句的基本格式如下:
while 循环条件 :
循环体
c = 1
while c <= 5:
print(c)
c = c + 1
print(' 输出结束 ')
例如
新知探究
学习活动2 验证从“1到100”的算法
第1步:在 Python 中打开并运行以下参考程序,查看运行结果,了解程序执行的过程,观察 while 循环结构
注意:c=c+1是一条赋值语句。
将变量c的数值加1,把计算结果再存储到c中,实现c值的变化。
# 设置计数变量的初值
c = 1
# 用循环控制从 1 数到 100
while c <= 100:
print(c) # 输出当前的数
c = c + 1 # 计数变量加 1
C值的变化过程
新知探究
学习活动2 验证从“1到100”的算法
第2步:修改程序。
n = int(input(' 请输入自然数 n:'))
c = 2
while c <= n:
print(c)
c = c + 2
输入一个自然数 n,输出 1 至 n 之间的所有偶数。
新知探究
学习活动2 验证从“1到100”的算法
进一步探究
利用取余运算,输出 1 到 n 之间所有能被 5 整除的数。
补充程序代码,运行程序
c < = n:
c + 1
新知探究
学习活动2 验证从“1到100”的算法
认识变量
编程实现算法时,变量用于存储数据。通过变量可以调用和操作存储在计算机内存中的数据。
例如,以上程序中的n和c都变量,其中c先被赋值为1,此后每循环一次,会在原数值基础上加1再赋值给它。
Python中的变量名可以由中文字符、英文字母等开头,但不能以数字开头,不能包含空格等。
变量可以存储多种类型的数据,如整数、浮点数、字符等。变量通过赋值语句来存储数据,一个变量被赋值后,就可以在程序中调用它。
新知探究
活动3:感受计算机运算处理的优势
学习活动3
新知探究
学习活动3 感受计算机运算处理的优势
操作练习
第 1 步:启动 Python,打开它的窗口。
第 2 步:打开配套资源中的“数数 .py”程序,观察并运行,体会编程
进行计算的速度。
1 秒大约进行 ________ 次数数(加法运算)。
新知探究
学习活动3 感受计算机运算处理的优势
操作练习
计算机最大优势,就是处理能力快速
通过简单的对比,可以发现,编程让计算机完成加法运算时,可以充分发挥算法的优势,提高解决问题的效率。
但相对于加法运算来说,输出操作也要占用不少的时间。
第 3 步:打开配套资源中的“数数并输出 .py”程序,观察并运行。
1 秒大约进行 ________ 次数数(加法运算)和 _______ 次输出。
新知探究
学习活动3 感受计算机运算处理的优势
1 数到 100
人类
进行翻书页、数物品个数、排队报数等操作时,每秒最多也就能翻几页书、数几个物体、报几个数。
计算机
利用程序来让计算机完成数数时,即使是一台普通的个人计算机,1 秒 也可以枚举几百万个数。这个数量可能与计算机的硬件配置和软件相关,但同一类型的计算机,数量级基本是一致的。
循环结构与数据枚举
枯燥且没有创造性
快速地, 不厌其烦地稳定工作
PART 4
知识总结
知识总结
循环结构
循环结构是一种程序设计的基本结构,其核心在于能够让特定的代码段或操作按照预定的规则重复执行。
循环的三要素:初始化、判断条件和循环体。
循环结构与
计算机运算
对应计算机重复执行某指令,循环结构可以提高运算效率,快速解决问题
PART 5
智慧挑战
2.循环结构的主要作用是?( )
A、使程序运行速度更快
B、减少程序的代码量
C、重复执行一段特定的代码
D、让程序更容易理解
1.计算机能够高效地执行循环结构,主要是因为其具有( )的特点。
A、智能性
B、快速重复执行指令的能力
C、自我学习能力
D、创造性
智慧挑战
智慧挑战
解析:循环结构的本质,在编程中,循环结构(如for循环、while循环)用于重复执行一段代码,直到满足特定条件。
答案:B
解析:循环结构根本目的是通过控制流程重复执行特定代码段,从而高效处理重复性任务。
答案:C
PART 6
兴趣园地
兴趣园地
如果知道起始数 b 和终止数 e,编程找出 b 到 e 之间的所有奇数。
提示:
如果起始数是偶数,那么初始值先要加1,再每次循环时加2;
如果起始值是奇数,那么把每次循环加2,直到终止值。
找 奇 数
补充程序代码并运行程序
b+1
b+2
兴趣园地
游戏规则:
(1) 游戏参与者按顺序排好队。
(2) 从 1 依次报数到 100,如果是 7 的倍数或末位数是 7,就报“过”。
(3) 如果违规了就要被“罚”。
“逢七必过”的游戏
补充流程图
这个数是 7 的倍数 ?
这个数末位是 7 ?
1
2
3
4
5
6
过
8
9
10
11
12
13
过
15
16
100
……
谢谢
下节课见!
Thanks!
五年级
$