《选择排序算法》教学设计.doc

上传人:吴起龙 文档编号:1591285 上传时间:2018-12-26 格式:DOC 页数:10 大小:19.25KB
返回 下载 相关 举报
《选择排序算法》教学设计.doc_第1页
第1页 / 共10页
《选择排序算法》教学设计.doc_第2页
第2页 / 共10页
《选择排序算法》教学设计.doc_第3页
第3页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《选择排序算法》教学设计.doc》由会员分享,可在线阅读,更多相关《《选择排序算法》教学设计.doc(10页珍藏版)》请在三一文库上搜索。

1、选择排序算法教学设计 县里举办高中信息技术研讨课。让我在一个基础最薄弱的学校上一堂选择排序算法课。也就是说,给最差的学生讲解最难的知识。这无疑是一个很大的挑战。 分析该校学生的情况,他们在学习之前已经知道了表示算法的三种方式,学过了流程图,会辨认每个图框及其表示意思,可能难以理解什么条件下两个数据要交换以及如何找到最小数,会搞混流程图中多个控制变量所代表的作用。教师如果直接拿出整个排序的复杂算法分析,会吓倒学生,学生注意力难以长时间集中。于是,我把选择排序算法进行肢解,分解为一个个小知识点,再各个突破,这样,由浅入深、由小到大,前后呼应,上课节奏波浪起伏,直到解决完整算法,完成“让学生掌握选择

2、排序算法的具体过程,会画出选择排序流程图,体验算法与生活的紧密联系,感受解决算法的成功感”的教学目标。 一、教学重点、难点与突破策略 教学重点、难点:选择排序的算法及其表示。 策略:讲授法为主,适当让学生讨论与体验。 二、课前准备 素材:“世界七大洲最高峰”Excel表格、选择排序的Visual Basic演示程序。 教学环境:多媒体教室或者机房。 三、教学过程 1.导入 教师由Excel排序功能导入排序。 师:我们都已经学过了电子表格Excel,感受到了Excel给我们的日常生活、学习与工作带来的便利。其中的“排序”功能,能把一组数据按照一定的顺序排列好。我这里有一个“世界七大洲最高峰”的表

3、格。想要让山峰数据从高到低排列好。怎么做呢? 请学生上来操作。 爱思考、会动脑筋的学生会提出疑问,电脑到底是怎么样把数据按照顺序排列好的?我们能否不用Excel,自己编写一个程序实现排序功能呢? 设计意图:复习Excel的重点内容“排序操作”,并导入排序。在Excel中用鼠标点来点去,对高中生来说已是“小儿科”,他们自然提出自己写一个程序实现排序的想法。只要学生有胆量提出这个想法,也就成功了一半。 2.新知讲解 师:今天给大家介绍一种排序方法选择排序。大家认真观察选择排序到底是怎么排列数据的,其排序的过程是怎样的。 教师出示四个数三次排序的图示,并根据图示讲解选择排序的过程。 师:按“1081

4、209675”顺序排列的这四个数最终要排成“7596108120”这样一个从小到大的序列。第一次,从四个数中找到最小数75,与108交换位置。第二次,从剩下的三个数中找到最小数96,与120交换位置。第三次,从剩下的两个数中找到最小数108,与120交换位置。 得出选择排序的方法(略)。 师:请用选择排序方法,从大到小排列四个数。 3.计算机选择排序的循序渐进 学生排过序后,教师演示电脑帮忙排序对着电脑,拍拍显示器(就像拍人肩膀)说:“电脑,你帮我把这四个数按从大到小的顺序排列起来。”有学生在偷笑,“老师,电脑听得懂吗?” 师:对,上个学期我们就已经学习过了,让计算机帮我们做事情,要用计算机语

5、言与它交流,讲自然语言,它听不懂,自然不会理睬你。 师生回顾表示算法的三种方法:自然语言流程图程序语言。 师:自然语言转换成流程图是系统分析师做的事情,流程图转换成程序语言是程序员做的事情。两类人的身价是不一样的,前者的年薪是后者的35倍。今天,我们要做的是把自然语言转化为流程图,做系统分析师的事情。也就是画出“选择排序”的流程图,价值很高,相信大家能很好地完成。 设计意图:用幽默诙谐的语言吸引学生注意力;由人才市场实际薪酬报价提升本堂课内容的价值,引起学生的兴趣,无缝引导学生画出选择排序的流程图。 学生得出“开始选择排序结束”的流程图。 师:这个流程图没错,可是实际问题还没有解决,到底选择排

6、序是怎样进行的呢? 请一位学生起立,对照上面实例,引导学生问答进行排序要有两步:第一步,找最小数;第二步,交换位置。 师:你的观察很仔细,对解决我们今天的问题具有启示意义。选择排序其实就是围绕这两步展开的。 从而得到“开始选择排序找最小数互换结束”的线性流程图。 师:请对比数据108、120、96、75,“找最小数”和“交换位置”要重复几次? 生:3次。 师:如果总共5个数,重复几次? 师生得出结论,循环次数比数据个数少一次,因为最后一次的最后一个数不用比较。重复做同一件事情,在教师的引导下,学生想到了循环,得出流程图一并逐步推演程序的执行过程。 选择排序流程图一 难点一步一步在突破,流程图也

