![4.5排序同步练习人教版信息技术选修1第1页](http://www.enxinlong.com/img-preview/3/14/13989522/0/0.jpg?x-oss-process=image/resize,w_794,m_lfit,g_center/sharpen,100)
![4.5排序同步练习人教版信息技术选修1第2页](http://www.enxinlong.com/img-preview/3/14/13989522/0/1.jpg?x-oss-process=image/resize,w_794,m_lfit,g_center/sharpen,100)
![4.5排序同步练习人教版信息技术选修1第3页](http://www.enxinlong.com/img-preview/3/14/13989522/0/2.jpg?x-oss-process=image/resize,w_794,m_lfit,g_center/sharpen,100)
4.5排序同步练习人教版信息技术选修1
展开
这是一份高中信息技术中图版 (2019)必修2 信息系统与社会本册综合课时练习,共11页。试卷主要包含了选择题,填空题,操作题等内容,欢迎下载使用。
一、选择题
1.有如下 VB 程序段:
cunt = 0: n = 7: i = 1 D While i a(i + 1) Then
cunt = cunt + 1
t = a(i): a(i) = a(i + 1): a(i + 1) = t
End If
If i = n Then
i = 0: n = n - 1
i = i + 1
Lp
Text1.Text = Str(cunt)
数组元素 a(1)~a(8)的值依次是“15,2,1,17,19,14,25,26”,执行该程序段后,文本框 Text1 中显示的是( )
A.4B.5C.6D.7
2.利用冒泡排序给数组[15,78,88,23,69,71,20,53]升序排序,第三遍冒泡加工之后的数据结果是( )
A.[15,20,23,78,88,69,71,53]B.[15,20,23,53,78,88,69,71]
C.[15,78,23,69,71,20,53,88]D.[15,23,69,71,20,53,78,88]
3.有如下VB程序段:
Fr i=1 T n-1 Step 2
Fr j=1T((n+1)\2)*2-i-2 Step 2
If a(j)>a(j+2)Then
t=a(j):a(j)=a(j+2):a(j+2)=t
End If
Next j
Fr j= ①
If a(j)>a(j-2)Then
t=a(j):a(j)=a(j-2):a(j-2)=t
End If
Next j
Next i
执行该程序段后,实现了对数组元素a(1)~a(n)中的奇数位置从小到大排序,偶数位置从大到小排序。则代码中①处的语句可为( )
A.(n\2)*2 T i+1 Step-2B.(n\2)*2 T i+3 Step-2
C.i+1 T(n\2)*2 Step2D.i+1 T (n\2)*2-2 Step2
4.采用选择排序算法对数据序列“10,7,12,5,6,3”进行排序,第一轮排序后的结果为“12,7,10,5,6,3”,则整个序列完成排序的比较次数和交换次数分别是( )
A.15,6B.11,5C.15,3D.11,4
5.一个序列经过一趟冒泡排序后的结果是:10,21,13,24,28,则原始序列不可能是( )
A.21,13,24,28,10B.21,10,24,28,13C.21,10,24,13,28D.21,24,13,28,10
6.某数据序列为“18,7,15,33,42,29,63,81”,采用选择排序算法将数据从小到大排序,那么排序过程中需要交换元素的次数是( )
A.6B.5C.4D.3
7.某排序算法的 VB 程序段如下:
n = 8: f = 1: c = 0
Fr i = 1 T n \ 2 - 1
Fr j = 1 T n - 2 * i
If f * a(j) < f * a(j + 2) Then
t = a(j): a(j) = a(j + 2): a(j + 2) = t
c = c + 1
End If
f = -f
Next j
Next i
数组元素 a(1)到 a(8)的初始值依次为:“16,31,42,38,35,29,27,15”,执行该程序段后,变量 C的值为( )
A.6B.7C.8D.9
8.现有三个整数序列:“1,2,3,4,5”“7,1,6,8,3”“9,8,7,6,5”。用选择排序算法分别对三个序列进行升序排序,比较次数依次为x、y、z,则下列关系正确的是( )
A.x=y=zB.x>y>zC.y>z>xD.z>y>x
9.采用选择排序算法对数据序列“12,23,24,15,11,10”完成升序排序,则需要交换的次数为( )
A.3 次B.4 次C.5次D.6 次
10.假定一组记录为(46,79,56,64,38,40,84,43),在冒泡排序的过程中,进行第一趟排序结束时,元素40不可能在哪个元素之后( )
A.38B.46C.56D.64
二、填空题
11.n个数据的冒泡排序需要经过n-1遍加工,每一遍加工自下而上比较相信两个数据,把较小者交换到上面。小刘发现:当某一遍加工过程中没有数据交换,说明数据已经有序,无需进一步加工。为此,小刘对算法进行优化,编写了一个VB程序,功能如下:运行程序时,在列表框List1中显示排序前数据,单击“排序”按钮Cmmaiid1,在列表框List2 中显示这些数据按升序排序后的结果,在标签Label3中显示排序过程的加工遍数。运行效果如下图所示,
实现上述功能的VB代码如下:
Dim a(1 T 8) As Integer
Dim n As Integer
Private Sub Frm_Lad()
'n=8,排序前数据存储在数组a中,并在列表框Listl中显示
'代码略
End Sub
Private Sub Cmmand1_Click()
Dim flag As Blean
i = 1
flag = True
D While '改错
flag = False
Fr j = n T i + 1 Step -1
If a(j) < a(j - 1) Then
k = a(j): a(j) = a(j - 1): a(j - 1) = k
flag = True
End If
Next j
i = i + 1
Lp
Label3.Captin = "排序过程的加工遍数为" + '填空
Fr i = 1 T n
List2.AddItem Str(a(i))
Next i
End Sub
(1)代码“Private Sub Cmmand1_Click()”中的Click是___________。(单选,填字母:A.对象名/B.属性名/C.事件名)
(2)程序代码中,D While语句加框处有错,请改正。__________________
(3)程序代码中,将Label3.Captin赋值语句补充完整。_________________
(4)程序代码中,flag值为___________表示某一遍加工中发生过交换。
12.某书城五种畅销图书的市场价格(单位:元)存放在数组d中,如下表所示。现对这些数据进行升序排列,若采用冒泡排序算法自下而上进行比较和交换,那么在第一遍加工后,d[2]的值是______ 。
13.下列VB程序的功能是:程序运行时,单击命令按钮Cmmandl后,产生10个[1,999]范围内互不相同的随机整数,依次显示在列表框List1中,然后将它们按从小到大的顺序排序,排序结果显示在列表框List2中。数组a用于存储产生的10个随机整数,函数f(x)用于判断随机整数x与已生成的整数是否有重复,若有重复则返回True,否则返回False。
(1)虚线框内程序段所采用的排序算法名称是 。(填:冒泡排序/选择排序)
(2)在程序(1)和(2)划线处,填入适当的语句或表达式,把程序补充完整。
Dim a(1 T 10) As Integer
Functin f(x As Integer) As Blean ′代码略
End Functin
Private Sub Cmmandl_Click()
Dim n As Integer ′n用于统计已经产生的随机整数个数
Dim i As Integer.j As Integer
Dim x As Integer.k As Integer
Randmize ′初始化Rnd函数
n=0
List1.Clear ′清除列表框中内容
List2.Clear
D While n
相关试卷
这是一份信息技术中图版 (2019)本册综合复习练习题,共7页。试卷主要包含了选择题,操作题等内容,欢迎下载使用。
这是一份高中信息技术中图版 (2019)必修2 信息系统与社会本册综合随堂练习题,共11页。试卷主要包含了选择题,填空题,操作题等内容,欢迎下载使用。
这是一份高中中图版 (2019)本册综合复习练习题,共11页。试卷主要包含了选择题,填空题,操作题等内容,欢迎下载使用。
![文档详情页底部广告位](http://www.enxinlong.com/img/images/257d7bc79dd514896def3dc0b2e3f598.jpg)