试题

试题 试卷

logo

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

浙江省临安市昌化中学2019届高三上学期信息技术期末模拟试卷

【加试题】小柯编写了一个多位数乘法的VB程序,运行界面如图所示。在文本框Text1中输入一个小于等于1000位的被乘数,在文本框Text2中输入1位乘数,点击“开始计算”按钮Command1后,在文本框Text3中显示计算结果。

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

   Private Sub Command1_Click()

Dim d(1 To 1001) As Integer

Dim str1 As String, str2 As String

Dim i As Integer, n As Integer, k As Integer, s As Integer

str1 = Text1.Text

n = Len(str1)

For i = 1 To n

    D(i) = Val(Mid(str1, i, 1))

Next i

s = 0

k = Val(Text2.Text)

For i = n To 1 Step -1

          ①

      s = d(i) \ 10

   D(i) = d(i) Mod 10

Next i

If s <> 0 Then str2 = CStr(s) Else str2 = ""  'CStr()不会在返回的字串前加1个空格。

For i = 1 To n

          ②

Next i

Text3.Text = str2

End Sub

 ② 

举一反三
【加试题】小王设计了一个算法试图求出平面坐标系中最左点出发,从左往右途经所有点到达最右点的路径值和,编写了一个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#} 

返回首页

试题篮