- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- + 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
在 Visual Basic 程序中要用到存储范围为-150000~150000 的某一整数变量,则该变量的类型应该定义为
A.Integer | B.Long | C.Single | D.Boolean |
某对分查找算法的部分VB程序如下:


数组a(1)到a(12)的值依次为“99,91,85,76,68,61,53,42,34,27,20,13”,执行该程序段后,下列说法正确的是


数组a(1)到a(12)的值依次为“99,91,85,76,68,61,53,42,34,27,20,13”,执行该程序段后,下列说法正确的是
A.该程序段只能进行两位正整数的查找 |
B.在文本框Text1中输入两位任意正整数,则k的值介于1和3之间 |
C.在文本根Text1中输入76,程序执行后变量i和j的值分别为1和6 |
D.若文本框Text2中显示了两个正整数,则文本框Text3中显示的内容一定是Y |
数塔问题。一组数字构成如图a所示的数塔,从数塔顶层出发,每个结点可以选择移动至左下方或右下方结点,一直走到塔底为1条路径。求从数塔顶层到塔底各条路径上数字和的最大值。
解决此问题可采用自底至顶分析的方法。如图a所示的数塔中,先从第3层开始分析:如果路径经过第3层的第1个数字12,那么从12到尾结点的路径上数字之和的最大值是当前结点值加上该结点左下方、右下方结点中的较大值,记作f(3,1)=12+14:同理,f(3,2)=7+15,f(3,3)=26+15;再分析第2层,计算f(2,1)、f(2,2);最后计算出第一层f(1,1),即为所求结果。
(1)如图a所示数塔各条路径上的数字和的最大值为___________。

(2)编写VB程序,运行界面如图b所示,程序代码如下,请在划线处填入合适的代码,将程序补充完整。
Const n =5
Dim a(1 To n^2) As Integer ’ 数组a存储数塔数据,存储结构如图c所示
Dim f(1 To n^2) As Integer ’ 数组f存储从第i层第J个数到底层尾结点的最大数字之和,其存储结构与数组a一样
Private Sub Command l_Click()
’生成数塔,将数据存入a数组中,代码略

①___________________________________
②__________________________________
③__________________________________
解决此问题可采用自底至顶分析的方法。如图a所示的数塔中,先从第3层开始分析:如果路径经过第3层的第1个数字12,那么从12到尾结点的路径上数字之和的最大值是当前结点值加上该结点左下方、右下方结点中的较大值,记作f(3,1)=12+14:同理,f(3,2)=7+15,f(3,3)=26+15;再分析第2层,计算f(2,1)、f(2,2);最后计算出第一层f(1,1),即为所求结果。
(1)如图a所示数塔各条路径上的数字和的最大值为___________。

(2)编写VB程序,运行界面如图b所示,程序代码如下,请在划线处填入合适的代码,将程序补充完整。
Const n =5
Dim a(1 To n^2) As Integer ’ 数组a存储数塔数据,存储结构如图c所示
Dim f(1 To n^2) As Integer ’ 数组f存储从第i层第J个数到底层尾结点的最大数字之和,其存储结构与数组a一样
Private Sub Command l_Click()
’生成数塔,将数据存入a数组中,代码略

①___________________________________
②__________________________________
③__________________________________
某班师生玩一个游戏,n(n 不超过 1000)个同学站成一圈,逆时针编号为 l - n,有两个老师 A 和 B,A 老师从 1 开始逆时针数 k 个同学,B 老师从 n 开始顺时针数 m 个同学(注意 A,B 老师可能数到同一个学生),被老师选中的 1 个或 2 个学生离开圈子,剩下的学生继续。
程序开始时在 Text1 中输入同学数 n,在 Text2 中输入 k 的值,在 Text3 中输入 m 的值,点击“开始” 按钮,在 label5 中显示依次出圈的学生编号。程序运行如图所示:

VB 程序如下,请将按要求答题:
Dim stu(1 To 1000) As Integer
Dim n As Integer
Private Sub Command1_Click()
stup1 = n: stup2 = 1
For i = 1 To n
stu(i) = i Next i
Do While left > 0
stup1 = teachount(stup1, 1, k)
stup2 =
Label5.Caption = Label5.Caption & " " & Str(stup1)
left = left - 1
If ② Then
Label5.Caption = Label5.Caption & " " & Str(stup2)
left = left - 1
End If stu(stup1) = 0
'f=1 表示逆时针数 c 个,f=-1 表示顺时针数 c 个
Function teachount(ByVal p As Integer, ByVal f As Integer, ByVal c As Integer) As Integer
Do While c > 0
③
Do While stu(p) = 0
End Function
(1)加框处的语句有错误,请改正:______________________________________________
(2)请将①处的语句补充完整:______________________________________________
(3)请将②处的语句补充完整:______________________________________________
(4)请将③处的语句补充完整:______________________________________________
程序开始时在 Text1 中输入同学数 n,在 Text2 中输入 k 的值,在 Text3 中输入 m 的值,点击“开始” 按钮,在 label5 中显示依次出圈的学生编号。程序运行如图所示:

VB 程序如下,请将按要求答题:
Dim stu(1 To 1000) As Integer
Dim n As Integer
Private Sub Command1_Click()
Dim left, k, m As Integer
Dim stup1, stup2 As Integer
n = Val(Text1.Text)
k = Val(Text2.Text)
m = Val(Text3.Text)
①stup1 = n: stup2 = 1
For i = 1 To n
stu(i) = i Next i
Do While left > 0
stup1 = teachount(stup1, 1, k)
stup2 =

Label5.Caption = Label5.Caption & " " & Str(stup1)
left = left - 1
If ② Then
Label5.Caption = Label5.Caption & " " & Str(stup2)
left = left - 1
End If stu(stup1) = 0
stu(stup2) = 0
Loop
End Sub'f=1 表示逆时针数 c 个,f=-1 表示顺时针数 c 个
Function teachount(ByVal p As Integer, ByVal f As Integer, ByVal c As Integer) As Integer
Do While c > 0
③
Do While stu(p) = 0
p = (p + f + n - 1) Mod n + 1
Loopc = c - 1
Loop teachount = pEnd Function
(1)加框处的语句有错误,请改正:______________________________________________
(2)请将①处的语句补充完整:______________________________________________
(3)请将②处的语句补充完整:______________________________________________
(4)请将③处的语句补充完整:______________________________________________
某对分查找算法的 VB 程序段如下:
i=1:j=8:s=""
key=Text1.Text
Do While i<=j
m=(i+j)\2
If key=a(m) Then
s=s+"M"
Exit Do
Elseif Key >a(m) Then
j=m-1:s=s+"L"
Else
i=m+1: s=s+"R" End if
Loop Text1.Text=s
数组元素 a(1)到 a(8)的值依次为“tiger,snake,sheep,rabbit,pig,mouse,monkey,dog”,若该程序段执行后,文本框 Text1 中显示的内容不可能是()
i=1:j=8:s=""
key=Text1.Text
Do While i<=j
m=(i+j)\2
If key=a(m) Then
s=s+"M"
Exit Do
Elseif Key >a(m) Then
j=m-1:s=s+"L"
Else
i=m+1: s=s+"R" End if
Loop Text1.Text=s
数组元素 a(1)到 a(8)的值依次为“tiger,snake,sheep,rabbit,pig,mouse,monkey,dog”,若该程序段执行后,文本框 Text1 中显示的内容不可能是()
A.RLM | B.LR | C.RM | D.LM |
某省举办大型活动,面向省内城市招募有志愿服务工作经历的志愿者,每个志愿者的报名数据包含城市序号、姓名(字母缩写)和参加志愿服务的次数。现需整理报名数据,要求是:先按城市序号从小到大排列;然后,同一城市的志愿者按参加志愿服务的次数从多到少排列。
按上述要求,编写一个VB程序,功能如下:在列表框List 1中显示整理前的数据,单击“整理”按钮Command 1,整理结果显示在列表框List 2中,程序运行界面如图所示。

