高中信息技术《冒泡排序算法》优质课教学设计、教案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

高一冒泡排序教学设计基本路线:数组-排序-冒泡排序【冒泡排序原理--流程图-算法优化】-小结一、教材分析:本节内容选自浙江教育出版社《算法与程序设计》第五章第三节。本节课主要讲解冒泡排序思想。排序算法是使用频率最高的算法之一,而冒泡排序是其中一种很典型而且相对简单的方法。它的学习同时为后面的选择排序做了铺垫。教学目标知识目标:掌握冒泡排序的原理;掌握冒泡排序的流程图;能力目标:学会使用冒泡排序思想设计解决简单排序问题的算法;进一步理解程序设计的基本方法,体会程序设计在现实中的作用;进一步学习流程框图的使用。情感目标:增强分析问题、发现规律的能力,激发学习热情;学情分析通过前面的学习,学生已经了解vb算法设计的基本知识,学会利用自然语言和流程图描述解决问题的算法,对排序中循环语句以有了一定的基础。但数组变量的使用方法尚未接触,程序设计思想比较弱,在实际生活中往往忽视运用排序算法来处理实际问题,这就要求学生通过本节课的学习,学会运用冒泡排序算法来处理实际问题,并为以后学习其它排序算法打下基础。二、重点难点重点:理解冒泡排序原理及它的流程图难点:理解冒泡排序中的遍、次等概念(即对变量使用的理解)以及用流程图描述冒泡排序的过程三、教学策略与手段采用讲解法、演示法、分析归纳法引导学生参与思考,用逐步求精的方式降低学生的理解难度,化抽象为具体,由特殊到一般,有效地突出重点、突破难点。四、课前准备1.教师的教学准备:冒泡排序的课件、学案、素材2.教学环境的设计与布置:多媒体网络教室、电子白板、多媒体教学平台等五、教学过程课前学习【设计意图】学Th能自己学会的不讲。排序数组知识点相对简单,由学生自学完成,之前的知识点学生可能会有所遗忘,通过这个方式让学生回顾。冒泡排序算法原理比较容易也由学生自学完成。已给出的素材,完成学案关于数组、冒泡排序和循环结构的基本模式的相关部分的内容,。请同学们学习学习网站上的课前学习,并完成学案的相关部分的内容。上课!对答案。1、之前在巡视过程中拍到的学案内容传到电子白板。师:同学们,我们刚才完成了学案上的一部内容。来看一下同学们的成果。我们给他掌声鼓励2、排序的定义,请学生复述。师:如果从已排序的2万个人中,查找一个人,用二分法查找,可以在15步以内完成;如果把地球上的人排序后,查找一个人,用二分法查找我们可以在35步以内完成。看起来排序是很重要的算法啊。我们今天来研究排序算法中很经典、最简单的一种——冒泡排序。这节课,我们以非递减的排序为例。2分钟4、师:现在我们齐声复述冒泡排序算法的思想一、导入:观看视频请大家看一段视频:视频:《我是歌手》第三季第12期中名次揭晓片段。教师:洪导所提到的算法确实如李健所说,是冒泡排序吗?哪位同学站起来分析一下。掌声。李健,毕业于清华大学电子工程系,他所分析的这个不够准确,让人有点遗憾。可是,他在毕业二十年后,听到排序后仍能脱口而出“冒泡法”,让我们也不由得感慨清华的教育。正如爱因斯坦所说:当你把学校给你的东西都忘记以后剩下的就是教育,而我们恰恰是运用剩下的东西去思考,去战胜困难,去创造我们的幸福。知识忘记了,能力沉淀下来。二、新课:冒泡排序的思想:冒泡排序算法是把待排序的n个元素的数组看成是垂直堆放的一列数据,从最下面的一个元素起,自下而上地比较相邻的两个元素中的数据,将较小的数据换到上面、较大的数据放在下的。重复这一过程,直到处理完最后两个元素中的数据,称为一遍加工。1、现在请同学们来演绎一下的冒泡排序。请同学们完成学案上的男星年龄的非递减排序。可以参考冒泡排序上的视频或者文字材料。初始第1遍第2遍第3遍第4遍第5遍433041433941413930413232学生:在纸上完成相关的表格。古巨基李健萧煌奇郑淳元李荣浩胡彦斌434139413032师拍摄相关学生的表格,并传至电子白板展示正确结果及学生的完成情况。4、小结:当一遍加工完成时,最小的数据已经上升到第一个元素的位置。由于每一遍加工都是将本遍最小的元素像气泡一样上浮至本遍的顶端位置,故称为冒泡排序。课程进行到这里,同学们可能会有疑惑,这个冒泡排序笨且繁琐,明明一眼可以看出结果来,那如果我们要给几万个学生的考试成绩排序呢?张艺谋导演策划大型演出的现场要进行排序呢,图片PPT,或者同学们也会考虑用EXCEL点一下排序就可以完成,那个排序按钮正是由这样的一类法编成计算机程序来实现的。这就像父母给我们的爱,我们的司空见惯,背后都是父母的良苦用心;哪有什么岁月静好,不过是有人替我们负重前行。导学案上给出思考题:如果给10个数据排序需要遍冒泡非递减排序,假定,我们把这10个数存储在数组a(1)-a(10)中,第一遍是对哪几个数组元素进行排序?第二遍呢?第三遍?……最后一遍呢?第一遍是a(1)-a(10),第二遍是a(2)-a(10),第三遍是a(3)-a(10)……第九遍是a(9)-a(10)。也就是说,我们要对10个数据进行冒泡非递减排序,可以用规模为10的数组来存储数据,需进行9遍的冒泡排序。9遍是同样的工作,我可以用哪种算法结构来实现?循环结构。可以用一个几遍的循环结构?9遍。我们设循环变量为i,那么从循环变量的初值开始,i=1,循环变量的终值是i=9,下面必然有一个i的自变语句i=i+1,返回线,当循环次数超过9遍后退出循环,这就是一个9次循环的框架。I每取到一个值就是进行一遍从底部开始的冒泡非递减排序,在每一遍的冒泡排序中,最核心的部分是相邻两个元素的比较,从底部起任意两相邻的元素都要比较,我们可以设一个通用表达式a(j-1)、a(j)之间的比较,所以放在流程图中应该是比较他们的大小。如果,a(j-1)a(j)就需要交换,否则,不需要交换,那么就应该是一个分支结构,a(j-1)a(j)?如果大于就互相交换,否则不做任何处理。这里实现一次的两两比较。在每一遍的冒泡排序中这样的比较要进行很多次,比如a(9)、a(10)之间……等等很多次,所以这样的分支结构要加循环结构来实现,多次的两两比较我们用红色来标识,把这个分支结构套在另外一个循环结构中,让她能够实现多次两两比较,(画出)同样,她也有初值、终值和步长的自变。红色的循环结构就是为了使里面的两两比较能多次执行。所以红色所包括循环结构实现的是每一遍的排序,这样的排序要进行9遍,所以又套了一个9遍的循环结构。这样一个9遍的冒泡排序的框架就出来了。这是一个两重循环。下面,请同学们在《学习任务单》上完成整个流程图。展示学生的成果(希沃)展示学生的成果,研究一下内循环的循环变量,看他是怎样变化的。内循环是随j的取值变化而循环,所以我们研究一下j的初值、终值及步长变化。从三遍的列举我们可以发现,j的整个的变化规律是什么呢?初值每一遍都是从10开始,而他的终值是什么变化规律呢?2,3,4,好像是没有什么规律,但是我们把他和i的进行比较,i为1时,j的终值是2,i为2时,j的终值是3,i为3时,j的终值为4,所以我们知道j的终值和i有关,也就是j的终值是i+1,他的步长永远都是-1,递减。……由此我们可以在流程图上进行完善,j的初值是10,终值是ji+1,步长为j=j-1。至此我们完的冒泡非递减排序的流程图就完成了。请同学们完成流程图。然后,两两讨论完成思考一、思考二的内容。展示学生成果。赞美的掌声送给这位同学。本节课我们学习了哪些内容?总结:本节课我们学习了数组及数组的使用。掌握了冒泡排序算法的思想,会使用冒泡法进行排序。会使用流程图描述冒泡排序算法。反思:在准备课的过程中,我意识到两个问题,这十几年的不进步取,我终归要为此付出代价;二我所选课的难度太高,一度我都想放弃,学生的知识储备不足,我为自己挖了个大坑,建议如果再有出课的老师,尽可能选择对学生必修模块的内容,这样相对来说,准备课的难度只放在备课本身上,会好很多。准备这节课的过程,对我来讲是个自我疗愈的过程,是重新认识自己的过程。特别感谢黄岛区所有信息技术老师无私帮助,让我更真切的感受到这个团队的强大。这当中,要特别感谢刘衍丽老师的耐心指导,一中张兴臣老师、周文娟老师、王旭光老师的用心帮助,黄岛五中团队的无私付出。这节课还有来自一中语文老师的指导。

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功