- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
小王设计“模拟撤销”程序,需要用一个“历史记录”,“历史记录”是在对字符串s进行插入或删除时,将每步操作信息依次存储得到的,操作信息由操作符(“+”表示插入,“-”表示删除)、操作位置和操作字符串(只包含英文字母)构成,例如,“+23abc”表示在字符串s第23个位插入了“abc”,“模拟撤销”过程按照“历史记录”的逆序进行,将字符串s的内容恢复到初始状态。对字符串“Book”的操作与撤销过程,如下图所示。

小王编写的“模拟撤销”VB程序如下,文本框 Text1中的内容是撤销前字符串,文本概Text2中的内容是历史记录,单击“撤销”按钮Command1后,在标签Label1中显示撤销过程,程序运行界面如由下图所示。
(1)实观上述功能的VB程序如下,在程序中出现的对象没有Caption属性的是______ 。(选填,填字码:
(2)请在划线处填入合适代码。
Private Sub Command1_Click()
Dim s As String, t As String, ch As String
Dim c As String, num As String, ss As String
Dim n As Integer, i As Integer
s = Text1.Text: t = Text2.Text
c = "": num = "": ss = s
For i = Len(t) To 1 Step -1
___________________
If ch >= "a" And ch <= "z" Or ch >= "A" And ch = "Z" Then
c = ch + c
ElseIf ch >= "0" And ch <= "9" Then
num = ch + num
Else
n = Val(num)
If ch = "-" Then
s = Mid(s, 1, n - 1) + ____________________________
Else
s = Mid(s, 1, n - 1) + Mid(s, n + Len(c), Len(s) - n - Len(c) + 1)
End If
ss = ss + "→" + s
c = "": num = ""
End If
Next i
Label1.Caption = ss
End Sub
(3)运行该程序,若文本框Text1中的内容是"April",文本框Text2中的内容是”-3p+3ri-6e”,单击撤销按钮,For循环语句执行完成后,字符串s的值是_____________。

小王编写的“模拟撤销”VB程序如下,文本框 Text1中的内容是撤销前字符串,文本概Text2中的内容是历史记录,单击“撤销”按钮Command1后,在标签Label1中显示撤销过程,程序运行界面如由下图所示。

(1)实观上述功能的VB程序如下,在程序中出现的对象没有Caption属性的是______ 。(选填,填字码:
A.Label1 / | B.Command1 / | C.Text1和Text2) |
Private Sub Command1_Click()
Dim s As String, t As String, ch As String
Dim c As String, num As String, ss As String
Dim n As Integer, i As Integer
s = Text1.Text: t = Text2.Text
c = "": num = "": ss = s
For i = Len(t) To 1 Step -1
___________________
If ch >= "a" And ch <= "z" Or ch >= "A" And ch = "Z" Then
c = ch + c
ElseIf ch >= "0" And ch <= "9" Then
num = ch + num
Else
n = Val(num)
If ch = "-" Then
s = Mid(s, 1, n - 1) + ____________________________
Else
s = Mid(s, 1, n - 1) + Mid(s, n + Len(c), Len(s) - n - Len(c) + 1)
End If
ss = ss + "→" + s
c = "": num = ""
End If
Next i
Label1.Caption = ss
End Sub
(3)运行该程序,若文本框Text1中的内容是"April",文本框Text2中的内容是”-3p+3ri-6e”,单击撤销按钮,For循环语句执行完成后,字符串s的值是_____________。
若要在列表框lst_MC中显示文本“金华一中”,下列语句正确的是( )
A.list1.additem = “金华一中” | B.list1.additem(“金华一中”) C. lst_MC.additem = “金华一中” | C.lst_MC.additem “金华一中” |
用物理天平测量物体的质量。待测物体的质量为X克(X为小于1000的整数),以下程序功能为计算天平砝码盘中所需的砝码。已知天平可用的砝码为500克1个,200克1个,100克2个,50克1个,20克1个,10克2个,5克1个,2克2个,1克1个。程序界面如图所示。
(选填: 属性 / 事件 / 方法)。
(2)为实现以上功能,画线①处应填入的代码为
画线②处应填入的代码为
(3)程序运行正确后,在文本框内输入708,并单击“计算”按钮。则程序运行结果为
(选字母A/B/C)。
Private Sub Command1_Click()
Dim a(1 To 12) As Integer, i As Integer, x As Integer
a(1) = 500: a(2) = 200: a(3) = 100: a(4) = 100: a(5) = 50: a(6) = 20
a(7) = 10: a(8) = 10: a(9) = 5: a(10) = 2: a(11) = 2: a(12) = 1
i = 1
x = Val(Text1.Text)
List1.Clear
Do While ①
If x >= a(i) Then
List1.AddItem Str(a(i))
②
End If
i = i + 1
Loop
End Sub
(1)上述代码中“List1.Clear”中的Clear是对象List1的(选填: 属性 / 事件 / 方法)。
(2)为实现以上功能,画线①处应填入的代码为
画线②处应填入的代码为
(3)程序运行正确后,在文本框内输入708,并单击“计算”按钮。则程序运行结果为
(选字母A/B/C)。
![]() | | ![]() | | ![]() |
A | | B | | C |
一个十进制整数的二进制表示中,如果数字“1”的个数多于数字“0”的个数,则称该整数为A类数。如十进制整数26的二进制表示为11010,26是一个A类数。下列VB程序的功能是:统计前1000个自然数中A类数的个数,并在文本框中输出。请在划线处填入合适代码。
Private Sub Command1_Click()
Dim i As Integer, n As Integer
Dim s As Integer, t As Integer, k As Integer
s = 0
For i = 1 To 1000
①
t = 0 : k = 0
Do While n > 0
If n mod 2=0 Then t = t + 1 Else k = k + 1
②
Loop
If ③ Then s = s + 1
Next i
Text1.Text = Str(s)
End Sub
Private Sub Command1_Click()
Dim i As Integer, n As Integer
Dim s As Integer, t As Integer, k As Integer
s = 0
For i = 1 To 1000
①
t = 0 : k = 0
Do While n > 0
If n mod 2=0 Then t = t + 1 Else k = k + 1
②
Loop
If ③ Then s = s + 1
Next i
Text1.Text = Str(s)
End Sub
有如下程序段:
tail = 6:i = 1:r = Val(Text1.Text)
Do While i < r
For j = tail To i + 1 Step -1
If a(j) > a(j - 1) Then
t = a(j): a(j) = a(j - 1): a(j - 1) = t
End If
Next j
i = i + 1
For j = i To tail - 1
If a(j) < a(j + 1) Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t
End If
Next j
tail = tail - 1
Loop
数组元素a(1)到a(6)的值依次为“73、56、28、61、44、92”,若在文本框Text1中输入“2”,则经过该程序段“加工”后,数组元素a(1)到a(6)的值依次为
tail = 6:i = 1:r = Val(Text1.Text)
Do While i < r
For j = tail To i + 1 Step -1
If a(j) > a(j - 1) Then
t = a(j): a(j) = a(j - 1): a(j - 1) = t
End If
Next j
i = i + 1
For j = i To tail - 1
If a(j) < a(j + 1) Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t
End If
Next j
tail = tail - 1
Loop
数组元素a(1)到a(6)的值依次为“73、56、28、61、44、92”,若在文本框Text1中输入“2”,则经过该程序段“加工”后,数组元素a(1)到a(6)的值依次为
A.73,61,56,92,44,28 | B.92,73,56,61,44,28 |
C.92,73,61,56,28,44 | D.92,73,61,56,44,28 |
有如下VB程序段:
Dim a(l To 5) As Integer, i As Integer, c As Integer
a(1) = 2 : a(2) = 4 : a(3) = 6 : a(4)=36 : a(5) = 72
s=0
For i = 2 To 5
If a(i - 1) ^2 = a(i) Then s = s + a(i)
Next i
Text1.Text = Str(s)
该程序段运行后,文本框Text1中显示的内容是( )
Dim a(l To 5) As Integer, i As Integer, c As Integer
a(1) = 2 : a(2) = 4 : a(3) = 6 : a(4)=36 : a(5) = 72
s=0
For i = 2 To 5
If a(i - 1) ^2 = a(i) Then s = s + a(i)
Next i
Text1.Text = Str(s)
该程序段运行后,文本框Text1中显示的内容是( )
A.4 | B.6 | C.8 | D.40 |
下列Visual Basic表达式中,能产生80到100之间(包括80和100)随机整数的是( )
A.Rnd() * 100 | B.Rnd() * 100 - 20 |
C.Int(Rnd() * 20) + 80 | D.Int(Rnd()*21)+80 |
能正确判断三个整数型变量a、b、c值相等的VB表达式是( )
A.a = b = c | B.a = b And a = c |
C.a = c Or b = c Or a = b | D.a – b - c = 0 |
编码工作常被运用于密文或压缩传输。有一种最简单的编码方式,把一些有规律的单词编成数字。编码方法如下:
字母表中共有26个字母{a,b,…,z},把符合“长度不超过6”的所有字符组合升序排列,一个单词的编码就对应着它排序后的位置。例如:a→1 b→2 z→26 aa→27 ab→28 az → 52 ba → 53 bb →54…

Function c(n As Long, r As Long) As Long
Dim i As Long, cc As Long
cc = 1
For i = 1 To r
cc = cc * n
Next i
①
End Function
Private Sub Command1_Click()
Dim s As String, ch As String
Dim bm As Long, qz As Long
Dim xh As Integer
s = Text1.Text
bm = 0
flag = True
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ② Then
flag = False
Exit For
End If
xh = Asc(ch) - Asc("a")+1
③
bm = bm + xh * qz
Next i
If flag Then
Text2.Text = s + " 的编码值为:" + ④
Else
Text2.Text = "输入内容不符合编码规则"
End If
End Sub
字母表中共有26个字母{a,b,…,z},把符合“长度不超过6”的所有字符组合升序排列,一个单词的编码就对应着它排序后的位置。例如:a→1 b→2 z→26 aa→27 ab→28 az → 52 ba → 53 bb →54…
小何为此编写了VB程序,将该编码理解为26进制数值,求该编码对应的数值。程序运行,从文本框Text1输入要查询的单词,单击按钮Command1,如果输入的单词符合编码条件,则在Label3上显示对应的编码值否则在Label3中显示“不符合编码条件”。
实现上述功能的VB程序和程序运行界面如下所示,请补充完善代码。
Function c(n As Long, r As Long) As Long
Dim i As Long, cc As Long
cc = 1
For i = 1 To r
cc = cc * n
Next i
①
End Function
Private Sub Command1_Click()
Dim s As String, ch As String
Dim bm As Long, qz As Long
Dim xh As Integer
s = Text1.Text
bm = 0
flag = True
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ② Then
flag = False
Exit For
End If
xh = Asc(ch) - Asc("a")+1
③
bm = bm + xh * qz
Next i
If flag Then
Text2.Text = s + " 的编码值为:" + ④
Else
Text2.Text = "输入内容不符合编码规则"
End If
End Sub