编写“数字提取”程序,实现如下功能:在文本框 Text1 中输入包含数字和其他非数字字 符混合的原始数据,点击“数字提取”按钮 Command1,将数据中的数字以“,”间隔输出到文本 框 Text2 中。程序运行界面如图所示,VB 代码如下。请回答以下问题:
 
(1)要使程序运行后,窗体 Form1 标题立即自动显示为“数字提取”,可在 (单选,填字 母:
A.Form_Load /B.Form_Click/C.Command1_Click)事件过程中添加语句 Form1.Caption="数字 提取"。
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。 Private Sub Command1_Click()
Dim s As String, ch As String, flag As Boolean
Dim tmp As String, ans As String
s = Text1.Text
s = s + "." 
tmp = "": ans = ""
flag = False
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
tmp =   ①    
flag = True
ElseIf flag = True Then
ans = ans + tmp + ","
 
flag = False
End If
Next i
Text2.Text = ans End Sub
(3)如图,若删除程序中的语句“s = s + "."”,输入不变,则提取后的数字信息为 。
当前题号:1 | 题型:填空题 | 难度:0.99
有如下程序段:
Function f(a As Integer, b As Integer) As Integer
Dim k As Integer
k = a Mod b
If k = 0 Then
f = b
Else
f = f(b, a mod b)
End If
End Function
Private Sub Command1_Click()
Dim i As Integer, j As Integer
i = Val(Text1.Text)
j = Val(Text2.Text)
Text3.Text = Str(i * j / f(i, j))
End Sub
该程序运行之后,在text1与text2分别输入25 与15,点击command1后在text3上显示的内容为(  )
A.5B.30C.75D.125
当前题号:2 | 题型:选择题 | 难度:0.99
某对分查找算法的VB程序段如下:
i = 1: j = 7: n = 0: f = False
Key = Val(Text1.Text)
Do While i <= j And f = False
n = n + 1
m = Fix((i + j) / 2)
If Key = a(m) Then f = True
If Key < a(m) Then j = m - 1 Else i = m + 1
Loop
数组元素a(1)到a(7)的值依次为“2,19,29,34,43,52,66,68”。文本框Textl中输入“46”后运行该程序,运行结束后下列说法不正确的是
A.变量f的值为FalseB.变量m的值为5C.变量j的值为4D.变量n的值为3
当前题号:3 | 题型:选择题 | 难度:0.99
小张的QQ密码忘记了,请你帮他找回密码。他只记得自己密码的一些零星信息:
①密码是六位数字,前面两位为59;
②最后两位数字相同;
③能被12和38整除。
程序界面如图所示,单击“找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。

(1)应用程序界面设计时,为添加“可能的密码有:”对象,应使用左图所示的“控件工具箱”中的______(填写相应编号),并在右图所示的“属性窗口”中,将______属性值设置为“可能的密码有:”。 

(2)为实现上述功能,请在划线处填入合适的选项。
Private Sub Command1_Click( )
Dim x As Integer,s As Long,y As Integer,i As Integer
For i=0 To 9999
 s=590000+i
 If________Then 
  x=s mod 10
  y=(s Mod 100)\10
  If_______Then 
   List1.AddItem______
  End If
 End If
Next i
End Sub
划线①、②、 ③的选项:    
A.x=y
B.Str(s)
C.Str(i)
D.s Mod 12=0 and s Mod 38=0
当前题号:4 | 题型:填空题 | 难度:0.99
(加试题)有一组数据分别为“8,11,17,25,29,30,31,46”用对分查找和顺序查找数据 31 的过程中,两种 方法都能访问到的数字是(   )
A.11
B.17
C.29
D.30
当前题号:5 | 题型:选择题 | 难度:0.99
(加试题)有如下程序段:
c=0
For i=1 to 5
f=False
For j=1 to 6-i
If a(j) > a(j+1) Then
f=True : c=c+1
t=a(j) : a(j)=a(j+1) : a(j+1)=t
End If
Next j
If f=False Then Exit For Next i
数组元素 a(1)到 a(6)的值依次为“19,65,27,53,48,36”,经过该程序段“加工”后,变量 c 的值为(   )
A.5
B.6
C.7
D.8
当前题号:6 | 题型:选择题 | 难度:0.99
(加试题)哥德巴赫 1742 年给欧拉的信中哥德巴赫提出了以下猜想:任一大于 2 的偶数都可写成两个 质数之和。下列 V
A.程序的功能即验证哥德巴赫猜想。程序运行时,在文本框 Text1 中输入一个大于 2 的偶 数,单击“证明”按钮 Command1 后,在列表框 List1 中输出所有符合猜想的组合,在标签 Label2 中输出 共有多少个组合。程序运行效果如下图所示。

