- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- + 面向对象程序设计 VB开发工具
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
小王利用VB及ACCESS数据库制作了一个解密程序,具体使用过程如下:
在VB项目文件夹目录中有一个ACCESS数据库文件data.accdb,其中有一张数据表如图1所示ask字段中存放的是密文字符,对应ans字段中存放的是明文字符。

图1
VB程序界面如图2所示,其中一个按钮Command1的Caption属性值设置为“读取密码本”,另一个按钮Command2的Caption属性值设置为“解密”。程序运行后先点击Command1,程序将从ACCESS数据库中读取明文密文对照表并显示在列表框List1中。然后在密文文本框Texe1中输入加密文字,点击Command2解密后的明文将显示在Text2中。

图2
程序代码部分如下,请回答后面的问题:
Dim a() As String
Dim b() As String
Dim length As Integer
Private Sub Command1_Click()
List1.Clear
Dim i As Integer
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString =“provider=microsoft.ace.oledb.12.0;data source=”& App.Path &
“\____①____”
conn.Open
rs.ActiveConnection = conn
rs.CursorLocation = adUseClient
rs. Open (“select * from code”)
length = rs.RecordCount
ReDim a(1 To length)
ReDim b(1 To length)
rs.MoveFirst
For i = 1 To length
a(i) = rs.Fields(“ask”)
b(i) = rs.Fields(“ans”)
List1.AddItem (a(i)&“____”&b(i))
rs.____②____
Next i
End Sub
Private Sub Command2_Click()
Text2.Text=“”
Dim s As String
Dim i As Integer
s=Text1.Text
For i=1 To Len(s)
Text2.Text=Text2.Text&translate(Mid(s,____③____))
Next i
End Sub
Function translate(ask As String) As String
Dim i as Integer
Dim flag as Boolean
i=1
flag=True
Do While i<=length And flag
If a(i)=ask Then
____④____
End If
i=i+1
Loop
If flag=True Then
translate=“”
Else
translate=b(i-1)
End If
End Function
(1)程序代码①处应该填入___________________________________。
(2)程序代码②处应该填入____________________________________。
(3)在程序代码③处补全Mid函数: __________________________。
(4)程序代码④处应该填入____________________________________。
(5)translate函数使用的查找算法是________(填对分查找/顺序查找)。
在VB项目文件夹目录中有一个ACCESS数据库文件data.accdb,其中有一张数据表如图1所示ask字段中存放的是密文字符,对应ans字段中存放的是明文字符。

图1
VB程序界面如图2所示,其中一个按钮Command1的Caption属性值设置为“读取密码本”,另一个按钮Command2的Caption属性值设置为“解密”。程序运行后先点击Command1,程序将从ACCESS数据库中读取明文密文对照表并显示在列表框List1中。然后在密文文本框Texe1中输入加密文字,点击Command2解密后的明文将显示在Text2中。

图2
程序代码部分如下,请回答后面的问题:
Dim a() As String
Dim b() As String
Dim length As Integer
Private Sub Command1_Click()
List1.Clear
Dim i As Integer
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString =“provider=microsoft.ace.oledb.12.0;data source=”& App.Path &
“\____①____”
conn.Open
rs.ActiveConnection = conn
rs.CursorLocation = adUseClient
rs. Open (“select * from code”)
length = rs.RecordCount
ReDim a(1 To length)
ReDim b(1 To length)
rs.MoveFirst
For i = 1 To length
a(i) = rs.Fields(“ask”)
b(i) = rs.Fields(“ans”)
List1.AddItem (a(i)&“____”&b(i))
rs.____②____
Next i
End Sub
Private Sub Command2_Click()
Text2.Text=“”
Dim s As String
Dim i As Integer
s=Text1.Text
For i=1 To Len(s)
Text2.Text=Text2.Text&translate(Mid(s,____③____))
Next i
End Sub
Function translate(ask As String) As String
Dim i as Integer
Dim flag as Boolean
i=1
flag=True
Do While i<=length And flag
If a(i)=ask Then
____④____
End If
i=i+1
Loop
If flag=True Then
translate=“”
Else
translate=b(i-1)
End If
End Function
(1)程序代码①处应该填入___________________________________。
(2)程序代码②处应该填入____________________________________。
(3)在程序代码③处补全Mid函数: __________________________。
(4)程序代码④处应该填入____________________________________。
(5)translate函数使用的查找算法是________(填对分查找/顺序查找)。
编写VB程序,实现如下功能:单击“输出”按钮Command1,在列表框List1中输出[100,999]之间能被9整除且至少有一位数字为9的所有整数。界面如图1所示。

