资源描述
时 间
主备人
张华娟
审核人
蒋宏君
使用人
课 题
冒泡排序
课 型
复习课
编 号
学习目标
1. 理解冒泡排序原理
2. 熟练对若干个数的冒泡排序
重难点
程序的理解和掌握
高 三 年级 信息技术 学科导学案
梳理探究
一.、观看冒泡排序的舞蹈
二、通过动画理解冒泡排序的原理
三、练习
1. 某校有6位学生参加学生会主席竞选,得票数依次为130,20,98,15,67,3。若采用冒泡排序算法对其进行排序,共要几趟(与我们的数据多少有关吗?)每趟的结果怎么样?
2. 针对7,3,4,8,1这五个数的程序,进行冒泡排序
第一趟
If a(5) <a(4) then ___________________
总程序:
For i=_____ to _____
For j=_____ to ____ step ____
If __________then
____________
_____________
____________
End If
Next j
Next i
第二趟
If ______________ then _______________
第三趟
第四趟
课堂训练
1、某超市水果区共有5种水果品种,其价格依次为9.20、4.00、8.50、1.80、2.50,若采用冒泡排序算法对其进行从小到大排序,则第二趟的排序结果是
原始数据
9.20
4.00
8.50
1.80
2.50
第一趟
1.80
9.20
4.00
8.50
2.50
第二趟
第三趟
1.80
2.50
4.00
9.20
8.50
第四趟
1.80
2.50
4.00
8.50
9.20
2、找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解,这种方法叫做( )
A、递推法 B、枚举法 C、冒泡法 D、解析法
3、枚举算法的适用范围是( )
A、一切问题 B、解的个数极多的问题
C、解的个数有限且可一一列举 D、解的个数无限的问题
4、用冒泡法对数据7、6、3、9、2从小到大排序,若第1趟结果是2、7、6、3、9,则第3趟结果是( )
A、2、3、6、7、9 B、3、6、2、7、9 C、3、2、6、7、9 D、2、3、7、6、9
5、冒泡排序的基本思想是把待排序的n个元素的数组看成是垂直堆放的一列数据,从最下面的一个元素起,自下而上地比较相邻的两个元素中的数据,将较小的数据换到上面的一个元素中。然后再在余下的元素中重复上述过程。有一组数为5、6、4、1、9。用冒泡排序法将这组数从大到小排序,第二次交换数据后的顺序是( )
A、9、6、5、4、1 B、9、5、6、4、1 C、9、6、4、5、1 D、9、5、4、6、1
3、在游戏中经常有开数字密码锁的场景,已知一个6位的密码锁,正确的数字顺序组合是由下面一组数字426815经过两次冒泡排序得到,请问开锁的正确数字组合可能是( )
A、842651 B、826415 C、864251 D、124685
7、陈晓峰和同学们去农科院开展研究性学习,大家都收获很大,晓峰设计了一个Visual Basic程序,他把同学们收集到的水稻亩产量和同学姓名已分别保存在数组a和数组b中,第i个同学收集的亩产量保存在a(i)中,对应的同学姓名保存在b(i)中,最后按亩产量从高到低进行排序。
程序界面如图所示,左边列表框List1中显示的是所有同学收集到的原始数据,单击"排序"按钮(Command1)后,在右边的列表框List2中显示排序完成后的结果(按亩产量从高到低排列)。
解决此问题的算法流程图如图所示,相应的排序部分程序如下:
Dim a(1 To n) As Single
Dim b(1 To n) As String
Private Sub Command1_Click()
Dim i As Integer, j As Integer, c As Single, t As String
For i = 1 To n - 1 ' 设共有n名同学
For j = n To i + 1 ①
If ② Then
c = a(j - 1)
a(j - 1) = a(j)
a(j) = c
t = b(j - 1)
b(j - 1) = b(j)
b(j) = t
End If
Next j
Next i
For i = 1 To n
List2.AddItem Str(a(i)) + " " + b(i)
Next i
End Sub
Private Sub Form_Load()
' 此过程用于对数组a和数组b进行初始赋值,代码略
End Sub
(1) 解决此问题的算法是________________。
(选填:选择排序 或 冒泡排序)
在程序①和②划线处填入适当的语句或表达式,将程序补充完整:
(2)程序中①划线处应填入___________________。
(3)程序中②划线处应填入___________________
展开阅读全文