Dim i As Integer, s As Integer
i = 1
s = 0
Do While i <= 5
s = s + 2
i = i + 1
Loop
问:该程序段运行后,变量s的值为,i的值为。
1)若是运算符“+”,保存该位置并结束查找。
2)若是第一次碰到或“/”,保存该位置,若不是第一次碰到或“/”,继续往左边查找。
3)若是“)”,调用函数找到和它对应的位置,跳过该括号内容,继续往左查找。
4)若是非运算符,继续往左查找。
运行界面如下图:

Function find(y As String, x As Integer) As Integer
‘该函数的功能是返回表达式y中和位于第x位置的“)”配对的位置,代码略
Do While Mid(y, x, 1) <> “(”
Loop
find = x
End Function
Private Sub Command1_Click()
Dim s As String, t As Integer, ans As Integer, p As Integer
s = Text1.Text ‘输入表达式
t = Len (s): p = 0
Do While t > 0
If Mid(s, t, 1) = “+” Or Mid(s,t, 1) = “-” Then ‘处理+、-
ans = t
Exit Do
End If
IfThen ‘处理*、/
ans=t
p=1 ‘用来标记乘号或除号已经出现了
End If
If Mid(s, t, 1) =“)”Then ‘处理括号
t = find(s, t)
End If
Loop
Label2.Caption=“最后计算的运算符号位置为”+Str(ans)
End Sub
PRIVATE SUB FORMCLICK
FOR I = 3 TO
F=0
FOR J= 2 TO I-1
IF THEN
F=1
EXIT FOR
END IF
NEXT J
IF F=0 THEN
END SUB
周一限行1和9,周二限行2和8,周三限行3和7,周四限行4和6,周五限行5和0。尾号为车牌最后一位数字,如果最后一位是字母,则看倒数第二位,依次类推,如车牌“浙A12C4F”的尾号为4。小王编写了一个判断车辆限行的VB程序,功能如下:在文本框Text1中输入车牌,Text2中输入星期几,单击“判断”按钮Command1后,在标签Label3上显示该车当天是否限行。程序运行界面如图所示。
Private sub Command1__ Click()
Const s=“一二三四五”
Dim i As Integer
Dim cp As String,xq As String
Dim ch As String,t As String
cp=Text1. Text
xq=Text2. Text
If xq=“六”Or xq=“日”Then
Label3. Caption=“不限行!“
Else
i=Len(cp)
Do While i>=1
ch=Mid(cp,i,1)
If ch>=“0”And ch<=“9”Then exit Do ’Exit Do用于退出循环
①
Loop
If Val(ch)=0 Then
t=Mid(s,5,1)
Else If Val(ch)<=5 Then
t=Mid(s,Val(ch),1)
Else
②
End If
If t=xq Then
Label3. Caption=“限行!”
Else
Label3. Caption=“不限行!”
End If
End Sub
① ②

