内容正文:
第14课《枚举算法》教学设计
一、教学内容分析
《枚举算法》是浙江教育出版社《信息技术》八年级上册第二单元第14课。在前几节课的学习中,学生已经学习了循环结构程序设计的一般方法,同时也学习了分支结构。本课知识是对前面知识的整合,本课难点在于如何将枚举算法应用于现实具体问题,本课设计重点在将抽象内容具体化,使学生获得感性认识。
二、学生情况分析
由于学习者都是初中二年级的学生,许多学生对程序设计有畏难情绪,所以不注重学生能参与程序设计的全过程,侧重于分析和理论实现,所以很多代码设计的任务以填空的形式给出。
三、教学目标
1、理解枚举算法的思想,掌握枚举算法的步骤。
2、初步掌握枚举算法的程序设计方法,提高问题分析、解决问题的能力。
3、能够通过数学关系理解优化的原理,了解优化算法对程序运行效率的提升。
四、教学重点
1、理解算法思想和步骤,学会利用枚举法解决实际问题。
2、体验算法效率的提升。
五、教学难点
循环嵌套语句的使用,枚举算法的程序实现。
六、教学策略
任务驱动、合作学习、自主探究
七、教学过程
教学
环节
教学活动
设计意图
教师活动
学生活动
激
趣
导
入
1、思考讨论如何行李箱的密码锁忘记一位改怎么办。
2、通过让学生回忆生活中应用穷举法的示例,为理解枚举算法做铺垫,激发学生探究欲。
1、学生认真思考问题:通过思考关于密码锁的问题,引出对穷举法的思考。
2、列举生活中其他应用穷举法的例子。进一步理解穷举法的本质
通过情境引入,激发学生的学习兴趣,进入本节教学主题。
教学
环节
教学活动
设计意图
教师活动
学生活动
探
究
互
动
教
学
1、知识讲授:
提出穷举(枚举)算法的定义。
2、探究分析:
结合前面导入中,学生提出的生活中穷举(枚举)算法的应用,和学生一起归纳总结:在生活中,穷举算法解决问题的一般思路。引导学生借鉴生活中的算法思想到计算机程序中。
1、理解枚举算法的定义。
2、根据生活经验,尝试总结枚举算法解决问题的一般思路。
引导学生对习以为常的事情进行归纳总结,让学生能从日常问题出发,对比理解程序算法。
例题分析
一、题目分析
1、课例分析
讲授鸡兔同笼课例,分析几组可行的方案数,引导学生理解问题情境。
2、引导学生根据之前分析,结合枚举算法解决问题的一般思路,让学生讨论如何确定解的范围。
3、在解范围确定好后,让学生合作解决如何设置条件验证每一组解。
二、建立数学模型
通过分析建立数学模型:通过之前分析从未将问题变成,给出x和y,求满足条件的a、b、c的组合多少种?
三、画流程图
给出流程图框架,让学生在理解数学模型的基础上,将该流程填补完成。
四、编写程序
根据流程图和老师给出的部分代码,让学生补充完成该程序
理解问题模型,根据枚举算法解决问题的一般思路,小组讨论解的范围,讨论如何验证每一组解。
根据问题分析的结果、建立数学模型、设计算法。
根据老师提供的部分流程图,补全流程图。
根据老师提供的部分程序代码,补全程序
引领学生分析体会算法的思想
初步培养学生将实际问题进行简单的数学建模的能力。
教学
环节
教学活动
设计意图
教师活动
学生活动
算法优化
一、归纳总结、发现问题
带领学生总结枚举法的特点,让学生尝试列举枚举法的优缺点。通过几个较大数据的计算,从花费较长时间上,让学生发现枚举法复杂效率低下的特点。
二、探究解决、优化算法
引导学生注意变量间的数学关系,结合约束条件,通过数学推导,减少枚举的范围和数量。
(1)对于枚举范围的优化
通过发现变量c与a、b的等式关系,减少一层循环
(2)对于约束条件的优化
通过发现变量a和b的不等于关系,减少多余无效的枚举。
三、实验探究、体会效率
让学生以小组为单位,完成程序运行效率实验。针对一样的输入量x、y,让学生记录程序每次运行的时间,最后计算平均运行时间,可以让不同的小组针对不同的输入量来进行实验,当x、y值取值很大时,程序运行时间差就越大。
根据老师提示,发现枚算法的“缺点”
理解彼变量之间的数学关系以及通过数学关系进行算法优化,修改自己的程序,同时注意保留之前程序以便后续实验使用。
学生充分发挥主动性和参与性,并注意分工,有些负责程序的调试和运行、有些负责记录实验数据、有些负责汇总计算。
让学生能利用数学知识所学来优化算法,提高学生的数学应用能力、分析能力。
提高学生亲身动手分析问题的能力,形象直观地感受算法的优化,增强团队协作。
交流总结
1、利用刚刚完成实验,让学生分别汇报自己的实验数据。
2、教师汇总整体数据,让学生对比谈谈算法优化对程序运行效率的优化。
3、教学总结本堂课对于枚举算法的学习以及算法优化的体验。
总结对比实验数据,体会算法优化对效率的提升。
归纳总结本节课知识点。
提高学生归纳总结能力,让学生能够根据实验数据更好的理解算法效率的提升。
1
第 11 页 共4页
学科网(北京)股份有限公司
$$