粤教版高中信息技术选修1教案421用穷举法求解问题的基本过程.docx
《粤教版高中信息技术选修1教案421用穷举法求解问题的基本过程.docx》由会员分享,可在线阅读,更多相关《粤教版高中信息技术选修1教案421用穷举法求解问题的基本过程.docx(6页珍藏版)》请在冰豆网上搜索。
粤教版高中信息技术选修1教案421用穷举法求解问题的基本过程
课题
用穷举法解决问题的基本过程
教材分析
我校选用的是广东教育出版社的《算法与程序设计》,课本在介绍穷举法时用的是一个求数值的例子,这样引入问题,不易引起学生的兴趣。
我觉得应该尽量使用趣味性教学手段,将课堂气氛活动起来,激发学生的学习兴趣,才能取得较好的教学效果,所以,我决定不完全按照教材的教学思路,采用看视频、演示暴力破解例子、解决经典问题等方法,进行本节课的教学。
学情分析
本节教学的对象是高二学生,他们已经具备一定的逻辑思维、分析问题的能力,同时,通过前几个章节的学习与实践,学生已经历了用计算机解决问题的过程与步骤,学会了对计算机程序进行调试,并掌握了顺序、循环、条件三种程序结构,为本节内容的学习提供了良好的基础。
前一节的学习,学生掌握了如何用解析法设计程序,但现实生活中也有很多问题往往无法用解析法找到答案,这时就需要使用计算机来帮助我们逐个列举出可能的情况,从而引出本课内容——“穷举法”。
教学目标
1、知识与技能
(1).掌握用穷举法设计程序的基本思路。
(2).通过深入研究穷举的技巧,积累程序设计的经验,提升自己设计程序求解问题的能力。
2、过程与方法
本节以“百钱买百鸡问题”入手,由浅入深讲解了穷举算法的思路。
3、情感态度和价值观
通过本节内容的学习,学生对设计算法求解问题有了进一步的认识,对设计算法的步骤更加熟练,思考问题更加严密和有条理,程序编制和调试更有经验。
重点和难点
(一)、教学重点
1、建立正确的数学模型,确定穷举方案。
2、根据命题确定可解空间(即变量的取值范围)
3、正确表达“符合条件”的判断
(二)、教学难点
1、如何确定穷举方案
2、如何利用穷举法解决实际问题
教学方法
任务驱动法、探究法
教学过程
教师活动
学生活动
设计意图
一、创设情境,新课导入
1、给学生播放破解密码的影视片段,让学生边看边思考:
影片的主人公是用什么方法把密码破解开的。
2、给学生发一张电子贺卡,但是电子贺卡设有密码,给学生提示,密码是两个数字,让学生自行将密码破解开。
3、让学生思考:
影片的主人公破解密码和我们破解贺卡的密码,两者所用的方法是什么?
让学生自己总结并回答
从而引出穷举法的定义:
穷举法,又叫枚举法,它将求解对象一一列举出来,然后逐一加以分析和处理,并验证结果是否满足给定的条件,列举完所有对象,问题将最终得到解决。
抛出经典题目:
百钱买百鸡
首先,让学生讨论并回答:
利用穷举法解决百钱买百鸡的基本思路是什么?
向学生讲解用穷举法解决问题的基本思路:
1、确定穷举对象、穷举对象范围和判定条件
2、一一列举可能的解,验证是否是可能的解
和学生一起探究用穷举法解决百钱买百鸡的具体过程
二、师生互动、逐步点拨、解决问题。
1、确定穷举对象
公鸡、母鸡和小鸡的个数
2、穷举对象的范围
通过学生讨论,赵学生回答:
X、Y、Z可能值
根据题目意思可知:
0≤X≤100
0≤Y≤100
0≤Z≤100
根据题目意思上式可优化为:
0≤X≤100/5
0≤y≤100/3
0≤Z≤100
3判定条件
让学生思考、讨论,并回答,判定条件是什么:
百钱买百鸡
进行穷举法解决问题的第二步,将穷举对象一一带入到判定条件中去,求出所有符合判定条件的解
通过课件的动画效果,和学生一起推断循环过程
和学生一起画出程序流程图
让学生根据流程图,写程序代码
听取学生答案,并公布正确答案
调试程序,检测结果
三、灵活运用
请大家思考并回答问题:
1、这个程序有什么地方可以改进?
2、这样改的理由是什么?
3、程序如何写?
四、交流评价
两组程序代码,哪组要优于另一组?
为什么?
五、归纳总结
1、用穷举法解决问题的基本思路:
列举出所有可能的情况,逐个判断有哪些是符合问题所要求的条件,从而得到问题的全部解答。
2、穷举法的使用范围
1、穷举范围是有限的,有明显的穷举范围
2、可以按着某种规则列举对象
3、一时找不到合适的解决途径
五:
布置作业
用穷举法解决鸡兔同笼的问题
观看影片,思考问题
按照老师给的提示,破解贺卡的密码,并回答是用什么方法破解成功
学生讨论并回答:
利用穷举法解决百钱买百鸡的基本思路是什么?
注意听讲,跟随着老师的思路思考
通过自己思考、和同学讨论,最终确定出穷举对象、穷举对象的范围以及判定条件
跟着老师一起推断循环过程
以组为单位,交流探讨,画出算法设计的流程图,并按照老师的要求回答问题
根据流程图,写程序代码
学生调试程序,检测结果
思考并回答问题
找出两组的代码的差别,回答老师提出的问题
认真听讲,做笔记
记录下作业,课下认真完成
用播放视频和布置任务的方法引入新课,激发学生的学习兴趣和学习热情,把学生的注意力吸引到课堂教学中来
用“百钱买百鸡”的问题把学生引入到本节课的学习中来,激发学生的求知欲和学习兴趣
根据学生解决具体问题来向学生渗透本节内容的重点:
穷举法解决问题的基本思路:
为学生写程序设计代码做铺垫。
加深学生对问题的理解,是学生能够灵活运用算法程序设计解决问题
通过知识总结,帮助学生将知识系统化、结构化,便于学生理解记忆
附表1:
流程图
附表2:
程序代码1:
Dimx,y,zAsInteger
Forx=0To20
Fory=0To33
Forz=0To99
If(x+y+z)=100And(x*5+y*3+z/3)=100Then
Print“公鸡”;x
Print“母鸡”;y
Print“小鸡”;z
Endif
Nextz
Nexty
Nextx
程序代码2:
Dimx,y,zAsInteger
Forx=0To20
Fory=0To33
Z=100-x-y
If(x*5+y*3+z/3)=100Then
Print“公鸡”;x
Print“母鸡”;y
Print“小鸡”;z
Endif
Nexty
Nextx