充值活动已开启,快来参与吧 关闭充值活动
当前位置: 高中信息技术 /
  • 1. 某玩具厂的生产流水线上有道工序,需要使用机械臂对n根长方体木块材料进行自动化排序。排序步骤为:从左起第一个木块开始向右寻找长度最短的,如果木块长度相同,则选择其中厚度较小的记录其位置R1 (不考虑长度及厚度均相同的情况),然后对区间[1,R1]内的木块进行整体翻转。再从第二个木块向右继续寻找,并记录其位置R2,然后对区间[2,R2]的木块进行整体翻转……机械臂循环操作,直至排序完成。排序过程如图a所示,其中⑦的厚度小于⑤的厚度。

    根据.上述要求设计VB程序,功能如下:在窗体加载时,读取木块长度和厚度数据,并显示在列表框List1中,单击“排序”按钮实现木块排序,结果显示在列表框List2中,程序运行界面如图b所示。

    1. (1) 代码Private Sub Com1_ Click ()中的Com1_Click()属于            (单选,填字母)。
      A . 对象名 B . 事件名 C . 类别名 D . 事件处理过程名
    2. (2) 实现上述功能的VB代码如下,请在划线处填写合适的代码。

      Const n = 10

      Dim cd(1 To n) As Single, hd(1 To n) As Single

      Private Sub Form_ Load()

          '通过数据库读取n根木块的长度数据存储到cd数组,厚度数据存储到hd数组,并将数据显示在列表框List1中,代码略

      End Sub

      Private Sub Com1_Click()

          Dim L As Integer, R As Integer

          Dim min As Integer

          Dim i As Integer, j As Integer

          Dim t1 As Single, t2 As Single

          For i=1 To n-1

              min=i

              For j=i+1 To n

                  If  Then min= j

              Next j

              R=min

              

              '实现区间内木块的整体翻转

              Do While L<R

                  t1 = cd(L): cd(L) = cd(R): cd(R) = t1

                  t2 = hd(L): hd(L) = hd(R): hd(R) = t2

                  L=L+1

                  

              Loop

          Next i

          List2. AddItem"长度(cm)"+""+"厚度(cm)"

          For i =1 To n

              List2. AddItem Str(cd(i)) +"" + Str(hd(i))

      Next i

      End Sub

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