- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- + 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
例如:
输入 | 输出 |
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.程序错误)。 |
A.Int(rnd*50)-20 | B.Int(rnd*30)+20 |
C.Int(rnd*31)+20 | D.Int(rnd*30)+1 |
[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

(1)要使窗体Form1标题显示“数制转换”,则需修改窗体的________(单击,填字母:A.Font/B.Caption/C.BackColor)属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim x As String, ch As String
Dim flag As Boolean, i As Integer, result As Long
x=_________
i=1
result=0
flag=True
ch=Mid(x,1,1)
Do While i <=Len(x) And flag=True
If ch>= “0” And ch<= “9” Then
result=result * 16+Val(ch)
ElseIf ch>= “A” And ch <= “F” Then
result=result * 16+(Asc(ch)-Asc (“A”)+10)
ElseIf ch>= “a” And ch <= “f” Then
result=result * 16+(Asc(ch)-Asc (“a”)+10)
Else
flag=False
End If
i=i+1
ch=_________
Loop
If flag=True Then
Label3.Caption=Str(result)Else
Label3.Caption= “输入错误”End If
End Sub(3)若在文本框Text1中输入5+9,单击“转换”按钮后,标签Label3中显示的内容是______(单选,填字母:A.14/B.E/C.输入错误)。

(1)要使程序运行时,按钮Command1上的文字显示为“计算”,可在___________事件过程中添加语句Command1. Caption="计算"。
(单选,填字母:
A.Command1_Click / | B.Form_Load / | C.Command1_DblCkick)。 |
PrivateSubCommand1_Click()
Dim s As String,max As Integer
Dim t As Integer,I As Integer
max=0:t=1
s=Text1. Text
i=1
Do While i <= Len(s)-1
If Val(Mid(s,i,1)) < ___________Then
t=t+1Else
If t > max Then max = t______________
End If
i=i+1
Loop
If t > max Then max = t
Label3. Caption = Str(max)
End Sub(3)如果删除加框处代码,并运行程序,在文本框Text1中输入“123423416789”,单击“计算”按钮,则标签框Label3中显示的内容为__________________。
A.Int (Rnd * 99) | B.10 + Int (Rnd * 99) |
C.10 + Int (Rnd * 89) | D.10 + Int (Rnd * 90) |

(1)为方便调试,要让程序每次运行时文本框Text1中的初始内容为“ab12*{}78ab12()778ab34”,应修改文本框Text1的________属性。
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private sub command1_click()
Dim a(0 to 9) as integer ’数组元素a(i)中存放数字i的个数
Dim s as string , ch as string
Dim t as integer
For i=0 to 9
a(i)=0
next i
s=text1.text
for i=1 to len(s)
①____________
if ch>=”0”and ch<=”9” then
t= ②________
a(t)= a(t)+1
end if
next i
list1.clear
for i=1 to 9
if a(i)<>0 then
list1.additem ”数字:”+str(i)+ ”,共有”+ str(a(i))+ ”个”
end if
next i
end sub
(3)与上述程序中加框处代码运行效果等价的条件表达式可以是________。
A.Sqr(25)+25 Mod 10+15 | B.Len("20+5") |
C.Abs(-26)+1 | D.Int(24.8) |
Private Sub command1_click( )
Dim X, N As IntegerDim count As Integer ' count用来保存能被6整除余2的数据的个数
Randomize Timer ' 随机数初始化,以时钟为随机数种子
For N = 1 To 50
X = ___________ + int(Rnd * 40) ' 随机产生50个60~100的随机数
If X Mod 6 = 2 Then
List1.AddItem Str(X)
_______________
End IfNext N
Label1.Caption = str (count)End Sub


(1)在应用程序界面设计时,要为窗口添加标题,需要修改图2所示的属性窗口中的____________项为“字符转换”。
(2)为实现上述功能, 请在划线处填入合适代码或选项。
Private Sub Command1_Click()
Dim ch As String, sh As String
Dim i As Integer, j As Integer
ch = Text1.Text
For i = 1 To _______ '从第一个字符到最后一个字符进行循环判断
j = Asc______________) '(填字母:从下列A、B、C三个选项中选取一项)
If j > 96 And j < 123 Then
sh = sh + Chr(j - 32)
Else
sh = sh + Chr(j)
End If
_________ '(填字母:从下列A、B、C三个选项中选取一项)
Label2.Caption = sh
End Sub
划线②、③的选项:
A. Next i | B.j+1 | C.Mid(ch, i, 1) |