第6课《枚举法》教学设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6课《枚举法》教学设计
教材分析
枚举法求解问题是现实生活中经常用到的一种方法,重点是如何从实际问题建立适当的数学模型、构造枚举的框架,使学生能真正消化知识,转化为自己的信息技术处理能力,本课就通过“张邱建百钱买百鸡”的问题引导学生如何用枚举法解决实际问题,并激发学生进一步探索的欲望。
(一)教学目标
知识与技能:了解枚举法在算法中的应用,学会利用枚举法解决实际问题,并能对枚举的范围进行优化;进一步理解算法优化的含义。
过程与方法:用易语言的循环语句实现穷举策略,编写解决问题的程序并编译通过。
情感态度与价值观:对待可能有多种解决方案的问题,尝试使用枚举法来实现问题的求解,并尽可能对解决问题的步骤和方法进行优化。
(二)内容分析
重点:枚举策略算法的理解,循环嵌套语句的使用
难点:枚举策略的现实。
(三)学生分析
学生已经学完了第一单元程算法思想初步,对易语言编程环境,对象、属性、事件、事件驱动的使用已经有所了解。对三种基本程序结构也有所了解。本节课是在学生学完了循环语句后,应用循环语句编写程序解决问题。目的让学生巩固前面所学的循环控制流程“变量循环首”命令的用法。虽然学生已经学会了易语言的一些命令的使用,但前面的学习,学生更侧重语法的学习,因此本节课在学生已经掌握一些基本语法后,培养学生应用易语言的这些命令来实现程序,解决实际问题。
(四)教学策略设计
1.教学方法设计
任务驱动、讲授、探究、
2.关于教-学流程和教-学活动的设计思路
创设情境----提出问题,师生讨论-----探究问题;师生一起分析-----找到解决问题的方法;练习-------巩固——总结。
(五)、教学过程
(一)引入课题
教师:中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:母鸡每只3元,公鸡每只2元,小鸡每只0.5元,计算一下,如何花100元钱买100只鸡,并保证公鸡、母鸡、小鸡都要有,各买多少只?(学生思考)
(二)小组协作,自主探究
教师:同学都很棒,现在我们先小组讨论一下,然后让每个小组的一位代表来讲解一下你们如何分析解决这个问题.。
分析问题(教师正确引导,学生小组协作完成)
我们不能一下子就能得到100元如何买100鸡。但是题意给出三种鸡的单价已知,总的钱数已知,那么要满足百钱买百鸡,就必须满足以下两个条件:即
1、母鸡数量+公鸡数量+小鸡数量=100只。
2、3*母鸡数量+2*公鸡数量+0.5*小鸡数量=100元。
所以此问题可归结为求这个不定方程的整数解。
[提问]:这解确定吗?(学生:不确定,有多个答案)
教师:因此我们可以利用枚举法来解决这个问题。什么是枚举法呢?
给出枚举法定义:枚举法是把问题的所有可能结果逐一试验,筛选出符合条件要求的结果的方法。枚举法是利用计算机速度快,精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检验,从中找出符合要求的答案。
(三)利用枚举解决办法,根据“百钱买百鸡”程序流程图,用易语言写出循环嵌套结构程序代码,求解。(小组协作,教师引导,完成任务)
核心程序段:
变量循环首(1, 100, 1, 公鸡)
变量循环首(1, 100,1, 母鸡)
变量循环首(1, 100,1, 小鸡)
如果真(母鸡×3 + 公鸡×2 + 小鸡×0.5 =100 且母鸡+公鸡+小鸡=100)
列表框1.加入项目(“母鸡有”+到文本(母鸡)+ “只;”+“公鸡有”+ 到文本(公鸡)+“只;”+ “小鸡有”+ 到文本(小鸡)+“只;”)
变量循环尾()
变量循环尾()
变量循环尾()
任务完成后,各小组展示“百钱买百鸡”程序运行结果。
[提问]上面的程序段,循环体条件语句要执行多少次?能不能在此程序中加上循环计数结果输出到屏幕上?
(学生交流,小组积极探讨)
最后学生回答:
(四)优化程序
教师:利用枚举策略编制的程序,其运算量一般是很大的,因此如何提高算法效率是穷举算法一个很重要的问题。
[提问]1、上面的程序段,循环体条件语句执行的次数是惊人的,能否根据题意更合理的设置循环控制条件来减少这种枚举和组合的次数,提高程序的执行效率分析呢?
(学生思考)
教师引导:若全买公鸡最多买50只,显然公鸡的值在0~50之间;同理,母鸡的取值范围在0~33之间,小鸡的数量=100-公鸡-母鸡,引导学生思考还能更优化程序吗?
变量循环首(1, 50, 1, 公鸡)
变量循环首(1, 33,1, 母鸡)
小鸡=100-公鸡-母鸡
如果真(母鸡×3 + 公鸡×2 + 小鸡×0.5 =100 且母鸡+公鸡+小鸡=100)
列表框1.加入项目(“母鸡有”+到文本(母鸡)+ “只;”+“公鸡有”+ 到文本(公鸡)+“只;”+ “小鸡有”+ 到文本(小鸡)+“只;”)
变量循环尾()
变量循环尾()
[提问]优化后的程序,循环体语句执行多少次?与优化前减少了多少次?
学生分组修改程序,解决问题:
总结学生程序编写的情况,给予适当评价!
(五)总结提高
教师:引导学生总结出“枚举法”概念.和基本步骤
概念总结:有些问题的解可以用公式,或者按一定的规则、规律求出时,只要把这些规则用计算机的语言写出,问题就可以得到解决。但也有些问题,像“百钱买百鸡”问题一时难以找到规律或公式,或者根本没有公式可循。在这种情况下,我们可以利用计算机高速运算的特
点,用枚举策略来解决。
所谓枚举策略(也称枚举法)指的是从可能的解的集合中一一枚举各元素,用题目给定的检验条件判定哪些是无用的,哪些是有用的。能使命题成立,即为其解。
基本步骤:分析要素关系——》抽取数学模型——》建立解析式——》设计算法——》编写程序——》调试程序——》结果
设计意图:本部分内容将指导学生如何从特殊现象总结出一般的规律。帮助学生形成知识体系。
(六)课后提高
编程求下列各式的值:
1、101+102+….+1001
2、1+(1+2)+(1+2+3)+....+(1+2+3+. (2009)
(八)教学评价
练习
编程求下列各式的值:
1、101+102+….+1001
2、1+(1+2)+(1+2+3)+....+(1+2+3+. (2009)
教学反思
1.本课主要锻炼学生对于循环语句的理解程度,对于刚接触计算机程序的初二的学生来说,要灵活运用编程语言,选择优秀的算法,是比较困难的。因此本节课最重要的是分析问题思路要清晰,总结出穷举策略。算法就在于培养学生的逻辑思维能力。
2.本课重点是算法的讲解,对程序的实现,易语言的操作没有做重点讲解。当然算法的现实也很重要,这就要求学生对易语言的一些基本操作和语法比较熟练,才能保证本课目标的实现。