- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- + 循环语句
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
某对分查找算法的VB程序段如下:







Loop

数组元素a(1)到a(10)的值依次为“2,3,5,8,9,10,13,17,19,20”。在文本框Text l中输人待查找的数,执行该程序段,则文本框Text 2中显示的内容可能的是( )







Loop

数组元素a(1)到a(10)的值依次为“2,3,5,8,9,10,13,17,19,20”。在文本框Text l中输人待查找的数,执行该程序段,则文本框Text 2中显示的内容可能的是( )
A.9 3 | B.9 3 5 | C.9 17 19 13 | D.9 3 5 8 19 |
某省举办大型活动,面向省内城市招募有志愿服务工作经历的志愿者,每个志愿者的报名数据包含城市序号、姓名(字母缩写)和参加志愿服务的次数。现需整理报名数据,要求是:先按城市序号从小到大排列;然后,同一城市的志愿者按参加志愿服务的次数从多到少排列。
按上述要求,编写一个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 |
有如下VB程序段:
Dim i As Integer,c As String,s As String,t As String
s=“China2014IT”:t=“”
For i=1 To Len(s)
c=Mid(s,i,1)
If c>=“a” And c<=“z” Then t=t+c
Next i
Label1.Caption=t
该程序段运行后,标签Label1中显示的内容是( )
Dim i As Integer,c As String,s As String,t As String
s=“China2014IT”:t=“”
For i=1 To Len(s)
c=Mid(s,i,1)
If c>=“a” And c<=“z” Then t=t+c
Next i
Label1.Caption=t
该程序段运行后,标签Label1中显示的内容是( )
A.2014 | B.ChinaIT |
C.hina | D.CIT |
甲乙双方进行一场球类比赛,一局计分的规则是:赢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
采用拉锯式排序法对无序数组元素实现降序排序,即前一遍把最大的元素从右到左送到最左的位置,后一遍把最小的元素是从左到右送到最右的位置,实现该功能的 VB 程序段如下:

c = 1: s = 10
Do While c <= s
For i = s To c + 1 Step -1
If
Then
t = a(i - 1): a(i - 1) = a(i): a(i) = t
End If
Next i
For i =
If
Then
t = a(i + 1): a(i + 1) = a(i): a(i) = t
End If
Next i
c = c + 1
s = s - 1
Loop
上述程序段三个方框处的语句分别为( )

c = 1: s = 10
Do While c <= s
For i = s To c + 1 Step -1
If

t = a(i - 1): a(i - 1) = a(i): a(i) = t
End If
Next i
For i =

If

t = a(i + 1): a(i + 1) = a(i): a(i) = t
End If
Next i
c = c + 1
s = s - 1
Loop
上述程序段三个方框处的语句分别为( )
A.① a(i - 1) < a(i) ② c +1 To s – c ③ a(i) <a(i + 1) |
B.① a(i - 1) > a(i) ② c +2 To s – c ③ a(i) >a(i + 1) |
C.① a(i - 1) < a(i) ② c +1 To s – c-1 ③ a(i) <a(i + 1) |
D.① a(i - 1) > a(i) ② c+ 2 To s – c+1 ③ a(i) >a(i + 1) |
小明在VB中定义了以下函数,功能是求a和b的最大公约数。
Function gcd(a As Integer,b As Integer) As Integer
Do While b>0
c=a Mod b
a=b
b=c
Loop
End Function
调试中发现计算结果一直是0。经过仔细观察与分析,发现错误的原因是( )
Function gcd(a As Integer,b As Integer) As Integer
Do While b>0
c=a Mod b
a=b
b=c
Loop
End Function
调试中发现计算结果一直是0。经过仔细观察与分析,发现错误的原因是( )
A.函数名有错 | B.变量c没有定义 |
C.函数没有返回值 | D.b>0应该改为b>=0 |
某学校要进行年级优秀生表彰,需要对 n 人的优秀生单独排位置,每行 m 人。排队方阵规则:第 1 行从左向右坐,第 2 行从右向左坐,第 3 行从左向右坐,第 4 行从右向左坐……不断重复。最后一行如果人数不满 m 人,一律从左往右坐。VB 程序功能如下: Text1 输入 m 的值,确定每行坐的人数,单击按钮后,在 List2 列表框中显每位同学的位置,在 List3 列表框中显示每位同学的 4 位数位置编号(行号+列号),如下图所示。实现上述功能的 VB 代码如下:

