高中信息技术算法与程序设计分册4.2穷举法说课稿
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高中信息技术算法与程序设计分册4.2穷举法说课稿
【一】说教材
1、教材的地位与作用
首先,本章内容是在前面两章关于编程的差不多结构的基础上,关于实际生活中有代表性的某一类问题的具体算法的介绍,在本章第一节介绍了解析法之后,关于实际生活中列举类问题运用解析法不是太合适,因此引入第二种代表性的算法穷举法的介绍。
穷举法是算法中比较常见,日常运用特别特别多的一种。
经典问题有鸡兔同笼、百鸡百钱等。
在课本和等级考试中都作为一个重要的部分出现。
2、教学目标:
基于对教材的理解和分析,结合学生的实际,我从知识与技能、过程与方法、情感态度与价值观三方面制定了本课的教学目标。
知识与技能:使学生了解什么是穷举法及其特点,以及用穷举法设计算法的差不多过程;能够依照具体问题的要求,使用穷举法设计算法。
过程和方法:运用观看、发明、归纳、应用的方法,进展学生的归纳思维;培养学生独立探究与自主发明的学习能力。
情感态度与价值观:使学生了解算法和程序设计在计算机解决问题过程中的重要性;体验将算法转变为程序的过程,享受计算机解决问题的欢乐。
3、本课重点:用穷举算法解决问题的一般步骤;能依照具体问题的要求,提高运用穷举算法解决问题的能力。
难点:通过观看、类比多种方式培养学生归纳思维。
【二】说学情
第一,高二学生对世界的认识正处于由感性到理性,由具体到抽象的认识。
学生已掌握VB编程的差不多知识,并理解掌握解析法解决问题。
学生关于列举类的问题用解析法来实现感到困惑,有学习穷举算法的需求。
第二,选择《算法与程序设计》这本教材,关于我校相当一部分学生来说,依旧比较难和枯燥的,要想充分调动学生学习的积极性和主动性,必须选择合适的教学方法。
【三】说教法
成功的教学不是强制,而是激发学生的学习兴趣。
课本在介绍穷举法时用的例子是一个相对复杂的演讲竞赛分组的问题。
我个人认为,那个问题不太适合我们的学生,一是学生不是特别感兴趣,二是比较复杂。
依照我校学生的特点,本课采纳小组内合作的形式,降低了问题解决的难度,学生在教师的指导下带着任务通过小组合作、实际操作、探究学习等方式,逐
步完成任务,增强了凝聚力。
在讲解问题的过程中我借鉴了数学课的教法:从简单问题详细剖析,推出
一般情况,得到结论〔算法理论〕,再从理论推展开去,再解决其他问题。
【四】教学过程
在教学中,围绕教学的重点和难点,调动学生的主观能动性,引导学生层层深入,依照本课时特有的内容,我设计了如下的教学过程:
观看一发明一归纳一应用
我使用水仙花数问题这一例题让学生观看-发明-归纳。
通过那个问题,由简单到复杂,学生便可差不多掌握穷举法的应用。
然后及时让学生归纳总结穷举法解决问题的步骤并再接再厉利用假设干问题进行思维的深化与巩固。
学生的头脑不是一个需要填满的容器,而是一个需要燃烧的火把。
通过对比、分析、归纳,引导学生的思维活动向纵深进展,由表及里,培养学生良好的思维适应。
1、观看
学生阅读以下程序,分析程序的执行过程,说出程序的功能,此程序代码如下:Fori=1O0to999
a=int(i/1O0)
b=int(i/10)mod10
C=Imod10
Ifa5+b5+c5=ithen
Printi
Endif
Nexti
教师:首先问大伙,在第一次循环的时候,循环变量i值是多少?学生回答:100 那变量a的值是多少?学生回答:1
变量b的值是多少?学生回答:0
变量c的值是多少?学生回答:0
满不满足条件?有输出吗?
那第二次循环的时候,循环变量i值是多少?学生回答:101
那变量a的值是多少?学生回答:1
变量b的值是多少?学生回答:0
变量c的值是多少?学生回答:1
满不满足条件?有输出吗?
提问:
生活中你遇到过用穷举法解决的问题吗?让学生加深理解穷举的思想。
(2)发明
教师引导:①通过分析程序的执行过程,可看出变量a存放的是什么?学生:一个三位的自然数百位上的数字。
变量b存放的是?学生:是其十位上的数字,变量C存放的是?学生:是其个位上的数字;②一个三位的自然数,假设满足百位
的立方、十位的立方与个位的立方之和等于它本身,就输出;③此程序的功能是输出100~999之间的水仙花数。
教师总结:此程序的最大特点是列出了所有可能的对象,然后逐一判断是否满足给定的条件,从而求出问题的解。
当穷举完所有对象,问题将最终得以解决。
我们把这种算法称之为穷举法。
这节课我们学习用穷举法解决问题。
穷举法的定义:穷举法也叫枚举法,它是将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否满足给定的条件,穷举完所有对象,问题将最终得以解决。
教师提问:生活中你遇到穷举法解决的问题吗?
教师引导:关于此题,某同学给出了另一种解法,请判断他的程序代码是否正确? Fora=1tO9
Forb=OtO9
Forc=OtO9
Ifa^3+b^3+c^3=a*1OO+1O*b+cthen
Printa*10O+b*1O+c
Endif
NextC
Nextb
Nexta
学生发明:第二种方法依旧采纳的是穷举算法。
在第一个程序中,循环的次数是900次,每次循环要执行四条语句。
而在第二个程序中,循环的次数是9XlOX10=900次,但每次循环只执行一条语句,因此第二个程序的执行效率高。
(3)归纳。
教师活动:通过“输出水仙花数”这一例子,能归纳出用穷举法解决问题的步骤吗?
学生归纳:①确定穷举对象及搜索范围:用循环或循环嵌套实现;②写出符合问题解的条件:用IF语句实现;③尽可能缩小搜索范围,减少程序运行时间,提高程序的执行效率。
(4)应用。
教师活动:现在我们反回头来看刚开始时让大伙思考的那道找回QQ密码的题,在编程实现之前,我们先来分析回答以下几个和此题相关的问题:①穷举的对象是什么?其搜索的范围是什么?②符合问题解的条件是什么?③你有方法减小搜索范围,提高程序的执行效率吗?
学生活动:①穷举的对象是密码,其搜索的范围是67008~67998;②符合问题解的条件是:此数既能被78整c除,也能被67整除。
学生活动:在用自然语言描述其算法后,编程实现,关心某同学找回QQ密码。
师生互动:在编程过程中,你遇到哪些困难?你是如何解决的?
设计意图:从一个学生熟悉的例子着手,让学生在观看中发明,在发明中质疑,在质疑中归纳,在归纳中解决问题。
学生增长知识的过程是轻松愉快的。
对比归纳,深化思维
判断以下两题能否用穷举算法解决,什么原因?通过分析,你能归纳出哪些能用穷举法解决,哪些不能用穷举法解决?
①在一个直角三角形中,三条边a、b、C的长度都为整数,且一条直角边a的长度已确定,斜边C的长度不能超过某数I,找出满足条件的所有直角三角形。
②使用一根长度为L厘米的铁丝,制作一个面积为S的矩形框,要求,计算出满足这种条件的矩形的高h和宽w。
学生归纳:通过两题的对比分析,穷举算法适用的条件是:有明显的穷举范围且求解对象应该是有限的;能够按某种规那么列举对象;有穷举规那么;一时找不出解决问题的更好途径时。
通过对比归纳,学生不但巩固了穷举法的解题方法,而且深化了思维,学会对题目进行深入分析。
⏹总结:本课一是让学生理解穷举的思想,二是利用观、发明、归纳、应用一系列程
序,目的是让学生得出穷举的解题步骤:即三步走:
⏹①确定问题解搜索范围:用循环或循环嵌套实现;
⏹②写出符合问题解的条件:用IF语句实现;
⏹③尽可能缩小搜索范围,减少程序运行时间,提高程序的执行效率。
让学生看见穷举题目就会反射性地用三步解决它。
【五】说反思
回忆整个授课过程,我有如下感触:首先本课从一个熟悉的例子着手,让学生在观看中发明,在发明中质疑,在质疑中归纳,在归纳中解决问题。
学生增长知识的过程是轻松愉快的。
其次,在评价和展示学生成果时,应特别注意学生不同的编程思路,着重对其进行分析,找出优缺点。
第三,学生的头脑不是一个需要填满的容器,而是一个需要燃烧的火把。
通过对比、分析,归纳,引导学生的思维活动向纵深进展,由表及里,能够培养学生良好的思维适应。