计算机冒泡排序教学,绵竹职中计算机给冒泡排序教案.doc

《绵竹职中计算机给冒泡排序教案.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《绵竹职中计算机给冒泡排序教案.doc》文档请在天天文库搜索。

1、《冒泡法排序》教案绵竹职业中专学校刘祯红一、教材分析:冒泡法排序是处理数据的一个行之有效的常用方法,是教材的重点学习内容。教材通过实例,介绍了最为直观的冒泡排序法,展示了冒泡排序的过程,通过问题的解决达到明确算法的思路,并将思路整理之后能够熟练地转化为程序代码,这当然是教学目的之所在。二、学情分析:1、应有知识:数组概念及运用;循环嵌套使用;取数组中的最小值;交换两个变量的值;2、课前准备:请学生找出现实生活中对数据进行排序后使用的例子;如考试成绩排名或者运动会成绩排名,模拟排序过程;三、教学目标:1. 知识与技能:1)理解数组的概念,学会用简单的数组处理、表示数据.2)掌握冒泡法排序的原理.3)掌握冒泡法排序程序的实现和优化.4)学会用冒泡法对数据进行排序.2. 过程与方法:经历分析、实践、讲解、探究、归纳,通过循序渐进、层层深入,逐步深化对循环思想和执行过程的理解。3.情感、态度与价。

2、值观:1) 积极引导,循循善诱,并一环扣一环,层层分析,同时发挥学生主体作用,步步深入,找出算法规律,使冒泡法排序这个较为复杂抽象的算法变得浅显易懂2) 通过在实际的问题中分析冒泡法排序结构,从程序设计领域进一步提升学生的信息素养。四、教学重点、难点: 1) 教学重点:冒泡排序原理及程序实现。2) 教学难点:① 冒泡排序的程序实现;② 算法及程序的优化。五、教学方法:演示法、讲授法、讨论法、练习法。六、课时:1课时七、教学过程:(一)复习回顾(3分钟)1、一维数组定义及赋值 2、三个数的排序(从小到大)(二)创设情景、导入(6分钟)老师:请五,六个学生比高矮。 学生:比的方法 老师:也对,这也是一种排序方式,叫冒泡排序,是我们今天要讲的重点,其实排序的方式还有很多,如插入排序,合并排序,冒泡排序,选择排序,希尔排序,堆排序,快速排序,计数排序,基数排序等。那么今天我们就冒泡排序做一个深入的。

3、了解。冒泡排序原理:也叫“起泡法排序”,是一种比较简单、易懂的交换排序的方法,它通过将相邻元素进行比较和交换,逐步将一个无序序列排列为一个有序序列。老师:刚才一位同学的描述其实还需要补充一下,是什么?学生:数组元素之间比较的同时还需要有条件的交换值。老师:那么同学们考虑一下:假如有10个运动员成绩,请问要比较多少次呢?学生:9+8+7+6+5+4+3+2+1次。老师:很好,为了便于理解,我们可以这样理解,总共比较了9趟,第一趟比较了9次,第二趟比较了8次,以后依次递减接下来我们看一个flash动画(冒泡排序.swf),五个数相比较,从小到大排列。我们一起看flash动画分析五个数: 7、3、4、8、1 归纳: 循环趟数 比较结果 比较次数第一趟 找出最小数: 1—>A(5) 4 依第二趟 找出第二小数:3—>A(4) 3 次第三趟 找出第三小数:4—>A(3) 2 递第四。

4、趟 找出第四小数:7—>A(2) 1 减 最大数: 8—>A(1) 归纳小结:N个数相比较,总共要比较N-1趟,第一趟要比较N-1次,以后依次递减(三)师生互动、层层深入(15分钟)师:思考:怎么用visual Basic语言表述第一趟的比较生 :If a(1)< a(2) then t=a(2):a(2)=a(1):a(1)=t If a(2)< a(3) then t=a(3):a(3)=a(2):a(2)=tIf a(3)< a(4) then t=a(4):a(4)=a(3):a(3)=tIf a(4)< a(5) then t=a(5):a(5)=a(4):a(4)=t师:很好,那同学们考虑一下有没有更好的表述方式呢?提示:dim a(1 to 5) as integerdim I,j as integera(1)= 7:a(2)=3:a(3)。

