毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 教学论文 >> 正文

冒泡排序算法及程序实现教学案例 第2页

更新时间:2011-11-18:  来源:毕业论文
七、教学过程毕业论文http://www.youerw.com/
(一)简单、直观的导入
课堂伊始,教师用Excel展示一张“世界主要国家人口统计”的数据表。
师:请大家找出 “人口最多”的三个国家和“最少”的三个国家
生:最多的国家是“中国”、 “印度”……老师,排序一下吧!
教师用工具栏中的升、降序按钮,很快就得到了结果。
师:Excel中看似简单的升、降序两个按钮,其实背后隐藏了复杂的处理代码,这些代码都是由软件开发者预先编好了,我们会使用就行。今天我们提高一个档次,做一个程序开发者,用VB工具编写一个有类似功能的“排序”程序,我们一起来尝试一下,如何?教师演示事先用VB做好的排序应用程序文件(界面如图1)。
 
图1
师:实现排序的算法有很多,这节课我们就来学习其中的一种算法——冒泡排序。
用课件显示冒泡排序法的算法原理,并用一个Flash动画动态演示7、3、4、8、1这5个数的冒泡排序过程。
设计意图:从Excel的排序引出用VB软件来设计排序,并用“升、降序”按钮将两者巧妙地关联起来,简单、直观、自然。
(二)简单、有趣的冒泡
师:我们今天就以7、3、4、8、1这5个数为例,用VB工具实现冒泡排序。
1.界面设计
师:为了降低难度,我们做一个简单、精炼的界面:只要一个列表框,两个按钮即可(界面如图2)。
 
图2
教师强调列表框的使用,学生很快完成了界面的设计。
2.输入数据
师:我们把5个待排序的数据直接赋值给数组d:
Dim  d(1 to 100)  as  integer   
d(1)=7 : d(2)=3 : d(3)=4 : d(4)=8 : d(5)=1
教师强调分隔符“:”的使用,教师走动指导,学生很快完成了这两句代码的编写。
3.输出数据
师:现在我们来运行一下,待排序的5个数有没有显示出来。
生:(运行后)还没有输出语句呢。
师:很棒。我们现在就来编写输出语句,注意在列表框和文本框中“输出语句”的区别:
For i = 1 To  5
    List1.AddItem str(d(i))
 Next i
在教师的引导下学生完成5个数据输出代码的编写,并调试程序,运行后得到结果:7,3,4,8,1原序列,这时学生的兴趣开始显现。
4.冒泡程序
师:入口、出口都准备就绪,下面我们着重分析中间的冒泡排序过程。
教师再次用Flash动画演示7、3、4、8、1这5个数的冒泡过程(如图3)。
   
            第一轮                           第二轮毕业论文http://www.youerw.com/
   
            第三轮                           第四轮
图3
师:我们现在的任务就是把刚才的算法过程能用VB语句表达出来,也就是把过程代码化。首先我们来分解第一轮冒泡过程。如果用一个指针式的变量j先指向5,即j=5,这时候d(5)是和谁比较的?
生:d(4)
师:换一种通用的说法是d(j)跟?
生:d(j-1)
师:换好之后,应该往前走,j应该变为4,然后谁跟谁比较?
生:d(4)跟d(3)
师:更通用的说法是?
生:d(j)跟d(j-1)
……
师:(总结)也就是说,一直在做d(j)跟d(j-1)的比较,如果d(j)比d(j-1)小,则交换。请大家思考尝试把以上过程转换为程序,请一个同学来描述一下。
生1: if d(j)<d(j-1) then …(但是不知道如何交换)
师:没关系,先用“交换”或“exchange”代替。

上一页  [1] [2] [3] 下一页

冒泡排序算法及程序实现教学案例 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。