- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- + 面向对象程序设计 VB开发工具
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
小强在双十一购物期间忘记了支付宝账户密码,但他急用支付宝进行转账,请你帮他尽可能找回密码。他只记得自己密码的一些零星信息:
①密码是六位数字,前面两位为59;②最后两位数字相同;③能被12和38整除。
程序界面如图1所示,单击 “帮助找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。


图1 图2
(1)应用程序界面设计时,为添加“ List1”对象,应使用图2所示的“控件工具箱”中的________(填写相应编号)。
(2)请根据题意将解决此问题的相应程序补充完整。
Private Sub Command1_click ()
Dim x As Integer, s As Long,
Dim y As Integer, i As Integer
For i = 0 To 9999
S = 590000 + i
If ①________ Then
x= s mod 10
y = ②________
If x = y Then
List1.AddItem Str(s)
End If
End If
Next i
End Sub
(3)该模块采用的算法是(_____)
①密码是六位数字,前面两位为59;②最后两位数字相同;③能被12和38整除。
程序界面如图1所示,单击 “帮助找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。


图1 图2
(1)应用程序界面设计时,为添加“ List1”对象,应使用图2所示的“控件工具箱”中的________(填写相应编号)。
(2)请根据题意将解决此问题的相应程序补充完整。
Private Sub Command1_click ()
Dim x As Integer, s As Long,
Dim y As Integer, i As Integer
For i = 0 To 9999
S = 590000 + i
If ①________ Then
x= s mod 10
y = ②________
If x = y Then
List1.AddItem Str(s)
End If
End If
Next i
End Sub
(3)该模块采用的算法是(_____)
A.枚举 |
B.查找 |
C.排序 |
D.解析 |
有如下程序,要使Label1中显示的值是30,划线处应该填( )
Dim i As Integer,s As Integer
s=0
For i=2 To ________ Step 2
s=s+i
Next i
Label1.Caption=Str(s)
Dim i As Integer,s As Integer
s=0
For i=2 To ________ Step 2
s=s+i
Next i
Label1.Caption=Str(s)
A.8 |
B.9 |
C.10 |
D.12 |
某算法的部分流程图如下图所示,图中使用的程序结构有 ( )


A.顺序结构和选择结构 |
B.选择结构和循环结构 |
C.顺序结构和循环结构 |
D.顺序、选择和循环结构 |
(加试题)维吉尼亚密码。如下图所示,分别用行和列表示待加密的字符(明文)和当前字符的密钥,行和列的交叉点的字符即为加密后的结果(密文)。在加密时,密文与明文的字母大小写形式保持一致,如:明文字母为大写,则加密后的密文字母也为大写;当密钥长度不足时重复使用密钥。

明文:HelloWorld
密钥:abcabcabca
密文:HfnlpYosnd
依据上述算法描述设计了如下VB程序。请回答下列问题:
(1)若明文是Jia,密钥是Pass,则输出的密文是:_________
(2)请在划线处填上合适的代码
Const MIN_ASC = 65
Function X2D(x As String) As String
Dim s As String, zf As String, i As Integer
s = ""
For i = 1 To Len(x)
zf = Mid(x, i, 1)
If zf >= "a" And zf <= "z" Then
s=s+ ①________
Else
s = s + zf
End If
Next i
X2D = s
End Function
Private Sub Command1_Click()
Dim M As String, K As String, C As String, flag As Boolean
Dim i As Integer, t As Integer, ch As Integer, pos As Integer, j As Integer
M = Text1.Text '明文
K = Text2.Text '密钥
t = Len(K)
K = X2D(K)
C = ""
For i = 1 To Len(M)
ch = Asc(Mid(M, i, 1))
flag = False
If ch >= 97 And ch <= 122 Then ch = ch - 32: flag = True
pos= ②________ '密钥的字符位置值
If pos = 0 Then pos = t
j = Asc(Mid(K, pos, 1)) '密钥字符的ASCII值
ch = ch - MIN_ASC
j = j - MIN_ASC
ch= ③________
ch = ch + MIN_ASC
If flag Then ch = ch + 32 '设置字母的大小写形式
C = C & Chr(ch)
Next i
Text3.Text = C
End Sub