7、完整多了。 师:数据交换是不是每次都要进行? 师生通过分析两个真实的数据排列的实例,引导学生得出结论:如果ik,交换位置;否则,不交换位置。(i表示第几次循环,k表示最小数的位置。) 师:刚才我们无意中一起讲到了一个经典的选择结构。其实,每个人天生就是程序员,每天讲着算法语言过日子,只是缺乏一种发现的眼光罢了。早上来学校的路上,听到一位老奶奶说:“早上下雨的话,撑伞去菜场买菜;不下雨,空着手去买菜。”我听了很高兴,这也是一句经典的选择结构,我画出买菜和数据交换的流程图与大家分享(图略)。 设计意图:用贴近生活的算法语言作类比,减少算法的距离感。学到这里,学生思维已经有些疲劳了,用诙谐幽默的语言

8、放松学生紧绷的神经。 将数据交换条件的流程图纳入到整个流程图一中,得出流程图二。 选择排序流程图二 师:你看,我们一步一步分析下来,流程图从简单到复杂,是不是很有成就感?我们离成功还有一步之遥,还差哪一步呢? 生:怎样在一组数中找到最小数据? 教师请学生起来,回答按“1081209675”排列的四个数中哪个数最小。学生很快回答出来。 师:这么快就找到了!老师可是花了老半天时间才找到最小数第一眼看到了108,第二眼看到120,眨了一下眼睛看到了96,最后才发现了75,再加上大脑的一一比较判断,发现最小数是75。像你反应这么快,IQ肯定很高。我能学会算法,你更能学得会了。大家请看老师的大脑分析过程

9、: 注:k表示最小数位置,d(k)表示最小数 总结:找到一个数,如果比d(k)还要小,那么这个数字就是最小的,把它的标记给k。这样一次一次不断做下去。 设计意图:使用幽默风趣的语言,让学生在不知不觉中同教师一起发现了解决问题的算法。 根据以上分析,在教师的指引下,分以下三步从简单到复杂画出找最小数的流程图: (1)如果有比d(k)还要小的数,则把这个数的标记给k。画出流程图。 (2)一个一个比较下去,要比较几次?4次循环。在上图基础上加上循环部分。 (3)刚开始假设第一个最小,k=1,从第二个开始与它比较,j=2。J表示下一个数。在上图基础上加上初始值,最终得出找最小数流程图: 找最小数流程图

10、 根据流程图分析,用数据“1081209675”的队列验证找最小数流程图是正确的。 师:选择排序的最后一个难关被我们攻破了。现在我们把找最小数流程图纳入到整个流程图中,就成了选择排序完整的流程图(如流程图三)。 选择排序流程图三 4.验证流程图 师生综合分析整个选择排序的流程图,找到哪一块是“找最小数”的程序块,哪一块是“交换”的程序块,再接着用将“312”排列成“123”的实例共同验证流程图正误。 师:我们成功了。看来,流程图没有问题,能进行正确的选择排序。 设计意图:让学生积极参与到算法活动中,体会算法正误,体验理解正确的喜悦。 5.书本勘误 师:细心的同学可能会发现,我们教科书的第37页

11、上的图与我们的图有出入。 (1)应将图2、3、6中的d (j) 改为d(i); (2)应将图2、3、7中的k=1改为k=i; 师:有兴趣的同学可以写信给作者,和他探讨一下,说不定作者还会给咱们回信。 6.程序演示 师:有了流程图,我们就可以把它翻译成程序语言。老师已经根据我们一起画的流程图写了选择排序的程序代码,大家一起来欣赏。 程序运行,输入一组数,按次序排列好。 四、问题研讨 算法与程序设计选修模块,内容抽象乏味,教师教得辛苦,学生学得也辛苦,特别是算法一章更是晦涩难懂,课堂上大部分学生跟不上教师节奏,听得糊里糊涂,似懂非懂,效果很差。怎样上好算法与程序设计?上完本课,我认为以下方法具有启

12、示作用: 1分而治之,各个击破。其实再难的问题,再复杂的难点,都可以分解为一个个浅显易懂的小知识点。选择排序是很难、很复杂的算法,我在这里特意将它分割成“每次做什么”、“重复几次”、“怎么交换”、“怎么找最小数”四个相对容易的分知识点,然后引导学生分别突破四个分知识点,最终解决整个选择排序算法。教师自己首先要把每个知识点的来龙去脉、前因后果烂熟于胸,才能顺利分割知识点,才能引领学生将难点各个攻破。 2由浅入深,步步为营。如果教师在上课一开始时就抛出选择排序的完整算法,可能有一大部分学生会懵掉,跟不上教师的思路。换种方式,抓住一条主线,从简单问题入手,以学生现有的知识为基础,逐步加深,无缝过渡,

13、直到掌握最终的知识为止。这样设计结构清晰,学生容易接受,并且前后呼应,符合逻辑。 3幽默诙谐,生动活泼。一般而言,算法内容抽象、晦涩,很难与生活实际联系,与学生距离远。但算法本来就是源于生活,如果教师能够细心观察,多多思考,完全可以使算法的课堂变得充满人情味,生活气息十足,如本课中人与计算机对话,老奶奶讲算法语言等等。在教学过程中以贴近生活的语言拉近学生和算法之间的距离,用诙谐风趣的话语拉近学生和教师之间的距离,不断给予学生鼓励、夸奖,建立学好算法的信心,培养学生对算法与程序设计的兴趣,这才是第一位的。 4节奏合理,时起时伏。算法课总是少不了大量的逻辑推理和因果判断。如果整堂课都充斥着紧张推算,学生思维疲劳,学习效果很差。教师可以采取一些变化,每一步之间,尽量松紧结合,既讲了复杂的内容,又有轻松的内容调节学生紧绷的神经,学生的学习效果自然更好。 以上几点综合应用,可以很好地化解难点,改变学生对算法课的恐惧心理,提高教师上课效率,改善算法与程序设计的课堂。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1