依据上述描述设计如下 VB 程序:
Dim xh(1 To 100) As Integer , xm(1 To 100) As String, cj(1 To 100) As Integer Dim n As Integer, m As Integer
Private Sub Form_Load()

请回答下列问题:
(1) 在设计程序界面时,要清空文本框中的显示内容,应修改文本框的_____属性。
(2) 程序中加框处代码有误,请改正。 __________________________
(3) 请在①②③划线处填入适当的代码。
① __________________________________________
② _________________________________________
③ _________________________________________

依据上述描述设计如下 VB 程序:
Dim xh(1 To 100) As Integer , xm(1 To 100) As String, cj(1 To 100) As Integer Dim n As Integer, m As Integer
Private Sub Form_Load()
'本过程从数据库依次读取 n 位同学的序号、姓名及成绩,然后按成绩降序排序,将学生序号、姓名成绩存储在数组 xh 、xm、cj 中,结果显示在List1 中,
End Sub
请回答下列问题:
(1) 在设计程序界面时,要清空文本框中的显示内容,应修改文本框的_____属性。
(2) 程序中加框处代码有误,请改正。 __________________________
(3) 请在①②③划线处填入适当的代码。
① __________________________________________
② _________________________________________
③ _________________________________________
由 n 行数字组成的数字三角形如图所示。设计一个算法,对于由 n 行数字组成的数字三角形(数字范围[1,50],计算从三角形的顶至底的路径经过的数字和的最大值,每一步可以从当前点走到左下方的点也可以走到右下方的点。

寻求路径最大值的算法设计如下:
按三角形的行划分,若有n 行,则有n-1 个步骤
① 从底层开始,本身数即为最大值
② 倒数第二层的计算取决于底层的数据:
12+6=18,13+14=27,24+15=39,24+8=32;
③ 倒数第三层的计算取决于底二层的数据:
27+12=39,39+7=46,39+26=65;
④ 倒数第四层的计算取决于底三层的数据:
46+11=57,65+8=73;
⑤ 最后的路径:13—8—26—15—24 其和为 86。
根据上述算法描述,设计程序界面如下图所示,点击“生成金字塔”按钮,在列表框中生成数字金字塔,点击“寻求路径最大值”按钮,在文本框 text1 中输出最大值。

依据上述描述设计如下 VB 程序:
Const n = 5
Dim sx As String
Dim i, j, k, a(1 To 100) As Integer
Private Sub Command1_Click()
List1.Clear
For i = 1 To n
For j = 1 To i
End Sub
Private Sub Command2_Click()
For i = n To 1 Step -1
For j = 2 To i
__________
End Sub
请回答下列问题:
(1)若数字金字塔如图
,输出路径最大值是______________________。
(2)请在①②③划线处填入合适的代码。

寻求路径最大值的算法设计如下:
按三角形的行划分,若有n 行,则有n-1 个步骤
① 从底层开始,本身数即为最大值
② 倒数第二层的计算取决于底层的数据:
12+6=18,13+14=27,24+15=39,24+8=32;
③ 倒数第三层的计算取决于底二层的数据:
27+12=39,39+7=46,39+26=65;
④ 倒数第四层的计算取决于底三层的数据:
46+11=57,65+8=73;
⑤ 最后的路径:13—8—26—15—24 其和为 86。
根据上述算法描述,设计程序界面如下图所示,点击“生成金字塔”按钮,在列表框中生成数字金字塔,点击“寻求路径最大值”按钮,在文本框 text1 中输出最大值。

依据上述描述设计如下 VB 程序:
Const n = 5
Dim sx As String
Dim i, j, k, a(1 To 100) As Integer
Private Sub Command1_Click()
List1.Clear
For i = 1 To n
For j = 1 To i
__________
sx = sx + Str(a((i - 1) * n + j))
Next j
For k = n To i Step -1sx = " " + sx
Next k
List1.AddItem sx
sx = ""
Next iEnd Sub
Private Sub Command2_Click()
For i = n To 1 Step -1
For j = 2 To i
If__________Then
a((i - 2) * n + j - 1) = a((i - 1) * n + j - 1) + a((i - 2) * n + j - 1)Else
a((i - 2) * n + j - 1) = a((i - 1) * n + j) + a((i - 2) * n + j - 1)End If
Next j
Next i__________
End Sub
请回答下列问题:
(1)若数字金字塔如图

(2)请在①②③划线处填入合适的代码。