“冒泡排序”教学设计.doc

上传人:文库蛋蛋多 文档编号:2396481 上传时间:2023-02-17 格式:DOC 页数:7 大小:84KB
返回 下载 相关 举报
“冒泡排序”教学设计.doc_第1页
第1页 / 共7页
“冒泡排序”教学设计.doc_第2页
第2页 / 共7页
“冒泡排序”教学设计.doc_第3页
第3页 / 共7页
“冒泡排序”教学设计.doc_第4页
第4页 / 共7页
“冒泡排序”教学设计.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《“冒泡排序”教学设计.doc》由会员分享,可在线阅读,更多相关《“冒泡排序”教学设计.doc(7页珍藏版)》请在三一办公上搜索。

1、冒泡排序教学设计 一、教学课题第三章第四节3.4.1冒泡法排序算法算法与程序设计(新课标教科书;教育科学出版社)二、教材与学者分析冒泡排序的重点在于讲清楚冒泡排序的原理以及如何用程序实现算法,这也是本节的难点。本节教材上是通过解决“明日之星英语演讲大赛”的选手成绩排序问题作为切入点,而我并没有按照教材的例子展开,我根据教材“对5个元素4,1,2,5,3的序列进行升序排序”为例,重点分析排序的过程(多少趟、每趟进行多少次比较),进而帮助学生找出其中的规律,由此,学生可以举一反三解决问题。虽然学生已经学习过程序设计的三种结构,也学习使用过VB里的数组及应用。但在学习冒泡排序算法的过程中学生会对数组

2、变量的变化在理解上存在一定困难,对双重循环内外层的作用及有关循环参数的设置可能会产生不解,需要通过实践的体验进行强化。三、教学目标知识目标:掌握冒泡排序的原理;理解冒泡排序的流程图;编写冒泡排序的主要代码;能力目标:学会使用冒泡排序思想设计解决简单排序问题的算法;进一步理解程序设计的基本方法,体会程序设计在现实中的作用;情感目标:培养学生分析问题、发现规律的能力,激发学生学习热情;培养良好的程序书写习惯;教学重点、难点重点:冒泡排序算法的基本思想,双重循环应用难点:理解冒泡排序中的趟、次等概念(即对变量使用的理解) 四、教学策略与手段以循序渐进、层层深入为教学的指导方针,采用讲解法、演示法、讨

3、论合作、分析归纳法引导学生参与思考,有效地突出重点突破难点,逐步深化对冒泡算法、循环思想和执行过程的理解。五、课时安排1课时六、媒体准备多媒体网络教室、投影机、多媒体教学平台、flash软件七、教学过程一、导入:创设情景师:教师播放Flash动画(大鱼吃小鱼)游戏,并进行游戏操作。生:迷惑不解,难道今天老师让我们玩游戏?师:观察水中的气泡往上冒的情景,气泡往上冒的时候有什么特点呢?生:鱼吐的水泡到了上面渐渐地变小了。师:冒泡排序和气泡在水中不断往上冒的情况有些类似。气泡大的(大的数据)在下面,气泡小的(小的数据)在上面。那么,这节课我就和大家一起来探讨一下冒泡排序是如何实现的。【设计意图】通过

4、游戏,活跃课堂气氛,一扫编程课堂死沉沉的尴尬局面,同时也能让学生在游戏展示的过程中发现水泡的规律。二、新授我们经常会碰到要排队的情况,比如排座位,做操、排大合唱队伍等。今天我想请五位同学上来表演一下排队。我报了五位学生的学号,让他们上来,并让他们按报到的次序站在黑板上对应的数组单元下。好,现在请你们按身高从矮到高排起来。不一会五位学生就排好了。师:他们是怎么排的?生:他们之间去比一下,矮的站前面,高的站后面。师:对,肯定要比一下才知道,如果前面个子比后面的高那他们俩就需要交换一下位置。那排队其实是一种排序:通过调整位置,把杂乱无章的数据变为有序的数据。那我们就一起来分析一下冒泡排序的原理。【设

5、计意图】教师在黑板上写上a数组的5个单元,a(0),a(1),a(2),a(3),a(4),请5位同学按上来的顺序站在对应的数组单元下,并将学生的身高写在对应的数组单元里,便于后面进行排序使用。师:我们知道个子最高的站在最后面,那怎样找出最高的呢?生:两两比较,一趟下来就能找出最高的了。(注:在讲数组时学生已实践过从数组中找出最大数和最小数)师:很好,第一趟能找出一个最高的,第二趟能找出第二高的,第三趟找出第三高的,第四趟找出第四高的,第五趟找出第五高的。生:大笑!师:装傻!大家为什么而笑啊?生:第五趟不用找了,第四趟结束,剩下的就是最矮的了。师:哦,对了,也就是5个数需要经过四趟查找后可以完

