- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- + 面向对象程序设计 VB开发工具
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
下列控件中可用于接受用户输入文本,又可用于显示文本的是( )。
A.Label 控件 | B.TextBox 控件 |
C.Timer 控件 | D.CommandButton 控件 |
计算机在存储数字字符时,1个字符占1个字节(8位),现在有如下算法可以对数字字符的存储进行压缩:以每2个数字字符为一组,将其组成一个两位的十六进制数(如输入的“41”组成十六进制数41H),再转换为对应的ASCII字符进行存储。(注意:ASCII的最大值为127D,所以2个数字字符为一组时,第1个字符必须小于8,否则不合法)
例如:
小波用Visual Basic 6. 0软件编写了一个压缩程序,功能如下:在文本框Text1中输入需压缩数据(偶数个字符),单击“压缩”按钮,程序对压缩数据依次进行压缩处理,压缩数据显示在文本框Text2中。程序运行界面如图所示:

(1)结合程序代码,命令按钮“压缩”的对象名是_________________
(2)为实现上述功能,请在程序划线处填入合适的代码。
Private Sub cm1_Click()
Dim s1 As String,s2 As String,c1 As String,c2 As String
Dim i As Integer,k As Integer
s1 = Text1. Text
For i = 1 To Len(s1) Step 2
Exit For ‘跳出For循环
s2 = s2 + Chr(k) ‘ Chr函数的作用,将ASCII码转换为字符,例Chr(65) = “A”
Text2. Text = s2
End Sub
(3)若在文本框Text1中输入“61A2”,单击“压缩”按钮后,变量i的值为_________(单选,填字母:
例如:
输入 | 输出 |
414243 | ABC |
758927 | 不合法 |
小波用Visual Basic 6. 0软件编写了一个压缩程序,功能如下:在文本框Text1中输入需压缩数据(偶数个字符),单击“压缩”按钮,程序对压缩数据依次进行压缩处理,压缩数据显示在文本框Text2中。程序运行界面如图所示:

(1)结合程序代码,命令按钮“压缩”的对象名是_________________
(2)为实现上述功能,请在程序划线处填入合适的代码。
Private Sub cm1_Click()
Dim s1 As String,s2 As String,c1 As String,c2 As String
Dim i As Integer,k As Integer
s1 = Text1. Text
For i = 1 To Len(s1) Step 2
c1 = Mid(s1,i,1)
______________If c1 >= “8” Then
s2 = “不合法”Exit For ‘跳出For循环
Else
k = _____________s2 = s2 + Chr(k) ‘ Chr函数的作用,将ASCII码转换为字符,例Chr(65) = “A”
End If
Next iText2. Text = s2
End Sub
(3)若在文本框Text1中输入“61A2”,单击“压缩”按钮后,变量i的值为_________(单选,填字母:
A.3 / | B.4 / | C.5 / | D.程序错误)。 |
下列VB表达式的值最大的是( )
A.Int(Sqr(50)) |
B.15 \ 10 Mod 5 |
C.Val(Mid(“201906”,6,1)) |
D.Len(“5+3”) |
能得到一个大于等于20且小于50的随机整数的VB表达式是( )
A.Int(rnd*50)-20 | B.Int(rnd*30)+20 |
C.Int(rnd*31)+20 | D.Int(rnd*30)+1 |
在Visual Basic中,若x是正整数能被3整除,则下列逻辑表达式值一定为真的是___ 。
A.x Mod 3 = 1 | B.x Mod 3 = 2 |
C.x Mod 3 = 0 | D.x Mod 3 = 3 |
某算法的部分流程图如图所示,执行这部分流程,输出s的值为24,流程图中①处不可能为( )


A.s<=24? | B.s<24? | C.a<=11? | D.a<14? |
有如下VB程序段:
a(1) = 1:a(2) =1:b(1) =1:b(2) = 2
For i = 3 To 5
执行该程序段后,数组元素b(5)的值为( )
a(1) = 1:a(2) =1:b(1) =1:b(2) = 2
For i = 3 To 5
a(i) = a(i-1) + a(i-2)
b(i) = b(i-1) + a(i)
Next i执行该程序段后,数组元素b(5)的值为( )
A.4 | B.5 | C.8 | D.12 |
在数组a中按顺序找出一组升序子序列,可以不连续,但要求长度最长。例如:数组a的值分别为2,11,4,13,5,7。升序子序列分别有[2,11]、[2,4]、[2,11,13]、[2,4,13]、[2,4,5]、
[2,4,5,7]、[11,13]、[4,13]、[4,5]、[4,5,7]、[5,7],其中最长升序子序列的数据是2,4,5,7。

(1)观察上图,最长升序子序列的数据是____________________________。
(2)请在划线处填入合适的代码。
Const n = 9
Dim a(1 To n) As Integer
Private Sub Form_Load()
Private Sub Command1_Click()
Dim d(1 To n) As Integer ‘记录i位置的最长升序子序列长度
Dim pre(1 To n) As Integer ‘记录i结尾的最长升序子序列前一数据的位置
Dim st As String,i As Integer,k As Integer,maxlen As Integer
For i = 1 To n
For i = 2 To n
d(i) = ___________
pre(i) = j
End If
maxlen = 0:k = 0
For i = 1 To n
Do While k <> 0
Text1. Text = Mid(st,1,Len(st)-1)
End Sub
[2,4,5,7]、[11,13]、[4,13]、[4,5]、[4,5,7]、[5,7],其中最长升序子序列的数据是2,4,5,7。
算法思路如下:
(1)求以a(i)为结尾元素的最长升序子序列时,找到所有序号j(j=1,2……i-1),且a(j)<a(i)。
如果这样的元素存在,且d(j)>=d(i)(d(i)记录i位置的最长升序子序列长度),那么就增加i位置的最长升序子序列长度,并记录该升序子序列倒数第二个位置。(2)在d数组中找出最大值,即最长升序子序列长度。
(3)例如,2、11、4、13、5、7,d(1)=1,d(2)=2,d(3)=2,d(4)=3,d(5)=3,d(6)=4,所以最长升序子序列长度为4,是以a(6)为结尾元素。
现设计了如下VB程序,界面如图所示,请回答下列问题:

(1)观察上图,最长升序子序列的数据是____________________________。
(2)请在划线处填入合适的代码。
Const n = 9
Dim a(1 To n) As Integer
Private Sub Form_Load()
‘生成n个[1,10]范围的随机数,存储在a数组,并显示在列表框List1。代码略
End SubPrivate Sub Command1_Click()
Dim d(1 To n) As Integer ‘记录i位置的最长升序子序列长度
Dim pre(1 To n) As Integer ‘记录i结尾的最长升序子序列前一数据的位置
Dim st As String,i As Integer,k As Integer,maxlen As Integer
For i = 1 To n
d(i) = 1
Next iFor i = 2 To n
For j = 1 To i-1
If a(j) < a(i) And d(j) >= d(i) Thend(i) = ___________
pre(i) = j
End If
Next j
Next imaxlen = 0:k = 0
For i = 1 To n
If ___________ Then maxlen = d(i):k = i
Next iDo While k <> 0
st = a(k) & "," & st
_____________
LoopText1. Text = Mid(st,1,Len(st)-1)
End Sub