第10课 韩信点兵枚举法的实现 教案 六年级上册信息科技浙教版(2023)

资源下载
  1. 二一教育资源

第10课 韩信点兵枚举法的实现 教案 六年级上册信息科技浙教版(2023)

资源简介

第10课 韩信点兵枚举法的实现
一、教学目标:
1.了解什么是枚举法,理解枚举法的基本思想
2.通过解决实际问题,掌握枚举算法的一般过程
3.尝试枚举算法的程序实现,培养学生计算思维能力与探索精神
二、教学重难点
重点:枚举算法的一般过程
难点:枚举算法的程序实现
三、教学过程
(一)导入新课——引出枚举算法
1.出示情境:
我们先来看一个生活中的情境:爸爸批发来一框苹果,让小明检查一下里面有没有腐烂的苹果(出示图片和文字)
问1:怎样才能找到腐烂的苹果?
问2:找到一个后,剩下的还要继续找吗?(两个问题都出示在PPT上)
2.引出枚举法
交流得出:第一步,一一列举所有的可能性。
第二步,逐一检验,不重复不遗漏。
3.师总结:像这样的方法,我们称为枚举法(板书)。它是我们解决问题时常用的一种方法。它最大的特点就是刚才说的,一一列举、逐一检验。(板书)
4.思考:同学们想一想,在生活中,你有没有遇到过用枚举法来解决问题的例子,跟大家分享一下?可以同桌先交流一下哦。
(试密码、选路线、选方案……)
(二)韩信点兵——枚举算法的过程
1.引出韩信点兵的故事
师:今天,我还带来了一个历史典故,你们猜猜是什么?(出示图片)
揭示“韩信点兵”(出示文字)。有谁知道这个故事吗?来说一说.
(学生交流)
师:是的,今天老师也想这个故事拿来了,我们一起来看,请哪位同学大声为我们读一下吧?(学生读)
2.分析与理解题目
师:要知道一共有多少士兵,我们首先要想题目分析清楚。我们一起来找一找题目中有哪些关键信息?(师生一起分析)
“死伤四五百人” 范围:1000-1100
3人一排余2人,5人一排余3人,7人一排余2人。 (手写板书)
()/3……2 ()/5……3 ()/7……2
3.自然语言描述算法
师:同学们,通过刚才我们的分析,知道了士兵数量的范围,和需要满足的几个条件,那么想一想,我们是不是就可以用今天的一一列举的方法进行解决了。我们一起来看。(一步步出示表格)
1000 1001 …… 1050 …… 1099 1100
除以3余2
除以5余3
除以7余2
师:我们可以从谁开始?(请个同学来说步骤。。然后呢?然后呢?)追问:如果找到了这个数,我们还需要继续找吗?(要的,万一还有这样的数,对的,枚举法的特点就是一一列举,逐一检验所有的枚举值。)(指着板书说)
4.流程图描述算法
师:我们六()班真厉害,已经能把整个枚举过程说得十分清楚了。其实,在我们信息科技学科,我们还可以用流程图的方式来表示整个算法,可以把整个过程表示的简洁又清晰。
追问:熟悉流程图吗?——那老师先来解释一下吧。(解释流程图)
师:清楚了吗?那我这里有个小游戏,请同学们根据整个算法过程,帮忙把流程图复原。(学生操作)
黑板上也请同学操作一下。
师:好,我们来看一下黑板,你们和他一样吗?交流并走一遍流程图。
(三)Python程序——枚举法的实现
1.引出Python程序
师:我们已经能用枚举法来解决韩信点兵的问题了,那么士兵数到底是多少呢?我们要从头到尾一个一个去试对吧,你想说什么?特别是如果范围再大一点,可能要算半天,效率太低了。(人工操作太费时了,太慢了。)
师:我们可以请计算机帮忙。计算机速度快呀,范围再大也能秒算出来。今天我们用Py编写程序来帮我们秒算一下。
2.补充程序
但是我需要请同学们补充完整程序,才能算出来哦。等下老师会给同学们初级\中级\高级三个挑战,你们自己选择完成。(实在不行还可以看老师给的完整版程序),由于是第一次接触PY编程,这里要解释几个地方,我们一起来看一下。(教师以初级程序为例,解释%和and的意思,和几个语句的意思,之后学生开始挑选操作)
展示几个学生的程序,得出答案1073.
3.修改程序
出示拓展:
师:你们太厉害了,那如果我把韩信点兵的题目变一下,你们还能用程序实现吗?来,试一试
(四)总结课堂
师:同学们,今天我们学了什么?
师:其实,韩信点兵的问题除了枚举法,还有其他方法可以实现,有兴趣的同学课外可以去查相关资料进行学习,好,今天这节课就上到这里,下课。同学们再见。

展开更多......

收起↑

资源预览