进转为进制程序
Private Sub Command1 _Click( )
Dim s As String, st As Long, ch As Integer
Dim i As Integer, n As Integer
①
n=Len(s)
st=0
For i=1 To n
ch= ②
st=st+ch*2^(i- 1)
Next i
Text 2. Text = Str(st)
End Sub
① ②
Dim c As Integer
Private Sub Form _Load ( )
c = 0: Text1. Text = “”
End sub
Private Sub Text1 _Change ( )
If Va l(Text1. Text) > 0 Then
Text1. Text = Str(Val(Text1. Text) \2
c = c + 1
End If
Text2. Text = Str(c)
End sub
运行该程序,在文本框Text1中输入5,则Text1和Text2中显示的内容分别是( )
小王编写了一个VB程序,功能如下:在列表List1框中显示i、a(i)、b(i)、a(b(i))在文本框Text1中输入要查找的数据,单击“查找”按钮Command1后,在标签Label3中显示该数据在a数组中的位置。程序运行界面如图所示。
实现上述功能的VB程序如下,但加框处代码有错,请改正。
Dim a(1 To 8)As Integer, b(1 To 8)As Integer
Dim n As Integer
Private Sub Form_ Load ( )
‘ n = 8, 对分查找前的8个数据存储在a数组中,每个数据的位次存储在b数组中
‘ 在列表框List1中显示数组下标、a数组、b数组、a(b(i))数组
‘ 代码略
End Sub
Private Sub Command1_ Click ( )
Dim i As Integer, 3 As Integer, k As Integer
Dim m As Integer, key As Integer
key = Val (Text1. Text)
i = 1: j = n
Do While i < = j
m = (i+j) \2
k =
‘①
If key = k Then
Exit Do
Eelseif key > k Then
i = m+1
Else
j = m-1
End if
Loop
If i > j Then
Label13. Caption = “该数据不存在”
Else
Label13. Caption =
‘②
End If
End sub
① ②
n=0
For i=1 To Len(Text1.Text)
c=Mid(Text1.Text,i,1)
If c>=“0”And c<=“9”Then m=1 Else m=2
a(m)=a(m)+1
If a(m)=1 Then n=n+1
Next i
数组a中各元素的初始值都为0,文本框Textl中的内容为“Happy2017”。执行该程序段后,变量n的值为( )
key = Val(Text1.Text)
i = 1: j = n
Do While i <= j
m = (i + j) \ 2
If a(m) > key Then
j = m - 1
ElseIf a(m) < key Then
i = m + 1
Else
If
Then
j = m - 1
Else
Label2.Caption = Str(key) + "的起始位置是" + Str(m)
Exit Do
End If
End If
Loop
If i > j Then
Label2.Caption = "找不到" + Str(key)
End If
要使程序实现上述算法思想,则方框中的语句是( )
left=1: right =n: i=1
Do While i <=right
If a(i)=0 Then
tmp= a(left): a(left)=a(i): a(i)= tmp
left=left+1
i=i+1
ElseIf a(i)= 1 Then
i=i+1
Else
①
End If
Loop
要实现上述排序算法思想,则横线处代码应该是( )。
实现上述功能的VB程序如下,请在划线处填入合适的代码。
Dim a(1 To 100)As Integer
Dim n As Integer
Private Sub Command1_Click() '生成n个有序数,显示在List1中
’有序代码略
End Sub
Private Sub Command2_ Click)
Dim t As Integer,i As Integer,j As Integer,temp As Integer
t=Val(Text2.Text)
For
Temp=
For j=i To i+1-t Step -1
a(j)=a(j-1)
Next j
Next i
For i=1 To n
List2.AddItem Str(a(i))
Next i
End Sub
请回答下列问题:
Private Sub Cmd1_Click( )
Dim bai As Integer, shi As Integer Dim ge As Integer, n As Integer
n = Val(Text1.Text)
bai = ①
shi = n \ 10 mod 10
ge = ②
Text2.Text = Str(ge * 100 + shi * 10 + bai) End Sub
① ②
t="": i=0: j=9: key=62: f=False
Do While i <=j And Not f
m=Fix((i+j)/2)
t=t+Str(m)
If a(m)= key Then
f=True
ElseIf a(m)>key Then
i=m+1
t=t+"→"
Else
j=m-1
t=t+"←"
End If
Loop
数组元素a(0)到a(9)的值依次为“99,94,90,87,78,70,63,56,45,36”执行该程序段的值是( )
Dim a As Long, k As Integer, s As String
a=1234567 : k=0
Do while a>0
r=a mod 10
If r Mod 2 =0 Then k=k+1
s= s+ Str(r)
a=a\10
Loop
Text1.Text= Str(k) +s
For i = 1 To n - 1
For j=____________
If a(j) < a(j - 1) Then
t=a(j):a(j)=a(j-1):a(j-1)=t
End If
Next j
Next i
为了使此程序段能实现数组a中的数据升序排列,则划线处应填入的代码是( )
a=2:b=5
If a>b Then a=a+2 Else b=a+b
a=b+2
b=a+b
Text1.Text=Str(b)
该程序运行后,文本框Text1上显示的内容为。