内容正文:
初步
算法
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
生活中的应用
试钥匙
找气孔
登邮箱
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
解读
Interpret
了解枚举算法求解问题的基本过程,理解其基本思想,能用流程图描述该算法。(计算思维)
理解枚举算法的编程实现过程,能编写程序并调试运行实现问题求解。(计算思维、数字化学习与创新)
认识枚举算法在学习生活中的应用价值,理解用计算机解决问题的优势。(信息意识、信息社会责任)
学习目标解读
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
情景导入
712—770
701—761
701—762
701—761
唐代最令人印象深刻的文学成就可以说是唐诗
案例1:唐诗问题
李白一生写了多少首诗?
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
新知探究
枚举法
核心思想
针对于要解决的问题, 逐一列举它所有可能的情况,
逐个判断哪些符合问题所要求的情况, 从而得到问题的解。
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
项目分析与算法设计
开始
读取诗词库
结束
输入诗人甲
诗数=0
诗数=诗数+1
作者是李白?
所有的古诗都找完了码?
取下一首古诗
输出诗数
True
True
False
False
逐一列举
循环结构
逐个判断
选择结构
分析问题
对问题进行抽象和建模
设计算法
编写程序
运行调试
分析问题
设计算法
解决问题的方法和步骤
枚举的对象和范围 古诗 唐诗库
poem poems
枚举验证条件 作者是李白?
x表示作者
k表示诗数目
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
开始
读取诗词库
结束
输入诗人甲
诗数=0
诗数=诗数+1
作者是李白?
所有的古诗都找完了码?
取下一首古诗
输出诗数
True
True
False
False
新知探究
项目初体验,程序实现
x = input("◆请输入古诗的作者:")
import gushi #从txt文档中读取古诗
poems = gushi.readData() #用poems存储文档中所有的唐诗
k = 0
for poem in poems: #逐一列举:poem代表其中一首古诗
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
7
新知探究
项目初体验,程序实现
poem[0] poem[1] poem[2] poem[3]
“相思" "唐" “王维" “红豆生南国,…,此物最相思"
if x in poem[ ] :
问题:计算机如何判断作者呢?
列表
2
开始
读取诗词库
结束
输入诗人甲
诗数=0
诗数=诗数+1
作者是李白?
所有的古诗都找完了码?
取下一首古诗
输出诗数
True
True
False
False
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
8
开始
读取诗词库
结束
输入诗人甲
诗数=0
诗数=诗数+1
作者是李白?
所有的古诗都找完了码?
取下一首古诗
输出诗数
True
True
False
False
新知探究
项目初体验,程序实现
x = input("◆请输入古诗的作者:")
import gushi #从txt文档中读取古诗
poems = gushi.readData() #用poems存储文档中所有的唐诗
k = 0
for poem in poems: #逐一列举:poem代表其中一首古诗
if x in poem[2] :#逐个验证
k = k + 1 #问题的解
print("★ ",x,"写的古诗共【", k ,"】首","
")
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
9
逐一列举
逐个验证
输入
输出
循环结构
选择结构
枚举法基本思想
归纳
for 语句
if 语句
设计算法
编程调试
解决问题
分析问题
提出问题
枚举法解决问题的过程
枚举对象和范围及验证条件
语句规范
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
开始
读取诗词库
结束
输入诗人甲
诗数=0
诗数=诗数+1
作者是李白?
所有的古诗都找完了码?
取下一首古诗
输出诗数
True
True
False
False
任务驱动
项目初体验,程序实现
问题:李白给杜甫题诗多少首?
输入诗人甲和乙
作者是李白且题目或诗句中有杜甫?
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
11
作品初现
作品初现 夯实基础
x= input("◆请输入古诗的作者:")
y= input("◆请输入另外一位诗人的姓名:")
import gushi #从txt文档中读取古诗
poems = gushi.readData() #用poems存储文档中所有的唐诗
k = 0
for poem in poems: #逐一列举:poem代表其中一首古诗
if x in poem[2] and ( y in poem[0] or y in poem[3]) :#逐个验证
k = k + 1 #问题的解
print("★ “",x,"”写给“",y,"”的古诗共【", k ,"】首","
")
程序运行结果,
理解枚举算法。
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
12
合作交流
案例2:票据中模糊数字推断问题。
合作交流 集思广益
四个数字应是AABB,其中A≠ 0,A≠B,且AABB是一个整数的二次方。
已知条件
求解目标
隐含关系
分析问题
票据中的数字。
要求解的4位数字的编号必须同时满足所有的已知条件。
票据上有一个4位数字组成的编号:
甲说:数字编号的前两位数字相同,但都不是零;
乙说:数字编号的后两位数字是相同的,但与前两位不同;
丙说:数字编号是一个整数的平方。
根据以上线索推断出编号。
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
13
合作交流
合作交流 集思广益
循环
循环
选择
选择
设计算法
编程调试
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
14
枚举法适合解决的问题
1.运算量大
3.所有可能的情况都符合一定规则
逐一列举
逐个验证
输入
输出
循环结构
选择结构
枚举法基本思想
归纳拓展
for 语句
if 语句
2.求解的答案数量有限
设计算法
编程调试
解决问题
分析问题
提出问题
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
当堂检测
1、生活中,当你遇到下面情况时,你觉得可以采用枚举法解决的是:
课后检测 巩固知识
A. 导航软件规划路线时,会提供不同的路线方案供选择;
B. 计算全班同学的信息技术成绩的平均分;
C. 寻找1000以内所有质数;
枚举范围:?
2、唐诗案例:据史料记载,李白给杜甫题诗3首,思考如何修改枚举算法呢?
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
16
总结
Summarize
信息意识
计算思维
技术+创意
归纳总结
合作交流
点石成金
归纳总结
— 1 —
新知探究
任务驱动
作品初现
$$