内容正文:
第一单元 算法的实现
算法设计
第三课
浙教版
学习目标
01
课堂导入
02
认识枚举法
03
算法框架的确定
04
算法的描述
05
课堂任务
06
目录
CONTENTS
建构
2
PART 1
学习目标
1.了解经典算法中枚举法的概念。
2.了解枚举法的概念和过程,掌握利用枚举法解决“鸡兔同笼”问题,并能合理选择控制结构设计算法绘制流程图。
学习目标
PART 2
课堂导入
场景再现
王奶奶的手机是采用的指纹解锁功能解锁,但是王奶奶忘记了是哪个手指解锁,你知道王奶奶需要试几次才能把手机解锁吗?(王奶奶的手机指纹解锁不限次数)
王奶奶要用指纹打开手机,需要一个手指一个手指的尝试,直到找到正确的指纹,打开手机为止。
课堂导入
枚举法在我们日常生活和学习中应用非常广泛
解决这些问题也需要一个一个的尝试和列举,才能找到解
A=1 ……不成立
A=2 ……不成立
A=3 ……不成立
…… ……
A=9 B=8 C=1 破译成功√
PART 3
认识枚举法
新知探究
王奶奶解锁手机指纹的问题、破译字母算式的问题、以及计算24点游戏的问题,我们采用的:有序的尝试每一种可能的解,这就是枚举法。
枚举法的关键要素
认识枚举法
确定枚举的范围
正确解的判断条件
奶奶解锁时候,测试范围是自己的十根手指指纹
找到正确的指纹,手机解锁成功
新知探究
枚举法流程图
枚举法流程图
我们根据枚举法的实施过程画出枚举法的流程图:
提示:画流程图时,我们一
般采用菱形来画判断
语句
新知探究
枚举法
想一想
为什么在登录网站、APP、ATM自动柜员机时,系统要限制用户输入密码的次数?
如果不限制输入次数会怎么样?
PART 4
算法框架的确定
新知探究
算法框架的确定
在明确算法思想的基础上,使用具体的计算模型,合理选择控制结构,可以得到解决具体问题的算法框架。现在我们使用枚举法来解鸡兔同笼的问题。
兔的只数 35 34 ······ 12 ······ 1 0
鸡的只数 35-35 35-34 ······ 35-12 ······ 35-1 35
总脚数 140 138 ······ 94 ······ 72 70
是否满足正确解的条件 × × × √ × × ×
ji+tu=35
ji×2+tu×4=94
{
0≤ji≤35,0≤tu≤35
枚举的范围
正确解的判断条件
通过枚举我们得出兔12只,鸡23只就是正确的解。
PART 5
算法的描述
新知探究
算法的描述
描述算法时,要精准描述算法的每一步骤,明确算法的输入、输出。
在“鸡兔同笼”问题中,我们将tu的值初始化赋为0,输出的结果是鸡与兔的只数,即变量ji和tu的值。
“鸡兔同笼”问题算法的描述
我们用流程图将算法完整地描述出来。
算法的描述
新知探究
第一步:将变量tu的值初始化赋为0;
第二步:判断tu的值是否在取值范围;
第三步:使用分支结构对投票内容进行判断,当tu的值不在取值范围时,结束程序。变量tu的值在取值范围内时,计算ji的值;代入ji、tu的值,判断ji×2+tu×4=94是否成立
第四步:使用循环结构重复步骤2、3,直到ji×2+tu×4=94成立;
第五步:输出ji、tu的值。
“鸡兔同笼”问题算法流程图详解
PART 6
课堂任务
课堂任务
这节课我们学习了:使用经典算法思想进行算法设计。
我国古代数学家张丘建在《算经》一书中提出了著名的“百钱买百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,问翁、母、雏各几何?
请同学们运用这节课所学知识利用枚举法设计这个问题的算法,并用流程图进行描述。
谢谢
下节课见!
Thanks!
浙教版
$$