例如:当明文M=HelloWorld,密钥K=abc时,密文C=HfnlpYosnd。运算过程如下所示:
明文:HelloWorld
密钥:abcabcabca
密文:HfnlpYosnd
依据上述算法描述设计了如下VB程序。请回答下列问题:
(1)若明文是Jia,密钥是Pass,则输出的密文是:_________
(2)请在划线处填上合适的代码
Const MIN_ASC = 65
Function X2D(x As String) As String
Dim s As String, zf As String, i As Integer
s = ""
For i = 1 To Len(x)
zf = Mid(x, i, 1)
If zf >= "a" And zf <= "z" Then
s=s+ ①________
Else
s = s + zf
End If
Next i
X2D = s
End Function
Private Sub Command1_Click()
Dim M As String, K As String, C As String, flag As Boolean
Dim i As Integer, t As Integer, ch As Integer, pos As Integer, j As Integer
M = Text1.Text '明文
K = Text2.Text '密钥
t = Len(K)
K = X2D(K)
C = ""
For i = 1 To Len(M)
ch = Asc(Mid(M, i, 1))
flag = False
If ch >= 97 And ch <= 122 Then ch = ch - 32: flag = True
pos= ②________ '密钥的字符位置值
If pos = 0 Then pos = t
j = Asc(Mid(K, pos, 1)) '密钥字符的ASCII值
ch = ch - MIN_ASC
j = j - MIN_ASC
ch= ③________
ch = ch + MIN_ASC
If flag Then ch = ch + 32 '设置字母的大小写形式
C = C & Chr(ch)
Next i
Text3.Text = C
End Sub
(加试题)有如下VB程序段:
k = Val(Text1.Text)
left1 = 1: right1 = 10
Do While (left1 <= right1)
mid1 = (left1 + right1) \ 2
If a(mid1) <=k Then
left1 = mid1 + 1
Else
right1 = mid1-1
End If
Loop
Text2.text=str(right1)
已知数组a(1)到a(10)的原始数据为1,4,5,5,5,5,8,9,9,10.程序运行时,在文本框text1中输入5,文本框text2显示的内容是()
k = Val(Text1.Text)
left1 = 1: right1 = 10
Do While (left1 <= right1)
mid1 = (left1 + right1) \ 2
If a(mid1) <=k Then
left1 = mid1 + 1
Else
right1 = mid1-1
End If
Loop
Text2.text=str(right1)
已知数组a(1)到a(10)的原始数据为1,4,5,5,5,5,8,9,9,10.程序运行时,在文本框text1中输入5,文本框text2显示的内容是()
A.5 |
B.10 |
C.3 |
D.6 |
编“字符串缩写”程序,实现如下功能:在文本框Text1中输入Ascii字符串,字符串中如果有由Ascii表中相邻字符(升序)组成的子串,则把该子串缩写成由第一个字符、“-”和最后一个字符组成,比如“abcdfpxcba”则缩写成“a-dfpxcba”。程序运行界面如下图所示。

(1)代码“Private Sub Command1_Click()”中的Command1_Click()是________
(单选,填字母:
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim s As String, result As String, i As Integer, j As Integer, t As Integer
s = Text1.Text :t = Len(s) :result = ""
i=1
Do While i <= t
j = i
Do While i < t
If Asc(Mid(s, i + 1, 1)) = Asc(Mid(s, i, 1)) + 1 Then
i = i + 1
Else
Exit Do
End If
Loop
If i > j Then
result = ①________
Else
result = result + Mid(s, i, 1)
End If
i = i + 1
Loop
Text2.Text = ②________
End Sub
(3)如果输入的字符串是“aBcucwxyzdcb”,输出结果为____________

(1)代码“Private Sub Command1_Click()”中的Command1_Click()是________
(单选,填字母:
A.对象名 / | B.事件 / | C.事件处理过程) |
Private Sub Command1_Click()
Dim s As String, result As String, i As Integer, j As Integer, t As Integer
s = Text1.Text :t = Len(s) :result = ""
i=1
Do While i <= t
j = i
Do While i < t
If Asc(Mid(s, i + 1, 1)) = Asc(Mid(s, i, 1)) + 1 Then
i = i + 1
Else
Exit Do
End If
Loop
If i > j Then
result = ①________
Else
result = result + Mid(s, i, 1)
End If
i = i + 1
Loop
Text2.Text = ②________
End Sub
(3)如果输入的字符串是“aBcucwxyzdcb”,输出结果为____________
(加试题)下列程序执行后文本框Text1 显示的内容是()
s = "ERROR:Divisor must not be zero!"
flag = False: m = 0
For i = 1 To Len(s)
Text1.Text=Str(m)
s = "ERROR:Divisor must not be zero!"
flag = False: m = 0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "a" And ch <= "z" Then
If Not flag Then
m = m + 1
flag = True
End If
Else
flag = False
End If
Next iText1.Text=Str(m)
A.4 |
B.5 |
C.6 |
D.19 |
某算法的部分流程图如图所示,执行这部分流程图,依次输入12,20,-15,45,9,则输出b的值是( )


A.12 | B.-15 | C.45 | D.9 |
一个摸球游戏的流程图如图所示(红球总数和绿球总数均大于0)。游戏结束时,S位所代表的是( )


A.摸到的绿球数 | B.摸到的红球数 | C.未摸到的绿球数 | D.未摸到的红球数 |