- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- + 面向对象程序设计 VB开发工具
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
某数据压缩方法描述如下:
1)原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示:
2)原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,均为0;
3)原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个为0,第2个为重复数的个数,第3个数为该数本身。
原始数据:25 0 78 78 78 78 78 78
压缩数据:25 0 0 0 6 78
程序运行界面如下图所示:

根据上述算法,小明编写如下VB程序。
(1)若文本框Text1中输入数据为“0,25,0,78,78,0,0”(不含引号),点击“压缩”命令按钮,在文本框Text2输出数据里有 个0。
(2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Dim a(1 To 100) As Integer, b(1 To 100) As Integer, c(1 To 100) As Integer
Dim n As Integer, num
As Integer
Private Sub Init1()
Dim s1 As String, c1 As String
Dim i As Integer, t As Integer, len1 As Integer
n = 0: t = 0: s1 = Text1.Text
len1 = Len(s1)
For i = 1 To len1
ch = Mid(s1, i, 1)
If ch <> "," Then
①
Else
n = n + 1: a(n) = t: t
= 0
End If
Next i
n = n + 1: a(n) = t
End Sub
Private Sub Command1_Click()
Call Init1
Dim pa As Integer, pb As Integer
Dim firstdata As Integer, count As Integer, i As Integer
pb = 1
firstdata = a(1)
n = n + 1
a(n) = a(n - 1) + 1
count = 1
For i = 2 To n
If a(i) = firstdata Then
count = count + 1
Else
If count = 1 Then
If firstdata > 0 Then
b(pb) = firstdata: pb = pb + 1
Else
b(pb) = 0: b(pb + 1) = 0: pb = pb + 2
End If
Else
b(pb) = 0
b(pb + 1) = count
②
pb = pb + 3
End If
count = 1
firstdata = a(i)
End If
Next i
Text2.Text = Str(b(1))
For i = ③
Text2.Text = Text2.Text + "," + Str(b(i))
Next i
End Sub
1)原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示:
2)原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,均为0;
3)原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个为0,第2个为重复数的个数,第3个数为该数本身。
原始数据:25 0 78 78 78 78 78 78
压缩数据:25 0 0 0 6 78
程序运行界面如下图所示:

