当前位置: 高中信息技术 / 综合题
  • 1. (2020高三下·浙江月考) 求数组a 中非降序数列的方法,算法描述如下:

    ⑴用数组依次存储每个非降序数列中最大的元素(查找过程中的最大值),初始时b(1)为数组a第1个元素。

    ⑵加入方法:将a(i)与数组b中的每个元素依次逐个比较:

    若a(i)不比b(j)小就用a(i)替换b(j)中的值;将a(i)添加到第j个非降序数列中,并连接到c数组的c(j)中。

    若a(i)比b(j)都小,则在数组b最后添加新的元素值为a(i),即将a(i)添加到第j+1个下降数列中,并连接到c数组的c(j+1)中。

    ⑶若数组a各元素的值为:12,36,16,36,27,18时,则3个非降序数列分别为:“12,36,36”,“16,27”,“18”。

    程序运行界面如下图所示:

    小明依据上述描述设计了如下VB程序。请回答下列问题:

    1. (1) 代码"List1.Clear"中的 Clear 是 。(单选,填字母: A .对象名 /B .事件名 /C .属性名 /D .方法名)
    2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

      Const m=15

      Dim a(1 To m) As Integer Private Sub Form_Load()

      ‘读取m个数据,依次存储到 a(1)、a(2)、……a(m)中,代码略End Sub

      Private Sub Command1_Click()

      Dim b(1 To m) As Integer '存储数列最大的值Dim c(1 To m) As String     ‘存储非降序数列Dim i As Integer

      Dim bottom As Integer Dim j As Integer

      Dim bn As Integer      ‘存储非降序数列的个数List1.clear

        b(1) = a(1)

            ①  

        c(1) = Str(a(1))

        For i = 2 To m 

           For j = 1 To bn

               If   ②   Then

                  b(j) = a(i)

                  

                  Exit For

               End If

          Next j

          If j > bn Then

             bn = bn + 1

                  ③       

             c(b(n)) = Str(a(i))

          End If

        Next i

      For i = 1 To bn

           List1.AddItem c(i)

      Next i

      Text2.Text = "数列中共有" + Str(bn) + "个非降序序列"

      End Sub

       ② ③ 

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

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