5、=4:a(4)=8:a(5)=1 For j= 1 to step 1 if a(j)

6、(通过flash动画(程序表示冒泡排序.swf)演示冒泡法排序的运行过程,每循环一趟,显示一个结果。)(四)学生活动(15分钟)完善程序要求:一组五个数从小到大排列,输出每一趟比较完后的结果以及每趟比较得到的最小值,第一、二、三、四趟逐行输出。由学生完成程序的编写,再分析学生的程序,并完善其程序。最后演示并运行程序。程序:Dim a(1 To 5) As IntegerDim i, j, t, k As Integera(1)= 7:a(2)=3:a(3)=4:a(4)=8:a(5)=1For i = 1 To 4输出结果:1 7 3 4 8 11 3 7 4 8 31 3 4 7 8 41 3 4 7 8 7For j = 1 To 5-i Step1If a(j) A(1) 4 依第二趟 找出第二小数:3—>A(2) 3 次第三趟 找出第三小数:4—>A(3) 2 递第四趟。

7、 找出第四小数:7—>A(4) 1 减 最大数: 8—>A(5) Visual Basic语言表述: FOR i=1 TO N-1 FOR j= N TO i+1 step -1替换 IF a(j)>a(j-1) THEN T=a(j):A(j)=a(j-1):a(j-1)=T NEXT jNEXT i三、归纳小结:N个数相比较,总共要比较N-1趟,第一趟要比较N-1次,以后依次递减算法优化的二个要素:运行时间短,占用空间少。四、作业:1、自己独立编写完整的冒泡法排序程序,并调试,运行。2、请同学们预习用递归法解决问题。教学反思:教学意图设计的合理性:对于算法,对学生来说是计算机语言中相对难的内容,由于算法的逻辑性较强,也有部分学生非常爱好,因为弄懂算法非常有挑战性和趣味性。教学目标的实现:从本节课的教学效果来看,首先达到的教学目的,学生掌握了冒泡排序算法,从教学中的各个。

8、环节和学生的反应来看,由课件比较直观的演示冒泡的过程,学生很容易理解,甚至直接由学生排高矮来演示也非常直观。算法就是解决问题的方法,我们平时在生活中不知不觉在运用,所以直观的演示,让学生很快就有一定的理解。所以这节课的重点还放在学生如何用计算机语言去实现算法的应用也是一个关键,由于高中学生对语言的应用层次相对较低,所以在语言实现的环节学生感觉在学习过程中稍显力不从小,有些无从下手的感觉,其实很多人都有这种感觉,解决问题的大致方向有,要实现具体的细节都要下很大的功夫,所以在这节课,在算法的实现的教学过程中,教师发挥了主导作用,通过身边的实例启发学生,积极引导,循序渐进、层层深入、由易到难、由具体到抽象、点面结合;同时发挥出了学生主体作用,步步深入,找出算法规律,老师在引导程序下尝试编写程序段,然后再由学生独立编写。最后读程序,进一步理解冒泡的过程,使冒泡法排序这个较为复杂抽象的算法变得浅显易懂。教学手段的选择的效果从教学的手段的实现的效果上来看,该堂使作实物演示比课件更让学生理解,学生参于性更强,因为他是活的,而且学生乐在其中,课堂气氛非常活跃。教学环节存在的问题:教学各个环节表现的不足之处,理论实例应换为与学生生活有关的数据进行,这样学生参于的积极性会更高。还有就是程序实现环节教师把学生估计有些高。总的来说这节课的教学效果好,是一堂成功的课。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值