- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- + 面向对象程序设计 VB开发工具
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
高速公路上的测速设备会对机动车的行驶速度进行检测,并对超速的机动车自动进行拍照。测速设备对于是否拍照的控制,可以使用程序设计的方法来解决,此功能的实现主要使用( )。
A.判断结构 | B.顺序结构 | C.函数 | D.递归 |
产生一个在[-10,10]中随机整数的VB表达式是( )
A.Int(Rnd * 11) -11 |
B.Int(Rnd * 20)-10 |
C.Int(Rnd * 21) -11 |
D.Int(Rnd * 21)-10 |
(加试题)小明编写了一个VB程序,功能如下:在文本框Text1中输入一段英文,并在文本框Text2中输入英文段落中的某个单词(或字符串),单击“最大间距”按钮(Command1)后,在文本框Text3中显示该单词在文中某两次出现的最大间距,若只出现一次或不出现则显示值为0。程序运行界面如下图所示:

实现上述功能的VB程序如下:
Private Sub Command1_Click()
Dim a(1 To 1000) As String '数组a存储文中出现该指定单词(或字符串)的各个位置
Dim s As String, c As String ,ch As String
Dim n As Integer, max As Integer, i As Integer
s = Text1.Text
c = Text2.Text
n = 0: Max = 0
For i = 1 To Len(s) - Len(c) + 1
ch = ①
If ch = c Then
n = n + 1
a(n) = i
If n >= 2 Then
If a(n) - a(n - 1) - Len(c) > Max Then Max = a(n) - a(n - 1) - Len(c)
End If
End If
Next i
Text3.Text = ②
End Sub
以上程序段运行时,为了实现上述功能,划线处①和②应填入的代码分别为:
(1)_______________________________; (2)_______________________________
最大回文子串。回文字符串是具有回文特性的字符串:即该字符串从左向右读, 与从右向左读都一样.如:凤落梧桐梧落凤,abcba 等。“最大回文子串”是指一个字符串中长度最大的回文字符串,其基本算法思想如下:
(1)每个回文都有一个“中心”,当回文字符数为奇数时,中间的那个字符就是回文中心;但是当回文的字符数为偶数时,回文的中心是最中间的那两个字符,且这两个字符相同。
(2)对任意一个字符或者相同的两个连续字符,我们都可以假设它为回文的“中心”,向它的左右两边扩展出尽可能长的回文。对于每种假设,我们都能得到一个回文,而最长回文必定由其中的某个假设中得到。
现编写一个 VB 程序,在 Text1 中输入一串字符,单击“统计”按钮,在 Text2 中显示该字符串中的最大的回文子串(长度相同时,输出最左边的子串)。运行界面如图所示。

请回答下列问题:
(1)当 Text1 中输入“123321344332423112113123”时,则输出的结果为 。
(2)请在划线处填入合适的代码。
Dim n As Integer
Dim a(0 To 100) As String
Private Sub Command1_Click()
Dim s As String
Dim left As Integer, right As Integer, i As Integer
Dim max As Integer, m As Integer, b1 As Integer
'变量 b1 用于记录回文子串的左端起点
Text2.Text = " "
s = Text1.Text
n = Len(s)
For i = 1 To n
a(i) = Mid(s, i, 1)
Next i
max = 0: left = 0: right = 0
For i = 1 To n
left = i
right = i
m = longest(left, right)
If m > max Then
________①_________
max = m
End If
left = i
right = i + 1
If a(left) = a(right) Then
m = longest(left, right) + 1
If m > max Then
b1 = i - m \ 2 + 1
max = m
End If
End If
Next i
For i = b1 To _____②________
Text2.Text = Text2.Text + a(i)
Next i
End Sub
Function longest(left As Integer, right As Integer) As Integer
Dim p As Integer
p = 1
Do While left > 1 And right < n And _________③______________
left = left - 1
right = right + 1
p = p + 2
Loop
longest = p
End Function
(1)每个回文都有一个“中心”,当回文字符数为奇数时,中间的那个字符就是回文中心;但是当回文的字符数为偶数时,回文的中心是最中间的那两个字符,且这两个字符相同。
(2)对任意一个字符或者相同的两个连续字符,我们都可以假设它为回文的“中心”,向它的左右两边扩展出尽可能长的回文。对于每种假设,我们都能得到一个回文,而最长回文必定由其中的某个假设中得到。
现编写一个 VB 程序,在 Text1 中输入一串字符,单击“统计”按钮,在 Text2 中显示该字符串中的最大的回文子串(长度相同时,输出最左边的子串)。运行界面如图所示。

