新课标高中信息技术《算法与程序设计思想》精品教案
【基本信息】
作者 单位 课时 1课时 【课标要求】
(一)利用计算机解决问题的基本过程
(1)结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。
(2)经历用自然语言、流程图或伪代码等方法描述算法的过程。
(4)了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发环境等基本知识。
【学情分析】
高一年级的学生已具备了一定的观察、思考、分析和解决问题能力,也已有了顺序结构、分支结构、循环结构等知识的储备。因此,对于如何将解决问题的思路画成流程图已有一定的基础,但可能还不很熟练,尤其对刚学过的循环结构,教师在课堂上要注意引导。
『此处说“已有了顺序结构、分支结构、循环结构等知识的储备”,应该是指在必修部分对“计算机解决实际问题的基本过程”已有所体验与了解,或是指已学习过数学中相关模块的知识,这是本案例教学得以实施的必不可少的前提条件。』
【教学目标】
1.知识与技能:
建立求一批数据中最大值的算法设计思想,并将算法的设计思想用流程图表示出来。 2.过程与方法:
利用现实生活中比较身高的活动,以及对武术比赛中“打擂台”流程的逐步梳理,让学生学会从此类生活实际中提炼出求最大值的思想方法,即算法思想。
培养学生分析问题、解决问题的能力,让学生学会在面对问题时能梳理出解决问题的清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。
『在过程上,通过现实生活中的实例来引导学生总结“求最大值”的算法思想。过程的实现关键在于实例引用是否贴切,是否有利于学生向抽象结论的构建。本案例的实例选择是符合这一要求的。在方法上,注重培养学生分析、解决问题的一般能力,再次体验与理解应用计算机解决问题的基本过程,为后面更一步的学习打下基础,积累信心。』
3.情感态度与价值观:
1
让学生全身心地投入到教学活动中,积极与同伴合作交流,进行探索活动。培养学生良好的思维品质,发展他们的创新思维,并养成积极的学习态度和良好的学习习惯。
创设情境,以激发学生的学习兴趣。努力营造一个可以接纳的、支持性的、宽容的课堂学习环境,让学生置身于民主和愉悦的课堂氛围中放飞思维、潜心研究、快乐创造。
『本案例对“情感、态度与价值观”目标的设计,更多的是试图建立一个活跃、民主、快乐的学习环境。良好的学习环境是学生乐学好学、教师提高课堂效率的重要条件。如果真能实现这样一个环境,营造出理想状态中的学习氛围,无疑会使学生在学到“知识与技能”的同时收获到更多的东西——合作、分享、成就。而且如果能够结合教学内容来描述目标,则会使目标显得更具体,更有针对性。』
【重点难点】
教学重点:建立求一批数据中最大值的算法设计思想,并将此算法设计思想用流程图表示出来。
教学难点:上述重点问题同样是本课教学的难点。另外,如何把人解决问题的思路、步骤用计算机语言描述出来也是本课的难点之一。
『建议,此处可添加关于教学重、难点的确立依据,以及解决教学难点的关键方法方面的描述。同一段知识内容的教学重、难点对于同类教师基本上是一致的,不同的是对教学重、难点的认识与处理方法。应该说,对教学重、难点认识的越深刻就越有可能找到更好的处理方法。』
【教学思路】
利用现实生活中比较一组学生身高这一事件,引导学生去发现求最大值的一种方法。 如何设计求一批数据中最大值的算法?我认为让学生自己去经历整个探究过程,要比直接把现成的算法告诉学生有意义得多。它能迅速、有效地帮助学生建立程序设计思想。在完成这个任务的过程中,教师的循循善诱起到了非常关键的作用。找出一批数据中的最大者,从表面上来看是一个很简单的问题。在比较数的过程中,人因为动用了眼睛,比较大小的思维过程一闪而过,所以能很快求出一批数据中的最大值。而计算机与人不同,它对这些数据看不见、摸不着,怎么来完成这一任务呢?其实,计算机解决问题的关键,就是要把人解决问题的思维过程用计算机语言描述出来,即为大脑思维的每一步“拍照”。这是计算机程序设计教学的一个重点,也是一个难点,需要教师在教学过程中逐步引导和训练学生,使学生逐渐学会分析问题,寻求解决问题的方法和步骤。本案例运用生活中“打擂台”的实例引导学生分析求最大值的方法,通过对这一现象的分析,逐步引出求最大值的算法设计思想。
『作者在此处点出了解决教学难点的方法,即采用“逐步引导和训练”的方法。其意图就是希望学生经历整个过程,从而锻炼、提升探究能力,领悟、理解其中的思想,实现授人以渔的目的。』
【教学过程】
1.情境创设___________如何建立支架的?
师(提问): 今天在第一排就座的有10 多位同学,谁是我们第一排在座各位中的最高
2
者呢?
师(引导): 大家思考,通常这个任务我们是怎样去完成的? 教师根据学生对问题的回答进行分析。引导学生往古时候比武时常常采用的“打擂台”的方式上想,提示学生可参考电视上经常播放的“挑战主持人”节目。
师生: 打擂的过程可以描述为:
(1) 确定一个擂主(讨论第一个擂主是如何确定的); (2) 挑战者上台;
(3) 擂主和挑战者比较;
(4) 挑战者胜的话,挑战者做擂主,否则擂主卫冕; (5) 重复执行(2)~(4) 步骤,直到最后一个挑战者。
师: 在打擂的过程中,我们看到(2)~(4) 步骤是要重复做的,所以我们该怎么办呢?
生: 需要循环结构来实现。
师: 这几个步骤序列重复到什么时候结束呢?由学生讨论结束的办法,很显然,需要在最后加上一个能判断什么时候结束的判断框。
根据讨论的步骤,最后师生共同得出打擂台的算法和流程图(如图1 )。
3
『作者的引导可以总结为:比身高(学生的回答可能多种多样,也可能偏离预设方向)——比武、“打擂台”(将学生发散出去的思考往预设方向上牵引)——“挑战主持人”节目(进一步将学生的思考引到其头脑中已有的认识上,前提是学生要看过该节目)——用自然语言的方式整理出比赛的规则(即算法的自然语言描述)——得到表示算法的流程图。应该说,这样的引导方式完全可以达到作者的预设目标。』 2.求一般情况下的最大值的算法 师(引导): 如果我们面对的是一堆数据,现在希望我们求出这一堆数据中的最大值该怎么办?通过教师和学生的共同分析,把问题进一步细化为:
(1) 从第一个数据开始看起;
(2) 把第一个数据的值在变量中记下来; (3) 再取一个数据;
(4) 比较这个数据与变量中记下的数据的值;
(5) 如果这个数据的值比记下的数据的值大,则去掉变量中原来那个数据,记下新数据的值;
(6) 重复执行(2)~(4), 继续比较,直到最后一个数据。 也就是说,计算机的变量始终记着当前比较过数据中的最大者(我们不妨用X 表示它), 当取完最后一个数据时,X 中留下的也就是最大值了。
求最大值的算法设计思想用下图表示。
4
『教学在上一环节的基础上再做进一步的深入,即扩大数据的比较范围,讨论一般的情况。由于学生已经经历了上一环节的思考过程,因此,再次思考一般性问题的解决方案就变得容易多了,这又是另一维度的“逐步引导和训练”,即具体到一般的过渡。这是作者对教学策略设计的准确实现。』 注意:
a.再次让学生讨论变量的意义,弄清赋值语句的意义。
b.一些物理量用变量表达的意义。如X 表示最大值,X 表示输入的一个值,且每次循环时都用同一个变量X 。
c.为了控制循环结束,必须加入一个控制循环次数的计数器I, 当I 达到一定的次数后,循环工作结束。
『除了对教学目标宏观上的关注与设计之外,也注意到了教学内容细节上的把握。作者
5