- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- + 面向对象程序设计 VB开发工具
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
小明在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 |
运行如下VB程序:
Private Sub Command1_Click( )
Dim x As Integer
Dim y As String
x=Val(Text1.Text)
If x>=95 Then
y=“非常满意”
ElseIf x>=80 Then
y=“满意”
ElseIf x>=60 Then
y=“基本满意”
Else
y=“不满意”
End If
Label1.Caption=y
End Sub
在文本框Text1中输入50,单击命令按钮Command1后,在标签Label1中显示( )
Private Sub Command1_Click( )
Dim x As Integer
Dim y As String
x=Val(Text1.Text)
If x>=95 Then
y=“非常满意”
ElseIf x>=80 Then
y=“满意”
ElseIf x>=60 Then
y=“基本满意”
Else
y=“不满意”
End If
Label1.Caption=y
End Sub
在文本框Text1中输入50,单击命令按钮Command1后,在标签Label1中显示( )
A.非常满意 | B.满意 |
C.基本满意 | D.不满意 |
某学校要进行年级优秀生表彰,需要对 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) 请在①②③划线处填入适当的代码。
① __________________________________________
② _________________________________________
③ _________________________________________
某算法部分流程图如图所示。执行这部分流程,依次输入:22、29、38、47、16、33、37、28、55、18、28 则输出值是( )


A.2 | B.4 | C.6 | D.8 |
下列表达式的值不等于 6 的是( )
A.Int(6.9) | B.Len("我和我的祖国") |
C.Sqr(Abs(Int(-35.6))) | D.Asc("K") - Asc("F") |
由 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)请在①②③划线处填入合适的代码。
进制转换。将一个K进制数(K<=10)x转换成十进制数可采用如下方法:从右向左,依次取数x的各位数字,分别计算出该数从右边数起的第i位数字与k(i-1)的积,再将其累加,直到所有的数字取完为止。例如,将二进制数1101转换成十进制数的方法如下:
(1101)2=1×20+0×21+1×22+1×23=(13)10
下列Visual Basic程序的功能是将K进制数x转换成十进制数。程序运行界面如图所示,在文本框Text1中输入数制k,在文本框Text2中输入数x,单击"转换"按钮(Command1)后,在标签Label1中输出转换的结果。

(1)代码“Command1_Click()”中的Click是________(选填字母:
(2)实现上述功能的VB程序如下,请在划线①处填入合适代码,②处代码有误,请修改。
Private Sub Command1_Click()
Dim b As Long, i As Integer, k As Integer, x As String, t As String
b = 0
k = Val(Text1.Text)
x = Text2.Text
n = ①___________
i = 1
Do While i <= n
t = Val(Mid(x, n - i + 1, 1))
b = b + k ^ (i - 1) ‘②处修改___________________
i = i + 1
Loop
Label1.Caption = Str(k) + "进制数" + Text2.Text + "转换成十制数为" + Str(b)
End Sub
(3)运行该程序,在文本框Text1中输入5,文本框Text2中输入1423,单击“转换”按钮,则Label1中显示的值是_____________________。
(1101)2=1×20+0×21+1×22+1×23=(13)10
下列Visual Basic程序的功能是将K进制数x转换成十进制数。程序运行界面如图所示,在文本框Text1中输入数制k,在文本框Text2中输入数x,单击"转换"按钮(Command1)后,在标签Label1中输出转换的结果。

(1)代码“Command1_Click()”中的Click是________(选填字母:
A.属性名/ | B.事件名/ | C.方法名/ | D.事件处理过程) |
Private Sub Command1_Click()
Dim b As Long, i As Integer, k As Integer, x As String, t As String
b = 0
k = Val(Text1.Text)
x = Text2.Text
n = ①___________
i = 1
Do While i <= n
t = Val(Mid(x, n - i + 1, 1))
b = b + k ^ (i - 1) ‘②处修改___________________
i = i + 1
Loop
Label1.Caption = Str(k) + "进制数" + Text2.Text + "转换成十制数为" + Str(b)
End Sub
(3)运行该程序,在文本框Text1中输入5,文本框Text2中输入1423,单击“转换”按钮,则Label1中显示的值是_____________________。