请回答下列问题:
(1)当 Text1 中输入“123321344332423112113123”时,则输出的结果为 。
(2)请在划线处填入合适的代码。
Dim n As Integer
Dim a(0 To 100) As String
Private Sub Command1_Click()
Dim s As String
Dim left As Integer, right As Integer, i As Integer
Dim max As Integer, m As Integer, b1 As Integer
'变量 b1 用于记录回文子串的左端起点
Text2.Text = " "
s = Text1.Text
n = Len(s)
For i = 1 To n
a(i) = Mid(s, i, 1)
Next i
max = 0: left = 0: right = 0
For i = 1 To n
left = i
right = i
m = longest(left, right)
If m > max Then
________①_________
max = m
End If
left = i
right = i + 1
If a(left) = a(right) Then
m = longest(left, right) + 1
If m > max Then
b1 = i - m \ 2 + 1
max = m
End If
End If
Next i
For i = b1 To _____②________
Text2.Text = Text2.Text + a(i)
Next i
End Sub
Function longest(left As Integer, right As Integer) As Integer
Dim p As Integer
p = 1
Do While left > 1 And right < n And _________③______________
left = left - 1
right = right + 1
p = p + 2
Loop
longest = p
End Function
小明用VB程序编写了一个密码生成器,单击“生成密码”按钮生成一个8位数的密码,该密码必须同时包含数字、大写字母和小写字母,并在文本框Text1中显示。程序界面如下图所示。

(1)在设计程序界面时,要将文本框Text1中的内容清空,应修改该文本框的 属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Const n = 8
Dim s As String
Dim a As Integer, i As Integer
Dim x As Boolean, y As Boolean, z As Boolean
x = False
y = False
z = False
Randomize
Do While ①
s = ""
For i = 1 To n
a = Int(Rnd() * 62) + 1
If a <= 10 Then
x = True
s = s + Chr(a + Asc("0") - 1)
ElseIf a <= 36 Then
y = True
s = s + Chr(a + Asc("A") - 11)
Else
z = True
②
End If
Next i
Loop
Text1.Text = ③
End Sub

(1)在设计程序界面时,要将文本框Text1中的内容清空,应修改该文本框的 属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Const n = 8
Dim s As String
Dim a As Integer, i As Integer
Dim x As Boolean, y As Boolean, z As Boolean
x = False
y = False
z = False
Randomize
Do While ①
s = ""
For i = 1 To n
a = Int(Rnd() * 62) + 1
If a <= 10 Then
x = True
s = s + Chr(a + Asc("0") - 1)
ElseIf a <= 36 Then
y = True
s = s + Chr(a + Asc("A") - 11)
Else
z = True
②
End If
Next i
Loop
Text1.Text = ③
End Sub
有如下 VB 程序段:
s = 0
For i = 1 To 10
s = s + i Mod 2
Next i
Label1.Caption = Str(s) &“-”& str(i) 该程序段运行后,在标签 Label1 上显示的是( )。
s = 0
For i = 1 To 10
s = s + i Mod 2
Next i
Label1.Caption = Str(s) &“-”& str(i) 该程序段运行后,在标签 Label1 上显示的是( )。
A.5-10 | B.5-11 | C.55-10 | D.1-11 |