(1)在设计应用程序界面时,应使用图2所示“控件工具箱”中的________(填写相应编号)添加“List1”框。
(2)为实现上述功能,请在划线处填入合适的代码或选项。
Dim s As Integer
Dim a As Integer,b As Integer,c AsInteger
s=____①____’(填程序代码)
List1.Clear
Do While s<=999
a=s\100
b=____②____’填字母:从下面A、B、C三个选项中选取一项
c=s Mod 10
If(a=9 Or b=9 Or c=9) And ____③____ Then ’(填程序代码)
List1.AddItem Str(s)
End If
s=s+1
Loop
划线②的选项:( )
A.s\10 Mod 10 B.s mod 100\10
C.s-a*100-c

(1)在设计应用程序界面时,应使用图2所示“控件工具箱”中的________(填写相应编号)添加“List1”框。
(2)为实现上述功能,请在划线处填入合适的代码或选项。
Dim s As Integer
Dim a As Integer,b As Integer,c AsInteger
s=____①____’(填程序代码)
List1.Clear
Do While s<=999
a=s\100
b=____②____’填字母:从下面A、B、C三个选项中选取一项
c=s Mod 10
If(a=9 Or b=9 Or c=9) And ____③____ Then ’(填程序代码)
List1.AddItem Str(s)
End If
s=s+1
Loop
划线②的选项:( )
A.s\10 Mod 10 B.s mod 100\10
C.s-a*100-c
有如下Visual Basic程序段:
A=“Happy new year!”
B=Len(A)\2
C=63 Mod 10
Text1.Text=Mid(A,B,C)
该程序运行后文本框text1显示的内容为( )
A=“Happy new year!”
B=Len(A)\2
C=63 Mod 10
Text1.Text=Mid(A,B,C)
该程序运行后文本框text1显示的内容为( )
A.3 | B.new |
C.B | D.Mid(A,7,3) |
以下程序的功能是随机生成20个1到100之间的正整数,用选择排序法将其按从大到小的顺序排列后输出。请将下列程序补充完整。
Private Sub Command1_Click()
Dim a(20) As Integer,i As Integer
Dim j As Integer,temp As Integer
Prin “排序前:”
For i=1 To 20
a(i)=Int(Rnd*100)+1
Print a(i);
Next i
Print
For i=1 To 19
For__①__ To 20
If __②__ Then
t=a(i)
a(i)=a(j)
③__
End If
Next j
Next i
Print“排序后:”
For i=1 To 20
Print a(i);
Next i
End Sub
(1)程序中划线处①应填入_______________________________________。
(2)程序中划线处②应填入_______________________________________。
(3)程序中划线处③应填入_______________________________________。
Private Sub Command1_Click()
Dim a(20) As Integer,i As Integer
Dim j As Integer,temp As Integer
Prin “排序前:”
For i=1 To 20
a(i)=Int(Rnd*100)+1
Print a(i);
Next i
For i=1 To 19
For__①__ To 20
If __②__ Then
t=a(i)
a(i)=a(j)
③__
End If
Next j
Next i
Print“排序后:”
For i=1 To 20
Print a(i);
Next i
End Sub
(1)程序中划线处①应填入_______________________________________。
(2)程序中划线处②应填入_______________________________________。
(3)程序中划线处③应填入_______________________________________。
小明设计了一个名为“购物街”的程序,该程序功能如下:程序开始运行时显示一张商品图片,变量x存储商品价格,在文本框“Text1”输入猜测的价格y,点击“确定”按钮,判断输入的价格y与商品价格x的大小关系,并给出提示。当输入的价格y大于或小于x时,在“猜测情况”Label5中分别显示“太大”或“太小”的提示信息,当输入的价格y等于x时在“猜测情况”Label5中显示“恭喜你猜对了!”同时“Command1”按钮变为不可用。在“Label4”显示剩余猜测次数,程序提供5次猜测机会,当猜测次数为零时“Command1”按钮变为不可用。运行界面如图所示:

图1
(1)应用程序界面设计时,为添加标签对象,应使用图1所示的“控件工具箱”中的________(填写相应编号)。代码“Private Sub Form_Load()”中的load指的是________事件。
(2)请根据题意将下列程序补充完整。
①处应填写的代码为:______________________________________
②处应填写的代码为:______________________________________
Dim x As Integer
Dim t As Integer
Private Sub Form_Load()
t=5 ’初始化猜测次数
x=14 ’初始化商品价格
Command1.Enabled=True
Label4.Caption=Str(t)
End Sub
Private Sub Command1_Click()
t=____①____
If t=0 Then
Command1.Enabled=False
End If
Label4.Caption=Str(t)
Dim y As Integer
y=Val(Text1.Text)
If ____②____ Then
Label5.Caption=“太大”
ElseIf y<x Then
Label5.Caption=“太小”
Else
Label5.Caption=“恭喜你对了!”
Command1.Enabled=False
End If
End Sub

图1
(1)应用程序界面设计时,为添加标签对象,应使用图1所示的“控件工具箱”中的________(填写相应编号)。代码“Private Sub Form_Load()”中的load指的是________事件。
(2)请根据题意将下列程序补充完整。
①处应填写的代码为:______________________________________
②处应填写的代码为:______________________________________
Dim x As Integer
Dim t As Integer
Private Sub Form_Load()
t=5 ’初始化猜测次数
x=14 ’初始化商品价格
Command1.Enabled=True
Label4.Caption=Str(t)
End Sub
Private Sub Command1_Click()
t=____①____
If t=0 Then
Command1.Enabled=False
End If
Label4.Caption=Str(t)
Dim y As Integer
y=Val(Text1.Text)
If ____②____ Then
Label5.Caption=“太大”
ElseIf y<x Then
Label5.Caption=“太小”
Else
Label5.Caption=“恭喜你对了!”
Command1.Enabled=False
End If
End Sub
编写“鞋码换算”程序,实现如下功能:在文本框 Text1 中输入脚长 n(单位:厘米),单击“换算”按钮 Command1,在标签 Label1 中显示相应鞋码,同时在列表框 List1 中显示与脚长对应的标准鞋码表。程序运行界面如图所示。

(1)如图所示,能生成运行界面中列表框的控件是( )
(2)实现上述功能的VB程序如下,请在划线处填写合适的代码。
Private Sub Command1_Click()
Dim n As Single, i As ① , c As Integer
List1.Clear
n =" Val(Text1.Text)"
If n - Int(n) > 0.5 Then
‘n小数部分大于0.5的加1,0.5及以下的加0.5
End If
c =" n" * 2 - 10
Label1.Caption = "适合你的鞋码为:" + Str(c)
For i = ③ To n+2 step 0.5
c = i*2-10
If Int(i) =" i" Then
List1.AddItem Str(i) + " " + Str(c)
Else
List1.AddItem Str(i) + " " + Str(c)
End If
Next i
End Sub