6、成排序。那第一趟需要经过几次比较才能找出最大的数呢?第二趟又需要经过几次比较才能找出第二大的数呢?【设计意图】老师带着学生在轻松活跃氛围中进行课堂教学活动,便于学生接受知识。师:播放flash动画课件,学生思考。生:第一趟比较4次,第二趟比较3次,第三趟比较2次,第四趟比较1次。师:很好,那我们从趟数和次数上看,能不能找出什么规律呢?生:思考片刻。每一趟的趟数加上该趟的比较次数正好是参加排序数值的个数。师生共同分析并展示课件:第一趟冒泡排序共需要进行4次比较,j从0开始到3:第二趟冒泡排序共需要进行3次比较,j从0开始到2: 第三趟冒泡排序共需要进行2次比较,j从0开始到1: 第四趟冒泡排序共

7、需要进行1次比较,j从0开始到0:【设计意图】通过动画课件展示排序过程,帮助学生理解排序原理。如果用伪代码可表示为:第1次冒泡排序时需要比较4次, j 从 0 开始到3:Forj=0 to 3ifa(j)a(j+1) then交换a(j) 和a(j+1)的值第2次冒泡排序时需要比较3次, j 从0 开始到2:Forj= 0 to 2ifa(j)a(j+1) then交换a(j) 和a(j+1)的值第3次冒泡排序时需要比较2次, j 从 0 开始到1:Forj= 0 to 1ifa(j)a(j+1) then交换a(j) 和a(j+1)的值第4次冒泡排序时需要比较1次, j 从 0 开始到0:F

8、orj= 0 to 0ifa(j)a(j+1) then交换a(j) 和a(j+1)的值师:如果我们用一个变i(值分别为0,1,2,3)来表示第1趟、第2趟、第3趟、第4趟的话,那我们能不能将上述四段代码合并成一段通用的代码呢?教师展示下图:趟次I的值j值变化j的值100 1 2 3 3210 1 22320 114300生:能(学生讲伪代码)Forj= 0 to 3-i ifa(j)a(j+1) then交换a(j) 和a(j+1)的值其中,I的值为0,1,2,3分别表示第1趟,第2趟,第3趟,第4趟。师:对,那我们怎样把两者结合起来,在趟次变化时,比较次数也随之发表变化呢?生:思考师:提示

9、:通过循环语句输出几何图形的处理方法。生:可以在刚才的循环外再加一层循环,使i也参与变化,以达到对次数的控制。师:很好。展示程序:For I=0 to 3Forj=0 to 3-i ifa(j)a(j+1) then t=a(j)a(j)=a(j+1)a(j+1)=tend ifnext jnext I生:小组实践。师:巡视指导。师:现在我们是由前向后比较,那如果由后向前比较该怎么办呢?请大家在小组内讨论,找到解决方案的小组举手。生:老师,只要把控制次数的循环语句改一下就行了,改成 for j=4 to i+1 step -1。师:很好,那我们来试试,看看能不能实现排序功能呢?生:调试。学生举

10、手,老师,有错误提示,应该再把判断交换的语句改一下,改成if a(j)a(j-1) thenT=a(j)A(j)=a(j-1)A(j-1)=tEnd if师:很好,这组同学能根据错误提示“下标越界”发现,当前数组中的值应该与它前面的数进行比较。我们给这组的同学来点掌声。请同学们修改程序实现排序功能。并完成课本P58实践。【设计意图】学生通过操作,自己发现问题所在,进而找到解决问题的方法,加深学生对冒泡排序的理解。师生同学总结:冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放

11、前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。只要我们遵循一个原则:每一趟的趟数加上该趟的比较次数正好是参加排序数值的个数,那么,这类冒泡排序问题都可以迎刃而

12、解。八、作业设置由于有些人使用数组习惯从a(1)开始,如果把数值放在数组a(1),a(2),a(5)中,那排序的代码是怎样的呢?请大家课后思考!九、板书设计For i=0 to _ For j=0 to _ If a(j)a(j+1) then 交换 End ifNext jNext i十、教学反思本节采用对冒泡排序的基本方法进行分析,借助学生排队展示及flash课件,通过伪代码逐步引出双循环和冒泡排序的程序实现,这就要求学生的循环语句基础要好些。另外,由于冒泡排序这部分内容相对比较枯燥,讲授时间相对较多,因此,我及时调节课堂气氛,并让学生进行小组讨论,组与组之间进行比赛,提高学生的参与度,防止学生课内思维疲劳。【参考资料】普通高中技术课程标准(实验)人民教育出版社算法与程序设计教育科学出版社

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号