《用穷举法解决问题》教学设计
- 格式:pdf
- 大小:225.59 KB
- 文档页数:10
《用穷举法解决问题》教学设计工作单位:授课老师:课型:新授课学科:信息技术一、教学内容分析本节课是《算法与程序设计》(教育科学出版社2004 版选修本)第三章“算法的程序实现”中第二节“用穷举法解决问题”的内容。
穷举法是程序设计中使用最为普遍的一种基础算法。
它利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检查,从中找出符合要求的答案。
穷举法的基本结构为For......Next 语句+if ....... then 条件判断的应用,该知识点在第二章《程序的基本结构》中已经学过,而且穷举法对后面的排序、查找和递归等算法的学习也具有示范和引领作用。
通过本节课的学习让学生理解穷举法的思想,掌握穷举法解决问题集的基本过程,以及常用的优化方法。
二、学情分析本节课的教学对象是高二年级的学生,他们已具有一定的分析能力、抽象思维能力和逻辑推理能力,并且此之前学习了用流程图描述算法、VB 的数据表示和处理、程序的三大结构以及解析法,能用VB 编写简单的程序。
今天学习穷举法其实学生在前面的循环语句学习中已经用到这种思想,只不过没有给学生提出穷举法这个概念,现在从算法这个角度把这个概念提出来,让学生理解穷举法的思想,掌握枚举算法的使用范围、解题步骤和程序框架、能用穷举法解决问题并能根据具体问题对穷举法进行优化。
因此本节课的教学目标是:第一,能用穷举法对问题进行分析及设计算法;第二,能根据分析补充程序的关键部分;第三,能合理的进行算法优化。
三、教学目标1、知识与技能:(1)了解穷举法的基本概念;(2)能归纳出穷举法解决问题的方法和步骤;(3)能根据具体条件优化穷举算法;2、过程与方法:(1)掌握穷举法求解问题的基本过程。
(2)在学习过程中,发现穷举法的规律,并把它运用实际问题的解决中去。
(3)针对解决问题的过程与结果进行有效的评价。
3、情感态度价值观:(1)关注穷举法在社会生活中的应用,激发学习的热情。
“用穷举法解决问题”学案学习目标一、明白得穷举法的思想方式二、学习分析成立正确的穷举步骤,归纳穷举法的穷举技术3、学习如何优化穷举算法4、学习利用穷举法分析解决现实生活、学习中碰到的问题第一时期:熟悉穷举法上面的图片描述了一个什么画面?你能说说那个进程的具体步骤吗?第二时期:在程序中探讨穷举步骤准备工作阶段:假设你此刻要做一个密码破译的工作,大体方式是通过穷举算法的思想设计程序完成。
通过线索寻觅,咱们取得了以下材料:看到这张图后,你会有哪些疑问?在着手破解之前,请提出你的疑问。
咱们已经明白密码是个5位数字,请具体列举此处可能的数字范围:百位数字范围:_____0~9___________________________________十位数字范围:_____0~9__________________________________变量设置:如以X 表示百位数字,Y 表示十位数字,N 表示完整的五位数密码, 那么依照上面的图片,N 的值 = ___25006+x*100+y*10________________穷举对象和穷举方式:别离对X 和Y 进行穷举,对取得的N 进行验证验证条件表达式:_____N mod 37=0 or N mod 67=0_________________你打算用哪一种程序结构来进行逐个数字的验证?( for-next )请在VB 中编写程序,打印出可能的解。
第三时期:穷举方案的评判上题还有更好的穷举方式吗?请换个思路,采纳单循环穷举解上题。
并从以下三个角度来加以评判。
一、程序易读性 二、程序运行速度 3、程序占用空间第四时期:充分利用已知条件优化程序变量设置为:X表示公鸡只数,Y表示母鸡只数,Z表示小鸡只数。
第五时期:穷举法在现实生活中的应用学习了上面的知识后,你能用穷举法的相关知识说明下面的生活中的现象嘛?。
用穷举法解决问题1.教学目标,知识与技能1了解穷举法的基本思想。
2掌握求余运算和整除运算。
3学会应用穷举法编写程序解决问题的方法。
过程与方法什么是穷举法,如何用多重循环来实现穷举法是本节课的教学核心。
穸举问题的穷举策略很重要,如何设计恰当的穷举变量,如何设定恰当的变量穷举范围,如何进行判断减少穷举的次数、提高穷举效率,这需要一个循序渐进的学习过程,其间也将进发出学生的各种创新思维。
教师可以多组织小组讨论活动,注意抓住学生思维中的闪光点展开教学。
情感态度与价值观通过本课的学习,感受应用算法解决问题的成功和喜悦,进一步激发学生学习程序设计的热情。
树立规则、规范意识。
2.教学重点1穷举法的基本思想。
2穷举法适用解决问题的特征。
3穷举法的程序实现。
3.教学难点如何设定恰当的变量穷举范围,减少进行穷举的次数,提高穷举效率。
教学中联系现实生活提出问题,从身边简单问题人手亲历分析问题、找到解决问题的方法、编写程序、解决问题的过程。
在这一过程中,让学生初步了解算法的思想,进而总结出哪一类的、具有什么特征的问题适合于用穷举法来解决。
初步了解算法、程序、程序设计语言之间的关系,认识算法和程序设计的地位和作用。
本课内容是对算法学习的引入,为高中阶段对算法的学习打下基础。
1.实战演练课本通过设置现实生活中查找密码这一情境,提出设计“找密码”程序的任务。
在教学引入时,建议教师多举一些生活中的实例,说明人们经常采用穷举法来解决生活中的问题。
但当穷举的范围足够大时,采用人工方式穷举就无法完成。
进而提出应用计算机代替人工来实现穷举解决问题的思路,从而展开本课的教学。
分析问题:是本课教学的重要环节。
通过分析着重让学生归纳出问题中数据的特征及变化规律,也就是归纳出密码可能出现的范围及变化规律。
这是解决该问题的关键。
然后还要明确如何对密码进行判断,其条件如何设置。
这时可以将“知识集装箱”中整除和取余的教学内容,结合如何判断整除问题在此处讲解。
3.2 用穷举法解决问题【教学目标】知识与技能①理解穷举法设计程序的基本思想。
②学会使用穷举法解决现实生活、学习中所遇到的问题。
过程与方法①通过大量的尝试性、探索性的活动,引导学生积极主动地完成学习任务。
②体验穷举策略在穷举法中的地位和作用,并选择适当的穷举方案解决实际问题。
情感态度及价值观①引导学生关注穷举法在社会生活中的应用,激发学生学习的热情。
②培养学生健康使用信息技术的习惯。
【教学重点】1.确定变量的取值范围。
2.正确表达“符合条件”的判断。
【教学难点】1.穷举法适合的范围。
2.评价穷举效率的高低。
【教学方法】创设情景法、任务驱动法、多媒体演示法、练习实践法【教学手段】结合多媒体网络教学环境,构建学生自主探究的教学平台。
教学过程:【导学】一、创设情境情境导入:平时我发现学生对腾讯软件十分感兴趣,因此我用腾讯软件的界面做了一个VB小程序:“猜猜密码”并且附有提示:“密码为1位数!”。
(学生测试,尝试得出密码。
)二、导学探究在学生猜对密码后,我又及时提出:“你知道你刚才运用的是什么算法吗?”最终提出穷举算法及其基本思想:穷举法:穷举法也叫枚举法、列举法,它是将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否满足给定的条件,穷举完所有对象,问题将最终得以解决。
基本思想: 把问题所有可能的解,逐一罗列出来并加以验证,若是问题的真正解,予以采纳,否则就舍弃,尝试下一个。
注意点:既不遗漏、也不重复关键点:⑴确定范围:列举该问题所有可能的解⑵验证条件:检验每个可能解是不是问题的真正解【点拨】以下面这个简单的问题做为课堂实例:例:某同学用自己的QQ号登录,可他记不清密码了,你能帮他找回密码吗?他的密码是一个5位数,67□□8,其中百位和十位上的数字他不记得了,但他还记得该数能够被78整除,也能被67整除。
你能帮他设计一个算法求出该密码吗?问题分析:穷举的对象:确定范围:__________________ _________________确定条件:__________________________ _______________________________ 程序代码:Dim a As IntegerDim b As IntegerFor a =For b =n =If And ThenText1.Text = aText2.Text = bEnd IfNext bNext a(教师演示,验证结果。
穷举法算法案例《用穷举法解决问题》教学设计教学分析 1.教学目标知识与技能:了解什么是穷举法及其特点,以及用穷举法设计算法的基本过程;能够根据具体问题的要求,使用穷举法设计算法。
过程和方法:运用观察、发现、归纳、应用的方法,发展学生的归纳思维;培养学生独立探究与自主发现的学习能力。
情感态度与价值观:了解算法和程序设计在计算机解决问题过程中的重要性;体验将算法转变为程序的过程,享受计算机解决问题的快乐。
2.教学重点和难点重点:用穷举算法解决问题的一般步骤;能根据具体问题的要求,提高运用穷举算法解决问题的能力。
难点:通过观察、类比多种方式培养学生归纳思维。
教学过程1.创设情境激趣引入教师活动:某同学用自己的QQ号登录,可他记不清密码了,你能帮他找回密码吗?他的密码是一个5位数,67□□8,其中百位和十位上的数字他不记得了,但他还记得该数能够被78整除,也能被67整除。
你能帮他设计一个算法求出该密码吗?希望大家能在学习完下面这个例子后就可以解决这个问题。
设计意图:成功的教学不是强制,而是激发学生的学习兴趣,该导入正是从学生感兴趣的事情着手的。
2.观察―发现―归纳―应用(1)观察。
教师活动:逐语句调试以下程序,分析程序的执行过程,让学生填写下表,指出此程序功能。
For i=100 to 999a=int(i /100)b=int(i /10) mod 10C=i mod 10If a^3+b^3+c^3=ithenPrintiEndifNext i(2)发现。
教师引导:在分析上一程序过程中,你能发现什么?学生发现:①通过分析程序的执行过程,可看出变量a存放的是一个三位的自然数百位上的数字,变量b存放的是其十位上的数字,变量c存放的是其个位上的数字;②一个三位的自然数,若满足百位的立方、十位的立方与个位的立方之和等于它本身,就输出;③此程序的功能是输出100~999之间的自然数。
教师总结:此程序的特点是将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否满足给定的条件。
《用穷举法解决问题》教学设计作者:杨梅来源:《新课程·教研版》2010年第20期摘要:目前,我国中小学信息技术课堂教学是在不同的探索中,笔者就“用穷举法解决问题”在课堂教学中的设计进行了探讨。
我在教学中采用了以学生的学习和发展为中心,基于建构主义理论的任务驱动、情境教学、游戏教学等教学方法,突出自主、合作、探究等学习方法;强调信息技术与生活实际的联系,培养学生的逻辑思维能力、解决问题的能力以及创新意识等;设置多元化的评价方式,让学生掌握学习内容的同时,形成交流与评价的能力。
关键词:情境教学穷举法多元化评价高中信息技术选修课《算法与程序设计》部分,对于我们学校的学生来说,是一个十分难学的部分,既要学生学习基本的程序结构,又需要在基本的程序结构的基础上运用算法解决实际问题,学生普遍感到很难学,对程序设计这门课提不起兴趣。
为了激发学生的学习热情,我尽可能地将现实生活的情景带入课堂教学中,而“穷举法”能解决实际生活中好多问题,学生通过与生活中的实际例子相结合,认识到算法在实际生活中的用途,加强了学生对《算法与程序设计》这门功课的兴趣。
一、学情分析学生在本节课前学习高中信息技术新课程的《算法与程序设计》模块已经有一段时间了,学生对算法和程序设计有了一定的认识,他们已经具备了一定的逻辑思维、分析问题、表达思想等能力,为本节内容的学习提供了良好的基础,但是在面对实际问题时如何设计算法并且用程序实现算法来解决问题上,尤其是对于无法用解析法解决或者是用解析法解决比较困难的问题如何设计算法还是没有什么思路。
“百钱买百鸡”问题的数学模型是解不定方程,学生在初中的数学课上学过。
本次课在原有知识的基础上,通过对实际问题的分析找到合适的数学模型,使学生基本理解和掌握穷举法解题的思路。
二、教材分析穷举法是算法中比较常见,日常运用很多的一种,在课本和江苏会考考试中都作为一个重要的部分出现。
经典问题有鸡兔同笼、百鸡百钱等。
用穷举法解决问题参考教案一、指导思想依据信息技术课程标准和新课程理念,本教案以提升学生的信息素养为目标,倡导学生自主学习、合作学习、探究学习。
根据学生特点,立足生活实际,注重从应知应会到知识应用,注重学习中的探究、实践与创造,在解决问题的过程中,让学生的主观能动性、协作能力、创造力得到充分的开展和提升,在学习过程中培养学生运用所学知识解决实际问题的思想和方法,为他们的终身学习打造平台。
二、教学分析1、教学目标知识与技能〔1〕理解穷举法的概念;〔2〕掌握用穷举法设计算法的根本过程;〔3〕能使用穷举法解决生活中实际问题。
过程和方法〔1〕经历分析—实践—探究—归纳四个环节,理解穷举法的思路,掌握用穷举法设计算法的过程,培养探究能力。
情感态度与价值观〔1〕分组学习,培养学生的协作精神和竞争意识;〔2〕运用穷举法解决实际问题,激发学生对算法设计的学习兴趣。
2、教学重点和难点重点:〔1〕理解穷举法的概念;〔2〕掌握用穷举法设计算法的根本过程;〔3〕能使用穷举法解决生活中实际问题。
难点:〔1〕掌握用穷举法分析问题并设计算法的根本过程;三、学情分析及教材处理?穷举法?是泰山版九年级信息技术教材第三章第二节的内容,本节是建立在学生已经学习了循环结构,掌握了调试程序的根本方法和解析法的根底之上,学好本节既是对循环结构的应用,又能为后续学习作强有力的铺垫。
程序设计要求学生的逻辑思维非常强,多数学生对程序设计望而生畏,理解比拟困难,恰当的教学处理显得尤为重要。
所以本节课主要从以下几方面着手:〔1〕把教学内容与生活相联系,让知识具有“亲和力〞,减少学生的畏惧感;〔2〕注重能力训练与问题解决相联系,激发学生攻克问题的兴趣;〔3〕教师引导学生,分析和分解复杂的问题,让学生逐步领悟并掌握用穷举法设计算法的思想和方法。
四、教学过程:〔一〕、任务驱动,层层深入教师活动:出示任务:输出100—2021间的能被3整除的数。
师生互动:旧题再现,推陈出新。
用穷举法解决问题一、教材分析:《用穷举法解决问题》是高中信息技术选修模块《算法与程序设计》第三章《程序的实现》第二节内容。
本章侧重于运用算法解决实际问题,设计合理的算法并编程实现。
本节主要阐述穷举法,该方法应用广泛,比较常见,存在于生活与学习之中。
经典问题有水仙花数、搬砖问题、鸡兔同笼、百鸡百钱等。
二、学生分析:学生在通过第1、2两章的对VB的基本知识系统加以学习。
学生可以利用上述的基础知识,结合前一阶段学习的VB程序设计的基本结构,进一步学习本节的相关知识内容。
三、教学目标1.知识目标:了解什么是穷举法,穷举法的特点,掌握利用穷举法解决问题的基本要求;学会编写程序实现穷举法。
2.过程与方法:经历用穷举法求解问题的基本过程,发现穷举的规律,并把它运用实际问题的解决中去,从而培养学生的分析问题、解决问题的能力。
3.情感态度与价值观:通过用穷举法解决实际问题,培养学生对程序设计的兴趣和热情。
四、教学重点与难点教学重点:能够利用穷举法解决实际问题。
教学难点:穷举的范围的确定,穷举效率的评价。
五、教学思路及教法:课本在介绍穷举法时用的例子是一个相对复杂的演讲比赛分组的问题。
我个人认为,这样的一个引入部分不适合我们的学生,一是学生不是很感兴趣,二是比较复杂。
所以在教学中选取了学生所熟悉的、又能反映穷举思想的例子:水仙花数问题的解决作为主题进行学习穷举法的思想。
本节课教学中我主要采取任务驱动法,并结合引导探究、讲授、小组讨论等多种教学方法。
从而培养了学生的分析问题、解决问题的能力及合作、参与意识。
六、教学过程:(一)游戏激趣导入下面请大家打开桌面上的1位数破解密码的程序:小组间通过竞争和协作使得每个学生都积极参与,问题解决请学生运行该程序,破解密码。
(每排为一组,看谁破解的快)小组讨论破解方法与技巧,请破解出密码的学生介绍经验:因为是一位数的密码,采取一个一个的去尝试。
让学生亲身体验,消除对密码破解程序神秘感。
“穷举法与问题解决” 教学设计对应课标:课程标准规定本节内容主要在于穷举法与问题解决。
包括两个方面:1、了解穷举法的基本概念及用穷举法设计算法的基本过程。
2、能够根据具体问题的要求,使用穷举法设计算法,编写程序求解问题。
一、教学目标:1.知识与技能⑴理解用穷举法设计程序的基本思路。
⑵学会使用穷举法解决现实生活、学习中所遇到的问题。
⑶了解穷举法具有一定的适用范围。
2.过程与方法⑴经历用穷举法求解问题的基本过程。
⑵在学习过程中,发现穷举法的规律,并把它运用实际问题的解决中去。
⑶针对解决问题的过程与结果进行有效的评价。
3.情感态度与价值观⑴通过学习穷举法,体会“信息技术是双刃剑”的含义,树立正确使用信息技术的道德观,并形成反思的意识。
⑵关注穷举法在社会生活中的应用,激发学习的热情。
⑶增强合作意识、创新思维与进取精神。
二、学情分析本节内容的教学对象是高一年级学生,他们已经具备了一定的逻辑思维、分析问题、表达思想等能力。
同时,通过前两个单元的学习与实践,学生已初步体验了用计算机解决问题的过程与步骤,学会了对计算机程序进行调试,掌握了程序的三种分支结构等基础知识,为本节内容的学习提供了良好的基础。
三、教材分析1、本节主要内容介绍穷举法是程序设计中使用最为普遍的一种基础算法。
它利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检查,从中找出符合要求的答案。
2、重点难点分析⑴用穷举法的基本规律(重)⑵利用穷举法解决实际问题。
(难)3、课时安排1课时。
四、教学理念本节内容的教学设计充分体现了《普通高中信息技术课程标准》中的基本理念,注重教学过程中三维目标的渗透。
采用了以学生的学习和发展为中心,基于建构主义理论的任务驱动、情境教学等教学方法,突出自主、合作、探究等学习方法;强调信息技术与生活实际的联系,培养学生的逻辑思维能力、解决问题的能力以及创新意识等;设置多元化的评价方式,让学生掌握学习内容的同时,形成交流与评价的能力。