试题

试题 试卷

logo

题型:综合题 题类:模拟题 难易度:普通

2017年11月浙江省普通高校招生学考科目考试技术(信息技术)仿真模拟试题02

数据插入。用VB设计程序,主要功能如下:随机产生15个200以内的正整数数列,按升序排序后显示在List1列表框中,在文本框Text1中输入1个200以内的正整数,单击“插入”按钮Command1后将其插入到数列中,并保持数列仍然有序,显示在列表List2中,同时在标签Label4中显示插入的位置,程序界面如图所示。

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

Dim a( 1 To 20) As Integer

Private Sub Command1_Click ( )

Dim key As Integer

key =   ①   

i = 1

Do While key > a ( i ) And ( i <= 1 5 )

i = i + 1

Loop

Label4.Caption = “该数插入的位置是:” + Str ( i )

If  i = 16  Then

a ( i ) = key

Else

For j = 16  To  i + 1 Step -1

    ②  

Next j

a ( i ) = key

End  If

List2. Clear

For i = 1 To 16

List2.AddItem a( i)

Next i

End Sub

Private Sub Form_Load( )

'随机生成15个200以内的正整数

Randomize

For i = 1 To 15

a ( i ) = Int(Rnd * 200) + 1

Next i

'将15个数从小到大排序

For i = 1 To 14

k = i

For j = i + 1 To 15

If a ( k ) > a ( j ) Then k = j

Next j

If  i <>k  Then

t = a(i); a( i) = a ( k ):a ( k )

End  If

Next i

'将排好序的数输出在列表框Listl中

Listl.Clear

For i = 1 To 15

Listl.AddItem str ( a ( i ) )

Next i

End Sub

程序中①划线处应填入,程序中②划线处应填入

举一反三
竞选班长。编号分别为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

将一个十进制正整数x转换成十六进制数的方法和转换成二进制类似,反复除16取余法,它的算法如下:

第一步:x被除16取余数r1,r1是所求的十六进制数的一个数(第一次就是个位数);

第二步:r1转换成十六进制数的一个基数并转换成字符,追加到十六进制数s的左边;

第三步:求出x被除16的商x1;

第四步:对x1重复第一、二、三步,直至商为0;

第五步:最后的s即为所求的十六进制数;

下列Visual Basic程序的功能是将一个十进制正整数x转换成十六进制数。界面如图所示,在文本框Text1中输入一个十进制数,单击“十进制转十六进制”按钮(Command1)后,在文本框Text2中输出转换的结果。

相应的Visual Basic程序如下:

Private Sub Command1_Click()

 Dim s As String, r As Integer

 dec=val(Text1.Text)      ‘dec得到一个十进制整数,例如:255

 base=16       ‘base表示16

  s=“”      ‘s变量存放要转换到的十六进制整数

  Do While dec <> 0

     r=(1)     

     If r >=10 Then       ‘如果base>10,r可能>10

      s=Chr(65+(r-10))+s     ‘Chr(65)=“A”,16进制数A对应10;

     Else

      s=Str(r)+s      ‘余数r<10时,十进制数和十六进制基数相同

     End If      ‘Chr(65+( r-10))或str(r)在s左边,实现了反次序输出

     dec=(2)     

  Loop

 Text2.Text=s

End Sub

在(1)处应填入{#blank#}1{#/blank#} , 在(2)处应填入{#blank#}2{#/blank#}

A.base Mod dec   B.dec/base

C.dec Mod base   D.dec\base

返回首页

试题篮