冒泡算法及实现 学习任务单

文档属性

名称 冒泡算法及实现 学习任务单
格式 zip
文件大小 628.9KB
资源类型 教案
版本资源 沪教版
科目 信息技术(信息科技)
更新时间 2017-12-29 14:35:47

图片预览

文档简介

冒泡排序算法的程序实现任务单
冒泡排序原理(升序):从最后面的一个数据起,从后往前比较相邻的两个数据,如果后面的数小于前面的数就交换,否则不交换。
表 1
原始顺序
d(1)
d(2)
d(3)
d(4)
有无交换
比较次数
交换次数
180
150
170
160
第1遍(趟)加工(排序)
180
150
160
170

3
2
180
150
160
170

150
180
160
170

第2遍加工
150
180
160
170

2
1
150
160
180
170

第3遍加工
150
160
170
180

1
1
最终顺序
150
160
170
180
总共6次
总共4次
打开“3.4.2 素材文件/01算法程序实现”文件夹中“冒泡排序.vbp”文件。
任务一:前大后小,则交换
实现如下功能——如果d(4)小于d(3),则交换元素中的数据。
调试运行,点击“冒泡排序”按钮后结果如图1所示。
图 1
思考(无需填空):如果d(4)元素中下标4用变量j表示为d(j),则d(___)就能表示d(3)?修改刚书写的代码,将d(4)、d(3)替换为d(j)、d(___)。
任务二:变量j控制下标变化
打开“02冒泡排序加工过程.xlsx”,填写第1遍加工中数组元素下标的变化。
思考(无需填空):如何利用变量j控制数组d下标从___变到____,实现元素两两比较,并冒出最小数到最前。
调试运行,点击“冒泡排序”按钮后结果如图2所示。
图 2
任务三:变量i控制加工遍数
打开“02冒泡排序加工过程.xlsx”,完成表格剩余部分填空。
思考(无需填空):①利用变量i控制加工遍数,即重复执行“任务二程序段”____遍。
②观察excel表格,每一遍加工中j的初值都为___,而j的终值在第1遍中为__,第2遍中为__,第3遍中为__。j终值和加工遍数i的关系?
编写代码,实现图3所示结果。
图 3
思考(无需填空):如果对包含n个元素的数组d进行从后往前冒泡排序(升序),如何修改程序?
任务四:统计比较和交换的次数
利用计数器,将比较次数a和交换次数b的值进行统计。
编写代码,实现图4所示结果。

图 4
拓展练习
学校即将举行“十佳歌手”比赛,秉着公平公开原则,晓明利用VB设计完成以下功能的打分软件:输入6个评委所给的分值(可能为非整数),然后去掉一个最高分,去掉一个最低分,对剩下的分数取其平均值便是该选手的最终得分。
打开“02校园歌手比赛排序(程序段)”文件中的“校园歌手比赛.vbp”,完成代码设计,若输入依次输入88.5、99.5、92、95、94、93,结果如图5所示。
图 5