根据上述算法,小明编写如下VB程序。
(1)若文本框Text1中输入数据为“0,25,0,78,78,0,0”(不含引号),点击“压缩”命令按钮,在文本框Text2输出数据里有 个0。
(2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Dim a(1 To 100) As Integer, b(1 To 100) As Integer, c(1 To 100) As Integer
Dim n As Integer, num

Private Sub Init1()
Dim s1 As String, c1 As String
Dim i As Integer, t As Integer, len1 As Integer
n = 0: t = 0: s1 = Text1.Text
len1 = Len(s1)
For i = 1 To len1
ch = Mid(s1, i, 1)
If ch <> "," Then
①
Else
n = n + 1: a(n) = t: t

End If
Next i
n = n + 1: a(n) = t
End Sub
Private Sub Command1_Click()
Call Init1
Dim pa As Integer, pb As Integer
Dim firstdata As Integer, count As Integer, i As Integer
pb = 1
firstdata = a(1)
n = n + 1
a(n) = a(n - 1) + 1
count = 1
For i = 2 To n
If a(i) = firstdata Then

Else
If count = 1 Then
If firstdata > 0 Then
b(pb) = firstdata: pb = pb + 1
Else
b(pb) = 0: b(pb + 1) = 0: pb = pb + 2
End If
Else
b(pb) = 0
b(pb + 1) = count
②
pb = pb + 3
End If
count = 1
firstdata = a(i)
End If
Next i
Text2.Text = Str(b(1))
For i = ③
Text2.Text = Text2.Text + "," + Str(b(i))
Next i
End Sub
小明编写了一个字符串加密程序,运行界面如图所示。功能如下:在文本框Text1中输入明文,在文本框Text2中输入密钥(密钥值在1到25之间),单击“加密”按钮Command1后,在标签Label1中输出密文。加密算法如下:

(1)若是字母,则将其变为按字母顺序往后数密钥个数的字母,若字母超过“Z”或“z”,则将其顺延到“A”或“a”后,大小写保持不变;若为其他字符,则保持不变,例如:
(2)在步骤(1)的基础上,奇数位置的字符保持不变,偶数位置的字符逆序排列。
实现上述功能的VB程序如下,加框处有错误,请改正。
Private Sub Command1_Click()
Dim a(1 To 100) As String
Dim s As String, i As Integer
Dim j As Integer, n As Integer
Label4.Caption = ""
s = Text1.Text
n = Val(Text2.Text)
i = 1
Do While i <= Len(s)
c = Mid(s, i, 1)
If c >= "A" And c <= "Z" Then
a(i) = Chr((Asc(c) - Asc("A") + n) Mod 26 + Asc("A"))
ElseIf c >= "a" And c <= "z" Then
a(i) = Chr((Asc(c) - Asc("a") + n) Mod 26 + Asc("a"))
Else
a(i) = c
End If
i = i + 1
Loop
j = Len
(s) ‘①
For i = 2 To Len(s) \ 2 Step 2
t = a(i): a(i) = a(j): a(j) = t
j = j – 1 ‘②
Next i
For i = 1 To Len(s)
Label4.Caption = Label4.Caption + a(i)
Next i
End Sub

(1)若是字母,则将其变为按字母顺序往后数密钥个数的字母,若字母超过“Z”或“z”,则将其顺延到“A”或“a”后,大小写保持不变;若为其他字符,则保持不变,例如:
明文 | Z | h | e | n | _ | H | a | i |
密钥 | 3 | |||||||
密文 | C | k | h | q | _ | K | d | l |
(2)在步骤(1)的基础上,奇数位置的字符保持不变,偶数位置的字符逆序排列。
密文 | C | l | h | K | _ | q | d | k |
实现上述功能的VB程序如下,加框处有错误,请改正。
Private Sub Command1_Click()
Dim a(1 To 100) As String
Dim s As String, i As Integer
Dim j As Integer, n As Integer
Label4.Caption = ""
s = Text1.Text
n = Val(Text2.Text)
i = 1
Do While i <= Len(s)
c = Mid(s, i, 1)
If c >= "A" And c <= "Z" Then
a(i) = Chr((Asc(c) - Asc("A") + n) Mod 26 + Asc("A"))
ElseIf c >= "a" And c <= "z" Then
a(i) = Chr((Asc(c) - Asc("a") + n) Mod 26 + Asc("a"))
Else
a(i) = c
End If
i = i + 1
Loop
j = Len

For i = 2 To Len(s) \ 2 Step 2
t = a(i): a(i) = a(j): a(j) = t
j = j – 1 ‘②
Next i
For i = 1 To Len(s)
Label4.Caption = Label4.Caption + a(i)
Next i
End Sub
在 VB 中,对于按钮对象 Command1,执行语句 Command1.Caption="计算"后可能引起的变化是()
A.Command1 对象的名称改变 |
B.Command1 对象的高度改变 |
C.Command1 对象的显示文字改变 |
D.Command1 对象的背景颜色改变 |
完成以下 VB 程序代码
(1)有如下 VB 程序段,
a = 167
b = a\100
c = b mod 10
该程序段运行后,变量 c 的值为_____ 。
(2)有如下 VB 程序段,
a=2:b=7:c=4
If a<b Then t=a:a=b:b=t
End If
If b<c Then c = c-b
End If
该程序段运行后,整型变量 a 的值是_____,b 的值是_____,c 的值是_____。
(1)有如下 VB 程序段,
a = 167
b = a\100
c = b mod 10
该程序段运行后,变量 c 的值为_____ 。
(2)有如下 VB 程序段,
a=2:b=7:c=4
If a<b Then t=a:a=b:b=t
End If
If b<c Then c = c-b
End If
该程序段运行后,整型变量 a 的值是_____,b 的值是_____,c 的值是_____。
在 VB 中,在窗体 From1 标题中显示"云富高中",应改变的属性是()
A.Font | B.Text | C.Caption | D.Backcolor |
在 VB 中,在文本框 Text6 中显示"云富高中",应改变的属性是()
A.Font | B.Text | C.Width | D.Backcolor |
产生[10,37]之间的随机整数的 Visual Basic 表达式是 ( )
A.Int(Rnd()*27)+10 | B.Int(Rnd()*28)+10 |
C.Int(Rnd()*27)+11 | D.Int(Rnd()*28)+11 |
在 VB 中,若使用变量 t 存储表达式 3*A> 5 Or B + 8<0 的值,则变量 t 的数据类型应定义为( )
A.String | B.Integer | C.Single | D.Boolean |