为实现上述功能程序如下,但加框处的代码有误,请改正。
Private Sub Command1Click()
Dim n As Integer
Dim i As Integer, c As Integer
n = Val(Text1.Text)
List1.Clear
c = 0
If n Mod 2 = 0 Then
For i = 2 To n   ________
If is Prime(i) Then    ________
List1.AddItem n & "=" & i & "+" & n - i
c = c + 1
End If
Next i
Label2.Caption = "共有" & c & "种组合"
Else
Label2.Caption = "请输入一个大于 2 的偶数"
End If
End Sub
Function is Prime(x As Integer) As Boolean
Dim i As Integer
Is Prime = True
For i = 2 To Int(Sqr(x))
If x Mod i = 0 Then
Is Prime = False
Exit For
End If
Next i
End Function
当前题号:7 | 题型:填空题 | 难度:0.99
编写程序输出100~200之间不能被3整除的自然数,并统计出符合条件的个数。
程序如下:
Private Sub Form_Click()
Dim i As Integer
Dim t As Integer
For i = 100 To 200
If __________ Then    '不能够被3整除的条件
Print i
t=t+1
End If
Next i
End Sub
程序运行结束后t的值为_______________
当前题号:8 | 题型:填空题 | 难度:0.99
用蒙特卡洛法求圆周率PI的近似值,其算法如下:使用随机函数Rnd,随机生成两个[0,1)之间的随机数,由此构成一个投点坐标(x,y),然后根据x2+y2<=1投点是否在圆内来求PI的近似值。其中总共随机投点n次,统计落点在单位圆内的点数为s,则4s/n即为所求PI的近似值。程序界面如图所示,在Text1中输入投点的个数,单机“计算”按钮,PI的近似值结果显示在Text2中。)

(1)要使得按钮的文字显示为“计算”,应该修改该对象的__________属性。
(2)要实现上述功能,请在划线处填入合适代码。
Private Sub Command1_Click()
Randomize '随机数初始化
Dim i As Long, n As Long, s As Long
Dim x As Double, y As Double, z As Double
n = Val(Text1.Text)
__________________________
s = 0
Do While i <= n ' 随机投点n次
x = Rnd: y = Rnd
z = ____________________
If z <= 1 Then
s = s + 1
End If
i = i + 1
Loop
Text2.Text =_______________
当前题号:9 | 题型:填空题 | 难度:0.99
(加试题)给定m个区间和1个数组(有n个元素),现要求根据各区间限定的取值范围,将数组依次分隔成m+1个段。具体分割方法如下:

第1段是从数组首个元素开始、元素值都属于第1区间的最长连续元素段。如果首个元素不属于第1区间,则第1段元素个数为0;

第1段分割后的剩余元素,用同样的方法来依次分割第2段、第3段、…、第m段;

第m段分割后的剩余元素分割到第m+1段(剩余段)。

若第p(1≤p≤m-1)段末尾连续元素的值也同时属于第p+1区间,则这块连续元素称为第p段“重叠块”,该段其余部分称为第p段“非重叠块”。由于不存在第m+1区间,这里特别规定:第m段的全部元素都分割到m段“非重叠块”,第m段“重叠块”的元素个数为0,一个数组分段示例如下图。图中数组第1个元素10不属于第1区间[0,5],因此第1段的元素个数为0。10和20属于第2区间,而33不属于第2区间,因此第2段只包含10和20两个元素。第3段末尾连续3个元素的值也同时属于第4区间,因此,第3段“非重叠块”包含33,58,46,第3段“重叠块”包含55,62,69。

 
(1)给定2个区间依次为[10,50]、[30,80],数组各元素为“12,44,34,45,66,50,45,70”,则第1段“重叠块”中的元素个数为_________个。
(2)小李根据上述描述,设计了一个统计各段“非重叠块”、“重叠块”和剩余段中元素个数的算法。算
法的VB程序如下,请在划线处填入合适的代码。
Const n = 18, m = 6
Dim a(1 To n) As Integer
Dim b(1 To 2 * m) As Integer
'b(1)、b(2)为第1区间的下限和上限, b(3)、b(4)为第2区间的下限和上限,… 
Dim c(1 To 2 * m + 1) As Integer
'数组c用于保存统计结果:
'c(1)、c(2)分别存储第1段“非重叠块”和“重叠块”的元素个数,
'c(3)、c(4)分别存储第2段“非重叠块”和“重叠块”的元素个数,… 
'c(2m-1)存储第m段"非重叠块"元素个数,c(2m)存储第m段"重叠块"元素个数(值为0)
'c(2m+1)存储剩余段元素个数
Private Sub Command1_Click()
Dim i As Integer, p As Integer, L As Integer, LL As Integer
'读取n个数据并保存在数组a中,代码略
'读取m个区间的下限和上限并保存在数组b中,代码略
For i = 1 To 2 * m + 1
c(i) = 0
Next i
i = 1: p = 1
L = 0: LL = 0
Do While  _________________  
If IsIn(i, p) Then
If IsIn(i, p + 1) Then
LL = LL + 1
Else
______________ 
LL = 0
End If
i = i + 1
Else
c(2 * p - 1) = L
c(2 * p) = LL
L = 0: LL = 0
p = p + 1
End If
Loop
If i <= n Then
c(2 * p - 1) = n - i + 1
Else

  c(2 * p - 1) = L

  c(2 * p) = LL

End If
'输出统计结果,代码略
End Sub
'函数IsIn用来判断a(i)值是否属于第p区间
Function IsIn(i As Integer, p As Integer) As Boolean
If p > m Then
IsIn = False
Else
If ____________________________  Then IsIn = True Else IsIn = False
End If
End Function
当前题号:10 | 题型:填空题 | 难度:0.99