内容正文:
第二单元 算法的程序实现
《算法与程序设计》
数据压缩是缩减数据量以减少存储空间,提高传输、存储和处理效率的一种技术,其方法是按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间。
解压缩是压缩的逆过程,也就是将压缩数据还原为原始数据的过程,如果解压缩的前后数据完全一致,就属于无损压缩,而原始数据和解压后的数据如果不完全相同,则称之为有损压缩。
课时42 压缩与解压缩系列
例1 [2019浙江联考]用 VB 编写数据解压缩程序,其功能如下:在文本框 Text1 中输入压缩后的数据,格式为“字符数字字符数字……”,其中的字符只能是单个,而数字可以是多位,表示其前面的字符个数。如压缩数据“W3y4”表示有 3 个“W”和 4 个“y”,单击命令按钮“解压缩”后,其解压缩后的结果(即原始数据)“WWWyyyy”输出在文本框 Text2 中,运行界面如图所示。
实现上述功能的 VB 程序如下,请回答下列问题:
(1)由代码可知,命令按钮“解压缩”的对象名是________。
(2)实现上述功能的 VB 程序如下,请在划线处填入合适的代码。
Private Sub Comd1_Click()
Dim i As Integer, j As Integer, n As Integer
Dim ch As String, s As String, s1 As String
s = Text1.Text
Text2.Text = ””
n = 0
s1 = Mid(s, 1, 1)
i = 2
Do While i <= Len(s)
ch = Mid(s, i, 1)
If ch >= ”0” And ch <= ”9” Then
n = ____①____
Else
+ ”.”
For j = 1 To n
Text2.Text = ____②____
Next j
s1 = ch
____③____
End If
i = i + 1
Loop
End Sub
(3)若删除加框处代码,而压缩数据依然为“W3y4”,则解压缩后的数据为________。
【答案】(1)Comd1 (2)①n * 10 + Val(ch) 或Val(Str(n) + ch) 或 n * 10 + as