试题

试题 试卷

logo

题型:单选题 题类:常考题 难易度:普通

浙江省绍兴市柯桥区2020年1月普通高校招生信息技术考试试卷

有如下VB程序段

Dim c As Integer,a(0 To 5) As Integer

For i = 1 To 5

  a(i) = i

Next i

c = 0

For i = 1 To 5

  x = Int(Rnd * 5 + 1)

  If a(x Mod 5) = i + 2 Then c = c + 1

  If c = x Then Exit For

  i = i - 1

Next i

运行该程序后,变量c的值不可能是(  )

A、1 B、2 C、3 D、4
举一反三
【加试题】任意一个英文单词都由若干字母组成,记录单词中每个字母出现的次数,其中maxn为最多次数,minn为最少次数,如果maxn与minn的差是一个素数,这个单词就是一个幸运单词。

例如:单词banana由b,a,n三个字母组成,其中a字母出现了3次,n字母出现了2次,b字母出现了1次,得到maxn为3,minn为1,maxn与minn的差为2,是一个素数,那么banana就是一个幸运单词。

编写一个判断幸运单词的VB程序,在文本框Text1中输入一个单词(注:仅输入小写字母,且长度小于100),单击“判断”按钮Command1,标签Labal1输出运行结果。

程序运行界面如图所示,实现上述功能的VB代码如下,但加框处代码有错,请改正。

Private Sub Command1_Click()

    Dim maxn As Integer

    Dim minn As Integer

    Dim a(1 To 26)As Integer

    maxn=0

    minn=100

s= Text1.Text

n=Len(s)

For i=1 To n

        dz=Mid(s,i,1)

        If dz>=“a”And dz<=“z”Then

          p=                 ‘(1)

           a(p)=a(p)+1

        End If

Next i

For j=1 To 26

        If a(j)>0 Then

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

          If a(i)<minn Then minn=a(j)

        End If

       Next j

    If(maxn-minn>=1)And  Then       ‘(2)

        Label1.Caption=“幸运单词!”

      Else

        Label1.Caption=“无!”

      End If

    End Sub

‘自定义函数iszs(x)用于判断整数x是否为素数,如果x是素数返回True

  Function iszs(x As Integer)As Boolean

      ‘代码略

End Fuction

当计算机程序中无法用普通数据类型表示位数较多的乘数和计算结果时,就需要采用高精度乘法。如,当两个各有20位数字的整数相乘时,就无法用长整型(Long)数据类型来表示。高精度乘法运算就是运用数组,用程序模拟列竖式计算的过程。两个正整数进行高精度乘法计算的一般算法如下:

⑴将第一个整数各位上的数字按照从低位到高位的顺序依次存入数组a(1)、a(2)、…、a(La)中,将另一个整数各位上的数字按照从低位到高位的顺序依次存入数组b(1)、b(2)、…、b(Lb)中。其中,La表示第一个整数的位数,Lb表示第二个整数的位数;

⑵按照从低位到高位的顺序,将两个整数各位数值进行逐位乘法计算(第一轮先让b(1)依次乘a(1)、a(2)…a(La),第二轮再让b(2)依次乘a(1)、a(2)、…、a(La),依次进行),每位的乘法结果也按照低位到高位的顺序依次存入数组ans(1)、ans(2)、ans(3)中;

⑶对数组ans中的计算结果进行从低位到高位的进位处理;

⑷统计数组ans中实际计算结果的有效数值位数,并将位数值存入变量length;

⑸按照高位到低位的顺序输出数组ans中的计算结果。

小明按照上述方法设计了一个两数进行高精度乘法计算的VB程序,功能如下:在文本框Text1和Text2中依次输入两个整数,单击“计算”按钮Command1,程序进行高精度乘法计算,并在标签Label4中输出计算结果。

实现上述功能的VB程序如下:

返回首页

试题篮