试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:普通

浙江省“七彩阳光”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)、代码"List1.Clear"中的 Clear 是 。(单选,填字母: A .对象名 /B .事件名 /C .属性名 /D .方法名)
(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)、程序中加框处代码有错,请改正。
举一反三
竞选班长。编号分别为1、2、3、4、5的五位候选人参加班长竞选,现要设计一个计票程序,根据回收的选票信息统计各位候选人的得票数,得票数最多的被选为班长,并输出班长的编号。选票信息为一个数字序列,由每张选票的投票结果构成,如某选票序列为101233303,其含义见如下表所示。

选票序列

1

0

1

2

3

3

3

0

3

含义

第1张选票投给1号

第2张选票弃权

第3张选票投给1号

第4张选票投给2号

第5张选票投给3号

第6张选票投给3号

第7张选票投给3号

第8张选票弃权

第9张选票投给3号

备注:选票序列101233303,序列中的数字i,表示投票给编号为i的人,即编号为i的人得1票,其中数字0表示不投给任何人,即为弃权。表中选票序列的投票结果为:1号得2票,2号得1票,3号4得票,4号、5号均为0票(没人投),所以3号得票数最高,被选为班长。

程序运行时,在文本框Text1中输入选票信息,单击“计算”按钮Command1后,被选为班长的编号显示在文本框Text2中。程序运行效果如图所示。

实现上述功能的VB程序如下,请在划线处填入合适的代码。

Private Sub Command1_Click()

Dim a(1 To 5)As Integer

    ‘数组元素a(1)~a(5)依次存放编号为1~5的五位候选人的得票数

Dim st As String, i As Integer, j As Integer, n As Integer

Dim ans As Integer    ‘变量ans存放被选为班长的人的编号

Dim max As Integer    ‘变量max存放最多的得票数

st=Text1.Text

 {#blank#}1{#/blank#}

For i=1 To 5

a(i)=0

Next i

For i=1 To 5

For j=1 To n

If{#blank#}2{#/blank#}Then 

a(i)=a(i)+1

Next j

Next i

max=0

For i=1 To 5

If a(i)>max Then

max=a(i):ans=i

Next i

{#blank#}3{#/blank#}

End Sub

返回首页

试题篮