- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- + VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
小明根据如下流程图编写了VB程序,但运行时提示有错,请找出程序中的5个错误,并改正。

(1)错误语句的编号是_______。(2)修改为___________________________。
(2)错误语句的编号是_______。(2)修改为___________________________。
(3)错误语句的编号是_______。(2)修改为___________________________。
(4)错误语句的编号是_______。(2)修改为___________________________。
(5)错误语句的编号是_______。(2)修改为___________________________。

(1)错误语句的编号是_______。(2)修改为___________________________。
(2)错误语句的编号是_______。(2)修改为___________________________。
(3)错误语句的编号是_______。(2)修改为___________________________。
(4)错误语句的编号是_______。(2)修改为___________________________。
(5)错误语句的编号是_______。(2)修改为___________________________。
为使两段程序能实现相同的功能,左框内划线处的内容为( )



A.b =" x" \ 10 Mod 10 |
B.b =" (x" - a * 100) / 10 |
C.b =" (x" - a * 100) / 10 |
D.b =" Int((x" - a * 100 - c) / 10) |
为使下面两段Visual Basic程序能实现相同的功能,左框内划线处的内容为( )



A.b =" a" + b | B.a =" b" – a | C.b =" b" - a | D.b =" a" - b |
编写VB程序,实现如下功能: 单击“排序数组a”按钮Command1时,对已有数组a的数据进行升序排列,并显示在文本框Label1中;单击“显示数组b”按钮Command2时,将升序数组b的数据显示在文本框Label2中;再单击“合并a和b”按钮Command3时,对数组a和数组b升序合并到字符串中,将合并后的数据在文本框Label3中显示。(运行效果如图所示)。实现上述功能的VB代码如下, 请在划线处填入合适代码。

Dim a(1 To 6) As Integer
Dim b(1 To 6) As Integer
Private Sub Command1_Click() '对数组a中的数据进行排序
Dim i As Integer, j As Integer ,k as integer
a(1) =" 53" :a(2) =" 18:a(3)" =" 62:a(4)" =" 22:a(5)" =" 6:a(6)" = 25
s = ""
For i =" 1" To 5
k = i
For j =" i" + 1 To 6
If a(k) > a(j) Then ①
Next j
If i <> k Then
t =" a(k):" a(k) =" a(i):" a(i) = t
End If
Next i
For i =" 1" To 6
s =" s" + Str(a(i))
Next i
Label1.Caption = s
End Sub
Private Sub Command2_Click()
b(1) =" 3:" b(2) =" 8:" b(3) =" 15:" b(4) =" 27:" b(5) =" 38:" b(6) = 49
'此处部分代码省略
End Sub
Private Sub Command3_Click()
'将数组a和b中的数据逐个比较后添加到新的字符串s中,并将s在label3中显示
i =" 1:" j =" 1:" s = ""
Do While i <=" 6" ② j <= 6 '如果两数组都还有数据未合并
If ③ Then
s =" s" + Str(a(i)) : i =" i" + 1
Else
s =" s" + Str(b(j)) : j =" j" + 1
End If
Loop
Do While i <= 6 '只有数组a还有数据未合并
s =" s" + Str(a(i)) : i =" i" + 1
Loop
Do While j <= 6 '只有数组b还有数据未合并
s =" s" + Str(b(j)) : j =" j" + 1
Loop
Label3.Caption = s
End Sub

