某數據壓縮方法描述如下:
(1)原始數據中,某數不為0且相鄰無重復,壓縮數據用該數據表示;
(2)原始數據中,某數為0且相鄰無重復,壓縮數據用兩個數表示,第1個位0,第2個為0;
(3)原始數據中,某數據相鄰有重復,壓縮數據用3個數表示:第1個位0,第2個為重復數的個數,第3個為該數本身;
根據上述壓縮方法,對應的解壓縮方法示例如圖a所示.

小明編寫了一個解壓送VB程序,功能如下:窗體加載時,自動讀取壓縮數據,依次存儲在數組元素a(1)、a(2)、a(3)…中,壓縮數據的個數存儲在變量n中,壓縮數據顯示在文本框Text1中.單擊“解壓縮”按鈕Command1,程序對壓縮數據依次進行解壓縮處理,解壓縮數據顯示在文本框Text2中.程序運行界面如圖b所示.
(1)如果壓縮數據為“23,0,21,66,0,0,77,0,5,0”,則解壓縮數據的個數是 2929.
(2)實現上述功能的VB程序如下.請在橫線處填入合適代碼.
Dim a(1To 100)As Integer'存儲壓縮數據,最大處理個數為100
Dim b(1To 1000)As Integer'存儲解壓縮數據,最大處理個數為1000
Dim n As Integer'存儲壓縮數據的個數
Private Sub Form_Load ( )
'壓縮數據由上述壓縮方法生成
'本過程用于讀取壓縮數據并存儲在數組a,壓縮數據個數存儲在變量n中
'代碼略
End Sub
Private Sub Command1_Click ( )
Dim pa As Integer'存儲壓縮數組當前處理位置
Dim pb As Integer'存儲解壓縮數組當前處理位置
Dim firstdata As Integer,count As Integer,i As Integer
pa=1:pb=1
Do While pa<=n
firstdata=a(pa)
If firstdata<>0Then'示例1情況處理
b(pb)=firstdata
pa=pa+1:pb=pb+1
Else
count=a(pa+1)
If count=0Then'示例2情況處理
b(pb)=0
pa= ①:pb=pb+1
Else'示例3情況處理
For i=1To count
②
Next i
pa=pa+3:pb=pb+count
End If
End If
Loop
Text2.Text=Str(b(1))
For i=2To ③
Text2.Text=Text2.Text+“,“+Str(b(i))
Next i
End Sub.
【考點】數據壓縮;編輯事件處理過程的代碼.
【答案】29
【解答】
【點評】
聲明:本試題解析著作權屬菁優網所有,未經書面同意,不得復制發布。
發布:2024/6/27 10:35:59組卷:18引用:2難度:0.1