(1)如图所示,能生成运行界面中列表框的控件是( )
A.![]() | B.![]() | C.![]() | D.![]() |
Private Sub Command1_Click()
Dim n As Single, i As ① , c As Integer
List1.Clear
n =" Val(Text1.Text)"
If n - Int(n) > 0.5 Then

‘n小数部分大于0.5的加1,0.5及以下的加0.5
End If
c =" n" * 2 - 10
Label1.Caption = "适合你的鞋码为:" + Str(c)
For i = ③ To n+2 step 0.5
c = i*2-10
If Int(i) =" i" Then
List1.AddItem Str(i) + " " + Str(c)
Else
List1.AddItem Str(i) + " " + Str(c)
End If
Next i
End Sub
用VB编写的函数bubble_sort是一个用冒泡方法实现排序的函数,其调用时需要三个参数:布尔类型参数sx来确定是升序还是降序,sx为True时为升序,否则为降序;整数型数组a()是待排序的数据,数据从a(1)开始存放;整数型参数n表示传入的数组长度,该函数的返回值也是一个整数型数组。所以调用此函数实现排序非常方便:
比如有一个整数型数组a(1 to 10)需要降序排序,可以直接这样调用:
a()=bubble_sort(False,a(),10)
该函数VB代码如下:
Function bubble_sort(sx As Boolean,a() As Integer,n As Integer) As Integer()
Dim i,j,t As Integer
For i=1 To n-1
For j=____①____ Step-1
If ____②____ Then
If a(j)<a(j-1) Then t=a(j):a(j)=a(j-1):a(j-1)=t
Else
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
bubble_sort=a()
End Function
请将代码补充完整:
①___________________________________________。
②___________________________________________。
比如有一个整数型数组a(1 to 10)需要降序排序,可以直接这样调用:
a()=bubble_sort(False,a(),10)
该函数VB代码如下:
Function bubble_sort(sx As Boolean,a() As Integer,n As Integer) As Integer()
Dim i,j,t As Integer
For i=1 To n-1
For j=____①____ Step-1
If ____②____ Then
If a(j)<a(j-1) Then t=a(j):a(j)=a(j-1):a(j-1)=t
Else
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
bubble_sort=a()
End Function
请将代码补充完整:
①___________________________________________。
②___________________________________________。
在一次校园歌手大奖赛中,有20位评委负责评判,打分的上限是10分。统计选手得分时,去掉一个最高分,再去掉一个最低分,然后取评委打分的平均值作为选手的最后得分。根据上述规则,信息小组设计了计算选手得分的程序。核心部分的程序如下:
‘d数组中存放了20位评委的打分
Smax=0:smin=10:score=0
For i=1 To 20

Next i
score =" (" score – smax – smin )/18
Text1.Text= smax
Text2.Text= smin
Text3.Text= score
请分析任务和程序段,完成下列题目。
(1)程序段中出现的Text1、Text2、Text3是 类型的控件。(选填“A”或“B”)
(2)在设计用户界面时,要在启动计算过程的按钮上显示“计算”二字,应该将按钮的“ ”属性值设置为“计算”。
(3)为精确地显示选手的最后得分,变量score的数据类型应定义为 。
(4)程序执行过程中,程序段中虚线框内的代码将被执行 次。
(5)请分析程序,将程序段中虚线框内的空白处补充完整。
If
‘d数组中存放了20位评委的打分
Smax=0:smin=10:score=0
For i=1 To 20

Next i
score =" (" score – smax – smin )/18
Text1.Text= smax
Text2.Text= smin
Text3.Text= score
请分析任务和程序段,完成下列题目。
(1)程序段中出现的Text1、Text2、Text3是 类型的控件。(选填“A”或“B”)
A.列表框 | B.文本框 |
(3)为精确地显示选手的最后得分,变量score的数据类型应定义为 。
(4)程序执行过程中,程序段中虚线框内的代码将被执行 次。
(5)请分析程序,将程序段中虚线框内的空白处补充完整。
If