Dim a(1 To 6) As Integer
Dim b(1 To 6) As Integer
Private Sub Command1_Click() '对数组a中的数据进行排序
Dim i As Integer, j As Integer ,k as integer
a(1) =" 53" :a(2) =" 18:a(3)" =" 62:a(4)" =" 22:a(5)" =" 6:a(6)" = 25
s = ""
For i =" 1" To 5
k = i
For j =" i" + 1 To 6
If a(k) > a(j) Then ①
Next j
If i <> k Then
t =" a(k):" a(k) =" a(i):" a(i) = t
End If
Next i
For i =" 1" To 6
s =" s" + Str(a(i))
Next i
Label1.Caption = s
End Sub
Private Sub Command2_Click()
b(1) =" 3:" b(2) =" 8:" b(3) =" 15:" b(4) =" 27:" b(5) =" 38:" b(6) = 49
'此处部分代码省略
End Sub
Private Sub Command3_Click()
'将数组a和b中的数据逐个比较后添加到新的字符串s中,并将s在label3中显示
i =" 1:" j =" 1:" s = ""
Do While i <=" 6" ② j <= 6 '如果两数组都还有数据未合并
If ③ Then
s =" s" + Str(a(i)) : i =" i" + 1
Else
s =" s" + Str(b(j)) : j =" j" + 1
End If
Loop
Do While i <= 6 '只有数组a还有数据未合并
s =" s" + Str(a(i)) : i =" i" + 1
Loop
Do While j <= 6 '只有数组b还有数据未合并
s =" s" + Str(b(j)) : j =" j" + 1
Loop
Label3.Caption = s
End Sub
在VB程序设计中,若要修改窗体标题为“欢迎来到VB的世界!” (如下图所示),则应修改Form对象的( )属性值。


A.Font | B.Caption | C.Text | D.BorderStyle |
有一个报数游戏, n个人排成一圈,游戏开始时规定一个报数号m,然后从其中一个人开始按顺时针报数1,2,3……n,当某人报到的数为m的倍数时,即被淘汰,其他人继续游戏,直到最后。现用VB设计了一个程序,程序界面如下图所示。在文本框Text1中输入参加游戏的人数n,在文本框Text2中输入报数号m,单击“报数”按钮,即在列表框List1中显示每次被淘汰的人的顺序号。

实现上述功能的VB代码如下,但加框处有错,请改正。
Private Sub Command1_Click()
Dim n As Integer, m As Integer
Dim a(1 To 50) As Integer
n = Val(Text1.Text)
m = Val(Text2.Text)
For i =" 1" To n
'(1)
Next i
s =" 0:j" = 0
Do While s < n
t = 0
Do While t < m
'(2)
t =" t" + a(j)
Loop
a(j) = 0
s =" s" + 1
List1.AddItem "第" + Str(s) + "次:" + Str(j)
Loop
End Sub

实现上述功能的VB代码如下,但加框处有错,请改正。
Private Sub Command1_Click()
Dim n As Integer, m As Integer
Dim a(1 To 50) As Integer
n = Val(Text1.Text)
m = Val(Text2.Text)
For i =" 1" To n

Next i
s =" 0:j" = 0
Do While s < n
t = 0
Do While t < m

t =" t" + a(j)
Loop
a(j) = 0
s =" s" + 1
List1.AddItem "第" + Str(s) + "次:" + Str(j)
Loop
End Sub
编写VB程序,实现如下功能:在文本框Text1中输入十进制数,单击“转换”按钮Command1,在列表框List1中输出对应的十六进制数,运行界面如图a所示,程序代码如下。

图a 图b
(1)在设计程序界面时,应使用图b所示的“控件工具箱”中的 ________(填写相应编号)添加列表框。
(2)为实现上述功能,请在划线处填入合适的代码。
Private Sub Command1_Click()
Const code = "0123456789ABCDEF"
Dim s1 As String, s As String, t As String
Dim a As Integer
Dim f As Boolean
Dim x As Long
t = Text1.Text
a = Len(t)
__________
For i = 1 To a
c = Mid(t, i, 1)
If c < "0" Or c > "9" Then f = False
Next i
If f Then
x = Val(t)
s = ""
Do While x > 0
y = x Mod 16
x = x \ 16
s1 = Mid(code, y + 1, 1)
_________
Loop
List1.AddItem "(" & Text1.Text & ")10" & "-->(" & s & ")16"
Else
List1.AddItem "(" & Text1.Text & ")10" & "-->不是十进制数"
End If
End Sub
(3)若在文本框Text1中输入“63”,则单击“转换”按钮后s的值为:________。


