APP下载

趣味教学法在冒泡排序算法中的教学设计

2018-07-31李冬梅

科教导刊·电子版 2018年15期
关键词:多媒体手段口诀教学方法

李冬梅

摘 要 在程序设计语言中,排序算法是要求学生重点掌握的知识点。传统的教学手段往往效果欠佳。本文以冒泡排序为例,结合口诀教学,综合运用了情景导入,动画演示等多媒体手段,采用启发引导、分组讨论等方式很好讲授了冒泡排序的原理及代码实现。实践证明通过这种教学手段可以有效提高教学质量。

关键词 冒泡排序 口诀 多媒体手段 教学方法

中图分类号:TP311 文献标识码:A

0引言

排序是计算机中使用频率很高又相对重要的算法,在实际生活中,很多应用都会用到排序,因此人们研究了很多排序算法。冒泡排序因为原理简单而被用于讲解排序方法的首选算法。但冒泡排序过程繁琐,如果依旧沿用传统的以教师讲授为主的教学手段,很难激发学生的学习热情,学生在听了枯燥无味的讲解后,也很难写出对应的C程序。因此,为了取得更好的教学效果,在讲授排序算法的过程中,可以把丰富多样的教学手段引入课程。本文以冒泡排序的讲授过程为例探讨更适合学生的教学手段。

1教学过程设计

1.1从玩转扑克牌引入新知识

上课前,按照班级人数,每5个同学分为一组,给每位同学随机发放一张扑克牌,要求每一组同学把自己手里的扑克牌按照从小到大的顺序进行排列。让学生以组为单位展开讨论,在几分钟的讨论结束之后,随机挑选几组对结果进行评判。通过这种方式,不仅活跃了上课气氛,调动了学生学习的热情,又能引起大家对接下来要介绍的排序算法的重视。

1.2动态演示冒泡排序

为了加深学生对冒泡排序的理解,本文以5个卡通人物为例,通过flash动画演示对这5个卡通人物按照个子高低进行排序来讲解冒泡排序。如图1所示。通过动作按钮的控制,学生可以直观看到5个卡通人物的排序共需进行4趟。每趟排序过程中的特点及每趟结束后的效果都可由学生进行总结,引导学生对冒泡排序原理的归纳。

1.3通过PPT动画分解排序步骤

给出5个随机数据{91,76,89,21,6},要求把这5个数据进行有序排列(如从小到大)。用PPT动画分解每趟排序过程。

(1)第一趟排序:从前到后进行遍历,首先比较91和76,因为91大于76,随机将这2个数据的位置进行交换。接下来比较91和89,因为逆序(从大到小),继续交换两者的位置。以此类推。在进行4次比较之后,数据91移动到了最后一个位置。

(2)第二趟排序:对剩下的4个数{76,89,21,6}进行排序,按照相同的方法,第二趟排序结束将数值89移动到倒数第二个位置。

(3)第三趟排序:对剩余的3个数{76,21,6}进行排序,在2次比较之后,将数值76移动到倒数第三个位置。

(4)第四趟排序:对剩余的2个数{21,6}进行1次比较,将数值21移动到倒数第四个位置。

动画演示完毕,引导学生总结排序过程的规律:(1)n个数据的排序需要进行n-1趟;(2)每趟需要比较n-i次(i代表趟,从1开始)。

1.4口诀教学引出程序核心代码

依据冒泡排序的原理分析,对n个数据按照正序进行排序的口诀可归纳如下:排序进行n-1趟,从前往后,两两比较,顺序不对互换位置。

在讲解时,指导学生写出对应的C代码。

for(i=1;i

for(j=0;j

if(a[j]>a[j+1]) /*两两比较*/

{temp=a[j]; a[j]=a[j+1];a[j+1]=temp;} /*顺序不对交换位置*/

以往的教学中,虽然学生理解了冒泡排序的原理,但依旧很难写出对应的C算法且容易出错。这4句口诀高度归纳了冒泡排序的原理,简单易懂,学生可以快速把每句口诀转换为对应的C代码。

1.5算法改进

以上代码可以实现对n个数据的排列,但执行效率并不高。教师在上课过程中可引导学生提出改进意见。通过细心观察可以发现,对n个数据的排序不一定进行n-1趟。因为在实际排序过程中,如果某趟结束后,数据已经处于有序的状态,后续的各趟就没有必要进行下去。所以可以在算法中设置一个flag标记,如果在排序过程中相邻数据进行了交换,就修改flag的值,否则flag保持不变。最后可根据flag值变化与否来判断是否要进入下一趟循环。

引导学生写出改进后的C代码。

for(i=1;i

{ flag=0;

for(j=0;j

if(a[j]>a[j+1]) /*兩两比较*/

{temp=a[j]; a[j]=a[j+1];a[j+1]=temp; flag=1;} /*顺序不对交换位置*/

if(flag==0) break;

}

改进后的冒泡排序执行效率明显提高,在数据序列基本有序的情况下,执行的趟数明显减少,大大提高了执行速度。

2结束语

本文以冒泡排序为例,综合运用情景教学,flash动画演示,并结合冒泡排序的口诀教学等多种教学手段,生动形象地向学生讲授了冒泡排序的原理及代码实现。很好的体现了以学生为本,提高学生综合素质的教育理念。

参考文献

[1] 谭浩强.C语言程序设计(第三版)[M].北京:清华大学出版社,2005:8.

[2] 赵转莉,郭红山.C语言中冒泡排序教学方法刍议[J].办公自动化(综合版), 2007(05).

[3] 杨朝霞.谈计算机课程教学中诗化口诀的应用[J].甘肃科技,2005,21(04).

[4] 周李涵,高鹭.双向思维的教学方法在冒泡排序及其改进算法中的教学设计[J].科技信息,2009(24).

猜你喜欢

多媒体手段口诀教学方法
口诀与加法
口诀中的规律
教学方法与知识类型的适宜
怎样熟记口诀
巧用口诀求积商
高中政治教学中对多媒体手段的有效应用
多媒体手段在高中政治教学中的运用
我的教学方法