学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
有n册图书已按图书编号升序排列(编号互不重复,用7位长度的字符串表示)。经过多次借阅归还之后,部分图书顺序被打乱,现要找出这部分图书进行调整,以使整体升序。算法思想:先找到首尾两个图书编号升序区间,再处理得到待调整区间,最后对该区间中的图书编号排序。
编写VB程序,实现上述功能。运行程序,在列表框List1中显示全部图书编号。单击“整理”按钮Command1,在标签Label1中显示待调整区间图书的册数,在文本框Text1中显示待调整区间图书的起止编号,并在列表框List2中显示排序后的图书编号。程序运行界面如图所示,其中①和②两处分别指向待调整区间图书的起始和截止编号。

(1)如图所示,若采用选择排序算法,仅将待调整区间图书进行升序排序,排序过程结束后,数组元素之间的比较次数为______( 填数字)。
(2)实现上述功能的部分VB程序如下,请在划线处填入合适的代码。
'n是常量,代码略
Dim a(0 To n) As String
Private Sub Form_ Load()

a(0)='' ''

'将n册图书的编号存入数组元素a(1)-a(n),在List1中显示,代码略


End Sub
Private Sub Command1_ Click()

Dim i As Integer, k As Integer, left As Integer, right As Integer

Dim min As String, max As String

min= "": max= "": left= I: right= ()

For i=1To n- 1

If a(i)> a(i+1) Then

max=a(i)

left= i: Exit For

End If

Next i

For i= n To 2 Step-l

If______Then

min = a(i)

right=i: Exit For

End If

Next i

i=left

Do While i<= right

If a(i)> max Then

max=a(i)

ElseIf a(i)< min Then

min= a(i)

End If

i=i+1

Loop

k=0

If left < right Then

left=getPos(l, left, min)

________

k= right-left+ 1

Text1.Text= "待调整区间图书起始编号:" + a(left)+"-->截止编号:"+


a(right)

End If

Labell. Caption = "待调整区间图书共有:"+ Str(k)+“册”

'对待调整区间的图书编号进行排序,在List2中输出整理结果,代码略


End Sub
Function getPos(head As Integer, tail As Integer, value As String)As Integer

Dim i As Integer

i=tail

Do While_______

i=i-1

Loop

getPos=i+1


End Function
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交