内容正文:
学习任务单
课程基本信息
学科
小学信息科技(浙教版)
年级
六年级
学期
秋季
课题
第10课 “韩信点兵”筛选法的实现
教科书
书 名:信息科技教材
出版社:浙江教育出版社 出版日期:2023年7月
学习目标
1.通过迁移应用“筛选100以内的质数”,感知筛选法的原理,理解筛选法解决问题的一般过程。
2.通过使用编程语言(如Python)实现“韩信点兵”筛选法,掌握筛选法的程序实现。
3.通过对比分析不同算法,明晰在解决同一问题采用不同算法、同一算法不同条件步骤对效率的影响,进一步体会算法的多样性。
课前学习任务
1.复习用枚举法解决“鸡兔同笼”问题的过程。
2.在计算机上安装好python。
3.课前自行准备学习任务单。
课上学习任务
【准备活动】找出100以内的质数,做一个质数表。
先把2的倍数划去,2除外,划掉的这些数都不是质数。
再把3的倍数划去……
【学习活动二】分析问题 抽象数据
根据关键语句,请同学们思考完善下面的填空。
对象:用变量X来表示________________。
范围:X在_______到_______之间。
条件:
____________________________
_____________________________
_____________________________
【学习活动二】探索过程 建立模型
打开“韩信点兵筛选模拟”程序,进行尝试。
1.调换筛选顺序,结果有没有变?答:___________。
所求的剩余士兵数为( )人。
2.选择一种筛选过程,建立解决“韩信点兵”问题的计算模型。
三个条件:①x%3==2 ②x%5==3 ③x%7==2
选择的筛选顺序是:
第一次筛选的条件是( ),经过筛选后还剩( )个数;
第二次筛选的条件是( ),经过筛选后还剩( )个数;
第三次筛选的条件是( ),经过筛选后还剩( )个数;
【学习活动三】局部验证算法
打开“局部验证.py”文件,然后把第4行修改成你自己选定的第一次筛选条件,尝试保存运行,并跟模拟筛选程序的结果进行校对,检验正确性。
【学习活动四】整体验证算法
打开“整体验证.py”,根据自己的筛选方案,尝试修改代码并保存运行,检验每次筛选的结果是否跟模拟筛选的结果一样。
【学习活动五】对比次数 探究效率
再次打开“韩信点兵筛选模拟”,尝试几种不同顺序的筛选法,记录每次条件运行的次数,并统计出一共的总次数
序号
筛选顺序
第1次筛选次数
第2次筛选次数
第3次筛选次数
总次数
1
①②③
101
34
6
141
2
3
4
推荐的学习资源
信息科技(浙江教育版)六年级上 学习资源包
学科网(北京)股份有限公司
$作业练习
课程基本信息
学科
小学信息科技(浙教版)》
年级
六年级
学期
秋季
课题
第11课“韩信点兵”筛选法的实现
教科书
书名:信息科技教材
出版社:浙江教育出版社
出版日期:2023年7月
作业练习
作业:
问题描述:我国古代数学名著《孙子算经》中有“物不知数”的题目:
今有物不知其数,三三数之剩2,五五数之剩3,七七数之剩2,问物几何?
(假设数量在100以内)
用筛选法进行算法设计,并进行局部与整体程序验证。
1.完善流程图
开始
a中存储
的数
输出a中剩余的数
结束
2.局部验证:
3.整体验证:
附答案:
1.流程图
开始
a中存储1到100
的数■
保留除以3余2的数
「保留除以5余3的数
保留除以7余2的数
输出a中剩余的数
结束
2.局部验证代码:(以“五五数之剩3”为例)
n=0
x=0
while x<100:
ifx%5==3:
print(x,ende”")
n-n+1
X=x+1
print("
剩余个数:”,n,”个)
3.整体验证:
a=list(range(0,100))
print("全部的数:n",a,"
")
a=[x for x in a if x%3==2]
print("第一次筛选后剩下的数:",a,"
")
a=[x for x in a if x%5==3]
print("第二次筛选后剩下的数:",a,"
")
a=[x for x in a if x%7==2]
print("第三次筛选后剩下的数:",a,"
")
教学设计
课程基本信息
学科
信息科技
年级
六年级
学期
秋季
课题
第11课 “韩信点兵”筛选法的实现
教科书
书 名:义务教育教科书 信息科技教材
出版社:浙江教育出版社 出版日期:2023年07月
教学内容与学习对象分析
本课仍以“韩信点兵”问题为情境,主要内容包括韩信点兵问题的“抽象与建模”“算法设计”“算法的验证”三个部分,完整呈现了利用筛选法解决问题的一般过程。本课与第10课“‘韩信点兵’枚举法的实现”以及第12课“‘韩信点兵’同余法的实现”设置同一情境,加强对解决同一问题可以采用多种算法的理解,感受算法的多样性,这与第8课“算法的多样性”相呼应。通过对比多种不同解决“韩信点兵”问题的算法,感知不同的算法在效率上的差异,又与第9课“算法的评价方法”匹配,评估同一个问题的多种算法,帮助学生初步形成设计与分析简单算法的能力。
六年级学生通过前阶段的学习,了解了算法与算法的表示,掌握了算法的三种控制结构,初步掌握运用算法解决生活中实际问题的基本步骤,还理解了枚举法思想。六年级学生对新知识充满了好奇,有很强的好胜心,但缺乏对问题的深入理解的探究欲望,设计与分析抽象算法的能力偏弱,新旧知识的衔接能力不强。因此,需要设计深入浅出的活动引导学生实践,以实验教学法引领学生经历多个学习活动,经历从“感知”到“内化”再“应用,落地计算思维。
教学目标分析(含核心素养导向)
1.通过迁移应用“筛选100以内的质数”,感知筛选法的原理,理解筛选法解决问题的一般过程。
2.通过使用编程语言(如Python)实现“韩信点兵”筛选法,掌握筛选法的程序实现。
3.通过对比分析不同算法,明晰在解决同一问题采用不同算法、同一算法不同条件步骤对效率的影响,进一步体会算法的多样性。
教学重点:
1.感知筛选法的思想,了解筛选法解决问题的一般过程。
2.根据具体问题,能确定筛选法的取值范围和筛选条件,设计筛选条件顺序并验证。
教学难点:
1.探究不同的算法、同一算法设置不同条件顺序的算法效率,树立优化算法的意识。
教学过程
一.知识迁移,情景引入
1.认识生活中的筛子
(1)交流:筛子有什么作用?
(2)小结:“筛选”及词义。
2.回顾数学中的筛选知识
内容:小学数学五下教材P14页——找出100以内的质数,做一张质数表。
(1)学生交流方法:先把2的倍数划去,2除外;再把3的倍数划去,3除外……
(2)实践操作,感受筛选法。
3.小结:用筛选法解决问题的方法
方法:在一定数值范围内,把不满足对应条件的数值给筛掉,最后留下来的就是我们需要求的数值。
4.揭题:运用筛选法来解决“韩信点兵”问题。
二.分析问题,抽象数据
1.出示待解问题
韩信带领1500名士兵去打仗。战后,死伤四五百人。剩下的士兵中,他命令士兵3人一排,结果多出2人;接着命令士兵5人一排,结果多出3人;又命令士兵7人一排,结果又多出2人。问这队剩余士兵有多少人?
2.找出关键语句
(1)学生自主尝试
(2)交流,并小结
韩信带领1500名士兵,死伤四五百人。
士兵3人一排,多出2人
士兵5人一排,多出3人
士兵7人一排,多出2人
3.抽象数据
根据关键语句,学生思考并填写下面的空格
对象:用变量X来表示_____________。(剩余士兵的总数)
范围:X在_______到__________之间。(1000到1100)
条件:
1 ________________(X除以3余数为2)
2 ________________(X除以5余数为3)
3 ________________(X除以7余数为2)
三个条件
三.探索过程,建立模型
1.探索筛选过程。
参考筛选100以内的质数的方法,想一想用筛选法解决韩信点兵问题的过程。
(1)学生口头描述
(2)动态演示①--②--③的筛选过程
(3)体验不同条件的筛选过程
想一想:能不能调换筛选顺序呢?
学习支架:“韩信点兵筛选模拟”网页
(4)根据筛选过程,建立解决问题的计算模型。
①思考:调换筛选顺序,结果有没有变?答:___________。
②选择一种筛选过程,建立解决“韩信点兵”问题的计算模型。 你选择的筛选顺序是:
第一次筛选的条件是( ),经过筛选后还剩( )个数;
第二次筛选的条件是( ),经过筛选后还剩( )个数;
第三次筛选的条件是( ),经过筛选后还剩( )个数;
剩余的士兵数为( )
四.设计算法,程序验证
1.设计算法
(1)阅读运用用筛选法解决“韩信点兵”问题的算法:
①用a存储1000-1100范围内的数;
②在a中删除不满足“x除以3余数为2”条件的数;
③在a中删除不满足“x除以5余数为3”条件的数;
④在a中删除不满足“x除以7余数为2”条件的数;
⑤找出a中剩下的数。
(2) 学生选择合适内容写入流程图,完善流程图
2.局部验证
(1)演示
①已知:X的值在1000-1100间变化。
选择的第一次筛选条件是什么?
②程序验证
预设如下:
(2)打开“局部验证.py”文件,然后把第4行修改成你自己选定的第一次筛选条件,尝试保存运行,并和网页模拟结果进行校对,检验正确性。
3.整体验证。
(1)打开“整体验证.py”
我们要验证三次筛选的正确性,用变量就不够了,我们可以用列表(数组)a来存放1000-1100范围内的数,然后对列表a进行条件筛选。程序如下:
(2)根据自己的算法,来修改程序,并保存运行,检验。
五.对比次数,探究效率。
1.实验一:相同的算法,不同的顺序。
打开“韩信点兵动态模拟筛选”,尝试几种不同顺序的筛选法,并记录每次条件运行的次数,并统计出一共的总次数。
序号
筛选顺序
第1次筛选次数
第2次筛选次数
第3次筛选次数
总次数
1
2
3
4
2.实验二:相同的问题,不同算法。
(1)回顾“韩信点兵枚举法的实现”,出现代码。
(2)分析代码,思考:三个筛选条件各运行了几次,一共运行了几次?
(3)哪个算法的效率比较高?
如果用枚举法解决,三个筛选条件各运行了( )次,一共运行了( )次。
我们的发现是:__________________________________________。
六.课堂小结。
1.这节课,你有什么收获?
2.联系生活,应用算法
(1)同桌讨论:生活中有哪些场景可以用筛选法来解决问题?
(2)班内交流:生活中的筛选算法的应用。
3.布置作业。
我国古代数学名著《孙子算经》中有“物不知数”的题目:
今有物不知其数,
三三数之剩2,
五五数之剩3,
七七数之剩2,
问物几何?
学科网(北京)股份有限公司
$