用穷举法设计程序教学设计.docx
《用穷举法设计程序教学设计.docx》由会员分享,可在线阅读,更多相关《用穷举法设计程序教学设计.docx(9页珍藏版)》请在冰豆网上搜索。
![用穷举法设计程序教学设计.docx](https://file1.bdocx.com/fileroot1/2022-12/6/8cb8985e-035f-4b56-ae4c-77ef9c22e83e/8cb8985e-035f-4b56-ae4c-77ef9c22e83e1.gif)
用穷举法设计程序教学设计
用穷举法设计程序教学设计
《用穷举法设计程序》教学设计
执教教师:
佛山市第三中学杨溢执教学校:
绵阳南山中学
一、基本情况
本节内容是广东教育出版社出版的普通高中信息技术(选修1)《算法与程序设计》教材第四章第2节《用穷举法设计程序》的教学内容,包括用穷举法求解问题的基本过程、穷举法的基本思路,穷举法中变量的安排,穷举法中穷举方案的选择等。
本节建议使用两个课时来完成。
第一课时:
穷举法求解问题的基本过程、穷举法的基本思路,穷举法中变量的安排,第二课时:
穷举法中穷举方案的选择。
而本节课是穷举法的第一课时。
二、教学目标
课程标准中的相关内容:
1、了解穷举法的基本概念及用穷举法设计算法的基本过程。
2、能够根据具体问题的要求,使用穷举法设计算法,编写程序求解问题。
根据课程标准,确定本节课(用穷举法解决问题的基本过程)的教学目标如下:
1、知识与技能
⑴了解穷举法的基本概念及特点
⑵能归纳穷举法穷举的关键。
(设置穷举变量、变量变化范围、书写验证条件)
⑶了解穷举法设计程序的基本过程。
⑷能够根据具体问题的要求,使用穷举法思想分析问题,设计算法,编写程序求解问题。
⑸能够根据具体问题的条件,进行算法优化。
2、过程与方法
⑴经历用穷举法求解问题的基本过程。
⑵能通过实际问题的分析、求解过程,尝试归纳出利用穷举法解决问题的思路和方法。
3、情感态度与价值观
⑴在解决问题的过程中进一步培养和提升学生的逻辑思维能力
⑵培养学生算法优化的思想。
⑶了解穷举法在破解密码方面的现实应用,自觉养成保护密码的良好习惯。
三、教材分析
1、本节在主要内容介绍
⑴穷举算法的基本思路:
对要解决问题的所有可能情况,一个不漏地进行检查,从中找出符合要求的答案。
⑵用穷举算法解决问基本过程:
A)分析问题:
问题的条件和未知数是什么?
可以用解析法解决吗?
适合用穷举法吗?
B)算法设计
a.穷举法的基本算法(用循环语句列举穷举变量的穷举范围,用条件语句描述验证条件)
b.穷举算法设计的三个关键:
ⅰ.确定穷举变量:
问题涉及哪些因素需进行穷举;
ⅱ.确定穷举范围:
问题所涉及的情况有哪些,穷举范围应该如何确定;
ⅲ.验证条件:
分析出来的这些情况,需要满足什么条件,才成为问题的答案。
C)根据算法编写程序;
D)调试运行;
(3)优化穷举,对照题目条件,逐步求精,改善算法(穷举变量的安排、精确穷举范围)。
四、学情分析
⑴教学对象是绵阳南山中学高一/高二年级学生。
⑵学生已经具备了一定的逻辑思维、分析问题、表达思想等能力。
⑶学生未学习过新课改教材。
高二学生学习过非VB语言的基本编程语句,但没有接触过循环嵌套,也未涉及穷举算法,在编写程序的具体技术,特别是对VB编程工具的具体操作,各基本语句的使用程度未达到课标中学习本节内容的知识准备要求。
五、重点难点分析
教学重点:
⑴穷举法的基本思路;⑵用穷举法的设计程序的基本过程。
教学难点:
⑴能使用穷举法的思想对具体问题进行分析
⑵根据具体问题,合理优化穷举算法,提高效率。
六、教学策略
综合前面对教学目标、教材和学情等的分析,学生并不具备教材设定的知识基础,特别是具体的编程知识,因此穷举法的教学目标的体现将不定位在编写完整的穷举程序,而是确立为以下三点:
⑴能用穷举法对具体问题进行分析及算法设计;⑵能根据分析补充完善程序的关键部分;⑶能合理进行穷举优化。
在教学过程中,我们首先以“揭开密码被破解之谜”为主线,引入“穷举法”的概念;通过阅读分析“密码破解”程序,归纳出用程序实现穷举的基本算法及三个关键、了解穷举法求解问题的基本过程,认识穷举法的特点,引导学生提出反“暴力穷举”的策略,同时也为后面的穷举优化打下基础。
通过“礼品问题”,体验用穷举法解决问题的全过程,并进行穷举优化。
最后总结本节内容,并提出拓展问题,为下节学习穷举方案的选择做铺垫。
同时,加强网页课件的辅助、提示功能,特别是对VB编程工具的具体操作,各基本语句的使用方面,以帮助学生更好地完成学习任务。
六、教学环境
多媒体网络教室、投影仪等。
七、教学过程
教学环节
教师活动
学生活动
设计意图
游戏导入
认识穷举
(3分钟)
1、提出问题:
如果在登陆QQ的时候,当你输入熟悉的帐号和密码,一再出现出错窗口,你会想到什么?
换位思考:
黑客是如何破解密码的?
2、引导学生介绍“猜密码”活动的游戏心得。
3、小结穷举法定义。
4、观察计算机程序穷举,发现人工穷举与计算机穷举的异同,引入课题。
1、学生回忆相关生活体验。
2、口述游戏心得,体会穷举法基本思路
3、听讲、思考、回答
4、观察思考回答
1、通过学生在网络生活中遇到的问题引入课题,引起学生学习兴趣。
2、通过学生猜密码游戏,让学生在游戏过程中体会穷举法的基本思路,更有利于对穷举法的理解。
程序分析
发现规律
(15分钟)
1、展示“破解两位密码”程序,引导学生阅读程序,介绍各语句的作用
2、通过密码程序代码的分析,归纳出穷举程序的基本算法及程序实现穷举的三个关键
3、引导学生知识迁移,破解多位密码的算法应如何修改,并分析相应的穷举次数;
4、引导学生分析穷举法的特点。
并根据上述分析,请学生提出反“暴力破解”的对策
5、引导学生理解用穷举法解决问题的过程。
1、在教师引导下阅读程序,了解各语句的作用;
2、学生思考、尝试归纳;
3、分析思考问题,并尝试修改;
1、由于学生在学习之前已经不具备相应的程序设计基础。
因此,本环节将由教师引导学生阅读程序,发现规律。
任务引领
体验穷举
(15分钟)
1、布置任务:
班里要举行班级聚会,要用600元班会费为50名同学准备50份礼品进行抽奖。
选定了公仔(20元/个)、水杯(15元/个)和笔筒(10元/个)三类商品。
要求刚好用完600元买50件礼品(每种礼品至少一件),这三种礼品的数量可以如何搭配?
有多少种方案?
2、引导学生进行问题分析、算法设计。
3、演示程序的修改及运行及课件中的支持、辅导功能。
4、巡堂辅导,提示优化。
1、学生分析问题,设计穷举算法,填写学案;
2、根据分析完善程序;
3、开始尝试优化
1、通过本任务让学生体验用穷举法设计程序的过程,并尝试优化
交流评价
优化穷举
(8分钟)
1、提示学生观察答案及条件,并提供优化方向,尝试优化,并计算穷举次数,体验优化的效果
2、组织学生进行优化方案交流
1、学生听提示,尝试优化。
2、了解他人的优化方案,取长补短。
1、通过穷举优化及优化前后穷举次数的比较,培养学生优化程序的思想;
2、交流优化方案,引导学生自我反思,加深对所学知识的认识与理解。
归纳总结
拓展思考
(4分钟)
1、通过演示文稿总结本节知识内容。
2、归纳同学们在解决问题过程中常见问题。
3、提出拓展思考问题。
1、知识总结,系统归纳。
2、思考拓展问题,为下节的学习作准备
1、通过知识总结,帮助学生将知识系统化,便于学生理解记忆。
2、提出拓展问题,为下节的学习作准备。
八、教学评价
本节的评价隐含在教学的过程中,主要从两方面来进行:
(1)学生在课堂上与老师的互动,能否经过思考回答老师的问题;
(2)学生的学案中记录的学生的思维过程及学生完成程序的情况。
九、教学反思
1、对教学思路、教学设计的反思
本节内容在课程标准中的相关要求是
(1)了解穷举法的基本概念及用穷举法设计算法的基本过程。
(2)能够根据具体问题的要求,使用穷举法设计算法,编写程序求解问题。
教材采用了一个比较复杂的“种树”问题引入,但学生对这种问题的兴趣不大,而且在数学方面的要求较高,学生第一次接触穷举采用这个例子较难。
因此在本节的教学设计上,注重例子的选择,希望以一个结构比较简单、典型的穷举程序来开始学习。
因此,本课设计以“揭开密码被破解之谜”为主线,引起学生学习的兴趣,从而引入“穷举法”的概念;通过阅读分析“密码破解”程序,归纳出用穷举算法的基本模式和三个关键,程序实现穷举的基本过程、穷举法的特点,引导学生提出反“暴力穷举”的策略,同时也为后面的穷举优化打下基础。
通过“礼品问题”,体验用穷举法解决问题的全过程,并进行穷举优化。
通过这样的教学流程使学生能较快接受穷举法的思想、关键,并加以应用,较好达到教学目标。
2、对课堂教学过程的反思
本节课的教学过程总体比较流畅,师生互动较多,学生的合作学习、自主学习能力有所体现,但部分环节的时间掌握不够好,如引导学生提出对应穷举破解的策略、引导学生分析问题等,应做好引导工作,活动的目的性及效率会更高。
附录一:
教学流程图如下:
附录二:
《用穷举法设计程序》学案
《用穷举法设计程序》学案
班别:
___________________姓名:
______________学号:
________________
活动一:
密码问题
穷举算法基本模式:
For穷举变量1=?
to?
For穷举变量2=?
to?
If条件then输出答案
Next穷举变量2
Next穷举变量1
破解三位密码算法关键:
穷举变量
变化范围
验证条件
穷举次数与哪些因素有关?
你能提出反暴力破解的对策吗?
活动二:
礼品问题
班里要举行班级聚会,要用600元班会费为50名同学准备50份礼品进行抽奖。
你要负责去购买礼品,选定了公仔(20元/个)、水杯(15元/个)和笔筒(10元/个)三类商品。
要求刚好用完600元买50件礼品(每种礼品至少一件),这三种礼品的数量可以如何搭配?
有多少种方案?
环节
任务
分析问题
要求解的问题是什么?
涉及到哪些未知数和条件?
能用常用数学方法解决吗
算法设计
穷举算法三个关键设计:
(1)有多少个穷举变量?
穷举变量
对应物品
(2)各穷举变量的变化范围是什么?
变化范围
(3)答案所须符合的条件是什么?
编写程序
打开“礼品问题”程序,根据你的算法设计,程序中“?
”处应如何填写?
调试运行
点击启动运行程序,如发现错误可点击■结束运行,修改程序。
程序穷举次数为多少次?
优化穷举,提高效率:
穷举优化
观察你所完善的“礼品问题”程序运行结果,并与其他同学的运行结果比较。
认真阅读问题的各个条件,尝试优化程序,在合理范围内尽量减少穷举的次数。
优化措施
优化后的穷举次数