当前位置: 高中信息技术 / 综合题
  • 1. (2021高二下·绍兴期末) 为了把工厂中高低不等的物品按从低到高排好序,工程师发明了一种排序机械臂,它首先在参加排序的所有物品中同时选出高度最低和最高的物品,分别交换到左、右边界,再缩小左、右边界,然后在余下的物品中采用同样的方法排序,直到所有物品成为一个有序的序列。编写VB 程序,实现上述排序功能:运行程序,单击“读取”按钮Command1,在列表框List1中显示待排序的物品,然后单击“排序”按钮Command2,在列表框List2中显示排序好的物品。程序运行界面如图所示。

    请回答下列问题:

    1. (1) 若要程序运行时,窗体Form1 的标题显示为“物品排序”,则Form_Load()事件中应添加的代码是(单选,填字母:A .Form1.Name="物品排序" /B .Form1.Text = "物品排序"/C .Form1.Caption ="物品排序")。
    2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

      Const m = 9       'm表示物品个数

      Dim id(m) As Integer, gd(m) As Integer

      Private Sub Command1_Click()

          '读取物品的信息依次存入数组id,gd中,并在列表框List1中显示,代码略

      End Sub

      Private Sub Command2_Click( )

          Dim LAs Integer, R As Integer, t As integer

          Dim imin As Integer, imax As Integer

          L = 1: R = m            '分别指向待排序区间的左右边界

          Do While L < R

              imin = L

             

              For i = L + 1 To R

                  If  Then imax = i

                  If gd(i) < gd(imin) Then imin = i

              Next i

              t = id(imin): id(imin) = id(L): id(L) = t

              t = gd(imin): gd(imin) = gd(L): gd(L) = t

              If imax = L Then     '考虑最大值恰好在L位置的情形

              t = id(imax): id(imax) = id(R): id(R) = t

              t = gd(imax): gd(imax) = gd(R): gd(R) = t

              L = L + 1

             

          Loop

          For i = 1 To m

              List2.AddItem Str(id(i)) + " " + Str(gd(i))

          Next i

      End Sub

      a(i) = n - i

      Next i

    3. (3) 程序中加框处代码有错,请改正。

微信扫码预览、分享更方便