图a 图b
(1)在设计程序界面时,应使用图b所示的“控件工具箱”中的 ________(填写相应编号)添加列表框。
(2)为实现上述功能,请在划线处填入合适的代码。
Private Sub Command1_Click()
Const code = "0123456789ABCDEF"
Dim s1 As String, s As String, t As String
Dim a As Integer
Dim f As Boolean
Dim x As Long
t = Text1.Text
a = Len(t)
__________
For i = 1 To a
c = Mid(t, i, 1)
If c < "0" Or c > "9" Then f = False
Next i
If f Then
x = Val(t)
s = ""
Do While x > 0
y = x Mod 16
x = x \ 16
s1 = Mid(code, y + 1, 1)
_________
Loop
List1.AddItem "(" & Text1.Text & ")10" & "-->(" & s & ")16"
Else
List1.AddItem "(" & Text1.Text & ")10" & "-->不是十进制数"
End If
End Sub
(3)若在文本框Text1中输入“63”,则单击“转换”按钮后s的值为:________。
小刘在玩一个数字游戏,给定一个n位正整数(n<=20),根据设定的保留位数,舍去一部分数字,剩下的数字按原次序组成一个最大的新数。例如原数34625803,保留4位,最大数为6803。算法是:先确定最高位的数字,在第1位至最后3位数字前的34625中找到最大的数6,从而确定最高位是6,再确定次高位的数字,从6后面的数开始到最后2位数字前的258中找到最大数8,确定次高位是8,依次找下去得到最大新数。他设计了一个VB程序来进行验证,在文本框Text1中输入一个n位正整数,在文本框Text2中输入保留的位数,点击“确定”按钮,在文本框Text3中输出保留的最大新数。程序运行界面如图所示。

(1)如果输入的原数是3635132,保留4位数字,则输出的新数是 。
(2)实现上述功能的VB代码如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim a(1 To 20) As String
Dim ys As String, xs As String 'xs记录最大的新数
Dim k As Integer, h As Integer, n As Integer
Dim i As Integer, j As Integer
Dim F As Boolean
xs = ""
ys = Text1.Text
n = Len(ys)
k = Val(Text2.Text)
F = True
If ys = "" Or n > 20 Or k =" 0" Or k > n Then
Label4.Caption = "输入的原数或保留位数不符,请重输!"
F = False
End If
For i =" 1" To n
①
If a(i) < "0" Or a(i) > "9" Then
Label4.Caption = "输入的原数不是数字,请重输!"
Text1.Text = ""
F = False
End If
Next i
If F =" True" Then
h = 1
For i =" 1" To k
For j =" h" To ②
If a(j) > a(h) Then h = j
Next j
xs =" xs" + a(h)
h =" h" + 1
Next i
Text3.Text = xs
End If
End Sub

(1)如果输入的原数是3635132,保留4位数字,则输出的新数是 。
(2)实现上述功能的VB代码如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim a(1 To 20) As String
Dim ys As String, xs As String 'xs记录最大的新数
Dim k As Integer, h As Integer, n As Integer
Dim i As Integer, j As Integer
Dim F As Boolean
xs = ""
ys = Text1.Text
n = Len(ys)
k = Val(Text2.Text)
F = True
If ys = "" Or n > 20 Or k =" 0" Or k > n Then
Label4.Caption = "输入的原数或保留位数不符,请重输!"
F = False
End If
For i =" 1" To n
①
If a(i) < "0" Or a(i) > "9" Then
Label4.Caption = "输入的原数不是数字,请重输!"
Text1.Text = ""
F = False
End If
Next i
If F =" True" Then
h = 1
For i =" 1" To k
For j =" h" To ②
If a(j) > a(h) Then h = j
Next j
xs =" xs" + a(h)
h =" h" + 1
Next i
Text3.Text = xs
End If
End Sub

下列Visual Basic表达式的值等于56的是
A.Mid("1234567",5,3) |
B.Len("55") + 1 |
C.Sqr(56) |
D.Abs(-55) + 1 |