试题

试题 试卷

logo

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

浙教版高一信息技术 专题五:VB程序设计

小明编写了一个简单算式计算器程序,功能如下:在文本框Text1中输入一个加法的算式,形式为:a+b,a和b都为正整数。单击按钮Command1后,在标签Labe1上显示算式的计算的结果。程序运行界面如下图所示:

(1)、在设计程序界面时,应使用图b所示“控件工具箱”中的(填数字编号)添加标签框对象。
(2)、实现上述功能的VB程序如下,请在划线处填入合适的代码。

Private Sub Command1_Click()

 Dim key As String

 Dim a As Integer, b As Integer, ans As Integer, ch As String

 key=Text1.Text

 i=1 

 Do While i<=Len(key)

  ch=Mid(key,i,1)

  If ch>="0" And ch<="9" Then

  

  Else

   Exit Do ′退出循环

  End If

 Loop

 

 b=Val(Mid(key,i+1,Len(key)-i))

 ans=a+b

 Label1.Caption="算式计算结果为:"+Str(ans)

End Sub

(3)、运行时,在文本框中输入“123+10”,单击“计算”按钮后,对语句ch=Mid(key,i,1)执行次数是(单选,填字母:A .执行3次/B .执行4次/C .执行5次/C .执行6次)
举一反三
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。

数组元素a(1)至a(5)依次为5,22,28,42,55,在a(3)处分成两段,交换位置后为:

a(1)

a(2)

a(3)

a(4)

a(5)

28

42

55

5

22

旋转数组a的最小元素是5。

数组d(1)至d(5)依次为0,1,1,1,1,在d(5)处分成两段,交换位置后为:

d(1)

d(2)

d(3)

d(4)

d(5)

1

0

1

1

1

旋转数组d的最小元素是0。

小明依据查找算法思想,设计一个查找旋转数组d最小元素的程序,功能如下:运行程序时,利用“添加”按钮Command1和文本框Text1依次输入旋转数组d的值,在列表List1中显示旋转数组,单击“求解”按钮Command2,在标签Label2中显示旋转数组d最小元素值。运行效果如图1所示,实现该功能的VB程序如下:

图1

Dim n As Integer

Dim d(1 To 100) As Integer '数组 d 存储待排序数据

Private Sub Command1_Click()

'按旋转数组规则将数据存入数组d中,代码略

End Sub

Private Sub Command2_Click()

  Dim mid As Integer, L As Integer, R As Integer

  L = 1: R = n

  mid = L

  Do While d(L) >= d(R)

    If  Then    '改错

      mid = R

      Exit Do

    End If

    mid = (L + R) \ 2

    If d(L)=d(R) And d(mid)=d(R) Then

mid =______________                              '填空

      Exit Do

    End If

    If d(L) < d(mid) Then

      L = mid

ElseIf d(mid) < d(R) Then

      R = mid

    End If

  Loop

Label2.Caption = "最小值为" + Str(d(mid))

End Sub

    End If

  Next i

End Function

返回首页

试题篮