1、时 间主备人张华娟审核人蒋宏君使用人课 题冒泡排序课 型复习课编 号学习目标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
2、 If _then _ End If Next j Next i 第二趟If _ then _第三趟第四趟课堂训练1、某超市水果区共有5种水果品种,其价格依次为9.20、4.00、8.50、1.80、2.50,若采用冒泡排序算法对其进行从小到大排序,则第二趟的排序结果是原始数据9.204.008.501.802.50第一趟1.809.204.008.502.50第二趟第三趟1.802.504.009.208.50第四趟1.802.504.008.509.202、找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解,这种方法叫做( )A、递推法 B、枚举法 C、冒
3、泡法 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、95、冒泡排序的基本思想是把待排序的n个元素的数组看成是垂直堆放的一列数据,从最下面的一个元素起,自下而上地比较相邻的两个元素中的数据,将较小的数据换到上面的一个元素中。然后再在余下的元素中重复上述过程。有一组数为5、6、4、1、9。用冒泡排序法将这组数从大到小排序,第
4、二次交换数据后的顺序是( )A、9、6、5、4、1 B、9、5、6、4、1 C、9、6、4、5、1 D、9、5、4、6、13、在游戏中经常有开数字密码锁的场景,已知一个6位的密码锁,正确的数字顺序组合是由下面一组数字426815经过两次冒泡排序得到,请问开锁的正确数字组合可能是( )A、842651 B、826415 C、864251 D、1246857、陈晓峰和同学们去农科院开展研究性学习,大家都收获很大,晓峰设计了一个Visual Basic程序,他把同学们收集到的水稻亩产量和同学姓名已分别保存在数组a和数组b中,第i个同学收集的亩产量保存在a(i)中,对应的同学姓名保存在b(i)中,最后
5、按亩产量从高到低进行排序。程序界面如图所示,左边列表框List1中显示的是所有同学收集到的原始数据,单击排序按钮(Command1)后,在右边的列表框List2中显示排序完成后的结果(按亩产量从高到低排列)。解决此问题的算法流程图如图所示,相应的排序部分程序如下:Dim a(1 To n) As SingleDim b(1 To n) As StringPrivate 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
6、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 iEnd SubPrivate Sub Form_Load() 此过程用于对数组a和数组b进行初始赋值,代码略End Sub(1) 解决此问题的算法是_。(选填:选择排序 或 冒泡排序)在程序和划线处填入适当的语句或表达式,将程序补充完整:(2)程序中划线处应填入_。 (3)程序中划线处应填入_