试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省临海市白云高级中学2018-2019学年高二下学期信息技术期中考试试卷

n个数据的冒泡排序需要经过n-1遍加工,每一遍加工自下而上比较相信两个数据,把较小者交换到上面。小刘发现:当某一遍加工过程中没有数据交换,说明数据已经有序,无需进一步加工。为此,小刘对算法进行优化,编写了一个VB程序,功能如下:运行程序时,在列表框List1中显示排序前数据,单击“排序”按钮Commaiid1,在列表框List2中显示这些数据按升序排序后的结果,在标签Label3中显示排序过程的加工遍数。运行效果如图所示,实现上述功能的VB代码如下:

Dim a(1 To 8) As Integer

Dim n As Integer

Private Sub Form_Load()

  'n=8,排序前数据存储在数组a中,并在列表框Listl中显示

  '代码略

End Sub

Private Sub Command1_Click()

Dim flag As Boolean         

i = 1

flag = True

Do While             '改错

     flag = False

     For j = n To 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

Loop

Label3.Caption = "排序过程的加工遍数为" +              '填空

For i = 1 To n

   List2.AddItem Str(a(i))

Next i

End Sub

(1)、代码“Private Sub Command1_Click()”中的Click是。(单选,填字母:A . 对象名/B . 属性名/C . 事件名)
(2)、程序代码中,Do While语句加框处有错,请改正。
(3)、程序代码中,将Label3.Caption赋值语句补充完整。
(4)、程序代码中,flag值为表示某一遍加工中发生过交换。
举一反三
返回首页

试题篮