某數(shù)據(jù)壓縮方法描述如下:
(1)原始數(shù)據(jù)中,某數(shù)不為0且相鄰無(wú)重復(fù),壓縮數(shù)據(jù)用該數(shù)據(jù)表示;
(2)原始數(shù)據(jù)中,某數(shù)為0且相鄰無(wú)重復(fù),壓縮數(shù)據(jù)用兩個(gè)數(shù)表示,第1個(gè)位0,第2個(gè)為0;
(3)原始數(shù)據(jù)中,某數(shù)據(jù)相鄰有重復(fù),壓縮數(shù)據(jù)用3個(gè)數(shù)表示:第1個(gè)位0,第2個(gè)為重復(fù)數(shù)的個(gè)數(shù),第3個(gè)為該數(shù)本身;
根據(jù)上述壓縮方法,對(duì)應(yīng)的解壓縮方法示例如圖a所示.
小明編寫(xiě)了一個(gè)解壓送VB程序,功能如下:窗體加載時(shí),自動(dòng)讀取壓縮數(shù)據(jù),依次存儲(chǔ)在數(shù)組元素a(1)、a(2)、a(3)…中,壓縮數(shù)據(jù)的個(gè)數(shù)存儲(chǔ)在變量n中,壓縮數(shù)據(jù)顯示在文本框Text1中.單擊“解壓縮”按鈕Command1,程序?qū)嚎s數(shù)據(jù)依次進(jìn)行解壓縮處理,解壓縮數(shù)據(jù)顯示在文本框Text2中.程序運(yùn)行界面如圖b所示.
(1)如果壓縮數(shù)據(jù)為“23,0,21,66,0,0,77,0,5,0”,則解壓縮數(shù)據(jù)的個(gè)數(shù)是 2929.
(2)實(shí)現(xiàn)上述功能的VB程序如下.請(qǐng)?jiān)跈M線處填入合適代碼.
Dim a(1To 100)As Integer'存儲(chǔ)壓縮數(shù)據(jù),最大處理個(gè)數(shù)為100
Dim b(1To 1000)As Integer'存儲(chǔ)解壓縮數(shù)據(jù),最大處理個(gè)數(shù)為1000
Dim n As Integer'存儲(chǔ)壓縮數(shù)據(jù)的個(gè)數(shù)
Private Sub Form_Load ( )
'壓縮數(shù)據(jù)由上述壓縮方法生成
'本過(guò)程用于讀取壓縮數(shù)據(jù)并存儲(chǔ)在數(shù)組a,壓縮數(shù)據(jù)個(gè)數(shù)存儲(chǔ)在變量n中
'代碼略
End Sub
Private Sub Command1_Click ( ?。?br />Dim pa As Integer'存儲(chǔ)壓縮數(shù)組當(dāng)前處理位置
Dim pb As Integer'存儲(chǔ)解壓縮數(shù)組當(dāng)前處理位置
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.
【考點(diǎn)】數(shù)據(jù)壓縮;編輯事件處理過(guò)程的代碼.
【答案】29
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書(shū)面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:14引用:2難度:0.1
相似題
-
1.由于數(shù)字化后的視頻占用的空間非常龐大,為了便于存儲(chǔ)和傳輸,需要對(duì)它進(jìn)行壓縮。
發(fā)布:2024/11/16 23:30:1組卷:4引用:3難度:0.7 -
2.一數(shù)據(jù)文件壓縮后的大小是512KB,已知其壓縮比20:1,原文件大小是( ?。?/h2>
發(fā)布:2024/12/14 14:0:1組卷:30引用:3難度:0.6 -
3.數(shù)據(jù)壓縮分為有損壓縮和無(wú)損壓縮兩種。
發(fā)布:2024/12/5 19:0:1組卷:3引用:3難度:0.8
把好題分享給你的好友吧~~