(1)将数组元素q(1)到q(200)分为10段,如果每段恰好包含20个元素,采用选择排序算法分别对每段中的元素进行排序,整个排序过程中,数组元素之间的比较次数是________(单选,填字母:
(2)请在划线处填入合适的代码。
报名总人数
城市数
,
,
存储每个城市的报名人数


Private Sub Form_Load()
本过程读取城市序号,姓名和参加次数的数据分别存储在数组city;pname和times中,
并在List 1中显示,代码略
End Sub
Private Sub Command 1_Click()
Dim i As Integer,j As Integer,k As Integer,t As Integer,pos As Integer


Next i
统计每个城市报名人数
①

Next i




Next i


②

Next i

对各城市报名数据按参加志愿服务的次数进行排序



Next j

Next i

List 2.AddItem " " & city(q(i))& " " & pname(q(i))& " " & times(q(i))
Next i
End Sub
Function fp(head As Integer,tail As Integer)As Integer
Dim i As Integer,k As Integer

③

Next i

End Function
按上述要求,编写一个VB程序,功能如下:在列表框List 1中显示整理前的数据,单击“整理”按钮Command 1,整理结果显示在列表框List 2中,程序运行界面如图所示。

(1)将数组元素q(1)到q(200)分为10段,如果每段恰好包含20个元素,采用选择排序算法分别对每段中的元素进行排序,整个排序过程中,数组元素之间的比较次数是________(单选,填字母:
A.![]() | B.![]() | C.![]() |








Private Sub Form_Load()
本过程读取城市序号,姓名和参加次数的数据分别存储在数组city;pname和times中,
并在List 1中显示,代码略
End Sub
Private Sub Command 1_Click()
Dim i As Integer,j As Integer,k As Integer,t As Integer,pos As Integer


Next i

①

Next i




Next i


②

Next i





Next j

Next i

List 2.AddItem " " & city(q(i))& " " & pname(q(i))& " " & times(q(i))
Next i
End Sub
Function fp(head As Integer,tail As Integer)As Integer
Dim i As Integer,k As Integer



Next i

End Function
有如下VB程序段:




Next i
数组元素a(1)到a(5)的值依次为“1,3,4,2,3”,执行该程序段后,变量s的值为( )




Next i
数组元素a(1)到a(5)的值依次为“1,3,4,2,3”,执行该程序段后,变量s的值为( )
A.7 | B.12 | C.13 | D.15 |
甲乙双方进行一场球类比赛,一局计分的规则是:赢1球得1分,用“1”表示;输1球失1分,用“0”表示。当任一方得分大于等于6分,且领先对方2分及以上,领先方赢一局。如甲选手一局比赛数据为“101110101”,表示甲选手得6分失3分,局比分
。
小王用一个字符串记录了甲选手多局比赛数据,其中有一处错误,位于连续多个“0”的最后一个。为了找出错误,小王的处理方法如图a所示,对示例中疑似错误位置6和20分别修改数据,并统计每局比分。他编写了VB程序,功能如下:在窗体Form l的文本框Text l中输入记录数据,单击“分析”按钮Command 1,在列表框List 1中输出修改位置以及修改后每局的比分。程序运行界面如图b所示。
(1)下列对象中有Text属性的是________(单选,填字母:
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
(3)程序中加框处代码有错,请改正。

图a 图b
Private Sub Command 1_Click()
Dim sp As String,s As String s s存储甲选手多局比赛的记录数据,长度小于50
Dim a(1 To 50)As Integer,e(1 To 20)As Integer
Dim I As Integer,j As Integer,k As Integer,n As Integer,m As Integer
Dim fl As Integer,f2 As Integer



( ① )
Next i



找出疑似错误位置

Loop
If ② Then

End If

Loop
对每个疑似错误位置分别修改数据,并统计每局比分






If
Then


End If
Next j

List 1.AddItem sp
③
Next i
End Sub

小王用一个字符串记录了甲选手多局比赛数据,其中有一处错误,位于连续多个“0”的最后一个。为了找出错误,小王的处理方法如图a所示,对示例中疑似错误位置6和20分别修改数据,并统计每局比分。他编写了VB程序,功能如下:在窗体Form l的文本框Text l中输入记录数据,单击“分析”按钮Command 1,在列表框List 1中输出修改位置以及修改后每局的比分。程序运行界面如图b所示。
(1)下列对象中有Text属性的是________(单选,填字母:
A.Command 1/ | B.Form 1/ | C.Text 1)。 |
(3)程序中加框处代码有错,请改正。


图a 图b
Private Sub Command 1_Click()
Dim sp As String,s As String s s存储甲选手多局比赛的记录数据,长度小于50
Dim a(1 To 50)As Integer,e(1 To 20)As Integer
Dim I As Integer,j As Integer,k As Integer,n As Integer,m As Integer
Dim fl As Integer,f2 As Integer




Next i





Loop
If ② Then

End If

Loop







If



End If
Next j

List 1.AddItem sp
③
Next i
End Sub