试题

试题 试卷

logo

题型:填空题 题类:模拟题 难易度:普通

浙江省杭州市2015年高考信息技术模拟卷5

[根据2011年9月高考题改编]下列VB程序运行时,单击命令按钮Command1后,文本框Text1中显示的内容是,文本框Text2中显示的内容是

Private Sub Command1 click( )

  Dim a(1 to 3) as integer,k as integer,t as integer,s as integer

  a(1)=15: a(2)=36: a(3)=7

  s=0

  For k=2 to 3

if a(k)>a(1) then

  t=a(1):a(1)=a(k):a(k)=t

  s=s+1

End if

  Next k

  text1.text=str(a(1))

  text2.text=str(s)

End sub

举一反三
数组nam()、sex()、math()、su()分别存放学生的姓名、性别、数学和总分成绩,现要求编写一个程序使得数据按照男生“总分”的降序和女生“总分”的升序排列,其中男生在前女生在后,程序界面如下图所示:

实现该功能的VB程序如下,但加框处代码有错,请改正。

Dim nam(100) As String '存放学生姓名

Dim sex(100) As String '存放学生性别

Dim math(100) As Long '存放学生数学成绩

Dim su(100) As Long '存放学生总分成绩

Dim k As Integer 'k变量用来存学生人数

Private Sub Form_Load()

‘将数据库中的数据分别存储在相应的变量中并在列表框中显示出来

‘代码略

End Sub

Private Sub Command1_Click()

Dim mmax As Integer, gmax As Integer, flagm As Boolean, flagg As Boolean

i = 1: flagm = True: flagg = True

Do While i <= k And flagm = True       ①   

    mmax = 0: gmax = 0

    flagm = False: flagg = False

  For j = i To k - i + 1

    If sex(j) = "男" And su(j) > su(mmax) Then mmax = j

    If sex(j) = "女" And su(j) > su(gmax) Then gmax = j

  Next j

   If mmax <> 0 Then

      flagm = True

      t = nam(mmax): nam(mmax) = nam(i): nam(i) = t

      t = sex(mmax): sex(mmax) = sex(i): sex(i) = t

      t = math(mmax): math(mmax) = math(i): math(i) = t

      t = su(mmax): su(mmax) = su(i): su(i) = t

   End If

   If gmax <> 0 Then

       flagg = True

       If j = mmax Then             ②   

        gmax = mmax

        t = nam(gmax): nam(gmax) = nam(k - i + 1): nam(k - i + 1) = t

        t = sex(gmax): sex(gmax) = sex(k - i + 1): sex(k - i + 1) = t

        t = math(gmax): math(gmax) = math(i): math(i) = t

        t = su(gmax): su(gmax) = su(k - i + 1): su(k - i + 1) = t

       Else

        t = nam(gmax): nam(gmax) = nam(k - i + 1): nam(k - i + 1) = t

        t = sex(gmax): sex(gmax) = sex(k - i + 1): sex(k - i + 1) = t

        t = math(gmax): math(gmax) = math(k - i + 1): math(k - i + 1) = t

        t = su(gmax): su(gmax) = su(k - i + 1): su(k - i + 1) = t

      End If

   End If

i = i + 1

Loop

For i = 1 To k

List2.AddItem nam(i) + "    " + sex(i) + "    " + Str(math(i)) + "    " + Str(su(i))

Next i

End Sub

程序中①处改为{#blank#}1{#/blank#}。

程序中②处改为{#blank#}2{#/blank#}。

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

返回首页

试题篮