试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省温州市新力量联盟2017-2018学年高二下学期信息技术期末考试试卷

两个10进制大整数相加可以用数组的方法逐位相加来实现,小王同学制作了如图的VB程序,以实现求2个50位以内的10进制整数的和。

(1)、根据程序代码,该事件过程名为
(2)、把代码补充完整。

Private Sub Command1_Click()

Dim a(1 To 51) As Integer, b(1 To 51) As Integer, c(1 To 51) As Integer Dim lens1 As String, lens2 As String

lens1 = Len(Text1.Text) :lens2 = Len(Text2.Text)

For i = Len(Text1.Text) To 1 Step -1    ‘读取数据,逐位保存在数组中

    a(i) = Mid(Text1.Text, lens1 - i + 1, 1) Next i

For i = Len(Text2.Text) To 1 Step -1

    b(i) = Mid(Text2.Text, lens2 - i + 1, 1) Next i

For i = 1 To 51     ‘从个位到高位逐位求和

    c(i) = 

    If c(i) > 9 Then

        c(i) = c(i) - 10

        c(i + 1)= 

    End If Next i

f = False  '从左到右输出第一个不为 0 的元素开始从高位到低位输出和

For i = 51 To 1 Step -1

    If c(i) <> 0 Then f = True

    If f Then Text3.Text = Text3.Text & c(i) Next i

End Sub

(3)、图中,为了使Text1和Text2文本框在Form1界面上能够左对齐,需要更改Text1的Left属性,则可以在Form_Load()中添加代码Text1.Left= 
举一反三
【加试题】小王设计了一个算法试图求出平面坐标系中最左点出发,从左往右途经所有点到达最右点的路径值和,编写了一个VB程序功能如下:在文本框Text1中输入需随机生成的坐标点数量,单击“生成”按钮Command1后,在列表框List1中生成相应数量的坐标点(坐标值为大于等于1小于10的实数 ,保留一位小数),在文本框Text2中输出路径值。程序界面如图所示。

实现上述功能的VB程序如下,但划线部分代码有错,请改正。

Private Sub Command1_Click()

  Dim x(1 To 100) As Single, y(1 To 100) As Single

  Dim tmp As Single, length As Single, sum As Single, x1 As Single, y1 As Single

  Dim i As Integer, j As Integer, k As Integer

Randomize 

List1.Clear

  k = Val(Text1.Text)

  For i = 1 To k

      x(i) = Int(Rnd * 90) / 10 + 1

      y(i) = Int(Rnd * 90) / 10 + 1

      List1.AddItem "X:" + Str(x(i)) + "   " + "Y:" + Str(y(i))

  Next i

  For i = 1 To k - 1

      For j = 1 To k - i

          If x(j) > x(j + 1) Then

              x(i)=x(i) + x(j)

              x(j) = x(i) - x(j)

              x(j) = x(i) + x(j)   ‘①

              tmp = y(j)

              y(j) = y(j + 1)

              y(j + 1) = tmp

          End If

      Next j

  Next i

  sum = 0: length = 0

  For i = 1 To k - 1

      x1 = (x(i) - x(1)) ^ 2     ‘②

 '变量y1计算方法同x1,代码略

      length = Sqr(x1 + y1)

      sum = sum + length

  Next i

  Text2.Text = Str(Int(sum * 10) / 10)

End Sub

①{#blank#}1{#/blank#} ②{#blank#}2{#/blank#} 

简化的VB词频统计程序。程序功能为:在文本框Text1中输入一篇英文文章,在文本框Text2中输入一个英文单词,单机“统计”按钮Command1后,在文本框Text3中显示这个英文单词出现的次数。程序运行界面如图所示。

查找的英文单词由连续的ASCII英文字符(a~z或A~Z)组成。组合词程序会进行分解,如river-small可拆分为2个单词river和small,查找的英文单词不区分大小写。程序代码如下,但加框处代码有错,请改正:

Private Sub Command1_Click()

Dim article As String,f As String,count As Integer

Dim i As Intege,,begin As Integer,s As String

article=Text1.Text : f=Text2.Text : count=0

begin = 1

For i=1 To Len(article)

   t = Mid(article,i,1)

   If Not(t>="A"And t<="Z" Or t>="a" And t<="z") Then

     If i > begin Then

        s =      '①

        If LowerCase(f)=LowerCase(s) Then

            count = count+1

        End If

      End If

          begin = i + 1

     End If  

  Next i

    Text3.Text=Str(count)

End Sub

Function LowerCase(word As String) As String    '单词转化为全小写的形式

Dim i As Integer,c As String

For i=1 To Len(word)

   c = Mid(word,i,1)

   '小写英文字母的ASCII码值比大写字母的值大32

   If c>="A" And c<="Z" Then c =    '②

   LowerCase = LowerCase + c

Next i

End Function

以上程序段运行时,为了实现上述功能,加框处代码应改正为:

①{#blank#}1{#/blank#};②{#blank#}2{#/blank#}。

返回首页

试题篮