题库 高中信息

题干

数据的有损压缩:对多媒体数据进行有损压缩时,以少量数据丢失作为代价的,比如对某8 bit量化缩为6 bit量化,其算法可简单表示为:逐一删除各个字节的后2 bit,将删除后的6 bit数据首尾相连,然后重新按照8 bit一组构建字节,以十六进制显示。
例如,压缩前的原始数据为:
11111100  010111010  10110000可表示为十六进制:FC  5A  B0
删除每字节的后2 bit:
111111  00  010110  10  101100  00
首尾相连构建新的数据:
11  11110101  10101100表示为十六进制:…F5  AC
自此,原数据进行了有损压缩。程序运行界面如下所示,

实现上述算法的VB程序如下,但程序中加框处有误,请改正。
Dim a(1 To 100) As Integer
Const code="0123456789ABCDEF"
Const n=100
Private Sub Form_Load()'以随机数模拟读取原始数据
s=""
Randomize
For i=1 To n

a(i)=Int (Rnd()*16)

Text1.Text=Text1.Text+  '①

Next i
End sub
Private Sub Command1_Click()
For i=1 To n

t=t+HtoB(a(i))

Next i
For j=l To n* 4 Step 8 '每8位一组每8位一组,取前6个字符

s=s+Mid(t,j, 6)

Next j
For i=1 To 4 *(n-1) Step 4 '每4位一组转为十六进制显示
Text2.Text= Text2.Text +BtoH (Mid(s,1,4))
Next i
End sub
Function HtoB (x As Integer) As String  '十六进十六进制转为二进制函数
t=""
m=0
Do While  '②

r=x Mod 2

m=m+1

t= Trim(r)+t     'trim()用于删除前导空格

x=x\2

Loop
HtoB=Mid("0000",1,4-m)+t
End Function
Function BtoH (y As String) As String '二进制转为十六进制函数
t1=Val(Mid(y,4,1))
t2=Val(Mid(y,3,1))
t3=Val(Mid(y,2,1))
t4=Val(Mid(y,1,1))
s=t1+t2*+t3*4+t4*8
BtoH= Mid(code,s+1,1)
End Function
(1)①处加框代码应改为________________________________________。
(2)②处加框代码应改为________________________________________。
上一题 下一题 0.99难度 None 更新时间:2020-03-30 10:09:23

答案(点此获取答案解析)

同类题2

为了安排寝室,需要将学生按性别分类。小陈设计了一个VB程序,运行该程序,单击“数据导入”按钮Command1后,左侧列表框List1中显示40位学生的编号和性别;然后单击“数据处理”按钮Command2,中间列表框List2中显示所有女生的信息,右侧列表框List3中显示所有男生的信息,并在相应的列表框下方显示人数。运行结果如下图所示。

实现上述功能的VB程序段如下,分析回答下列问题。
Dim a(1 To 40) As String  '数组a用于存储学生编号
Dim b(1 To 40) As String   '数组b用于存储学生性别
Private Sub Command1_Click
Dim i As Integer
List1.Clear
List2.Clear
List3.Clear
'在列表框List1中显示40位学生的编号和性别
For i=1 To 40
.AddItem a(i)+” ”+b(i) ①
Next i
End Sub
Private Sub Command2_Click
Dim n As Integer   '用于存储女生人数
Dim m As Integer   '用于存储男生人数
Dim i As Integer
List2.Clear
List3.Clear
n=0: m=0
For i=1 To 40
If  b(i)=”女”  Then
List2.AddItem a(i)    '在列表框List2中显示女生信息
n=n+1
Else
List3.AddItem a(i)    '在列表框List3中显示男生信息

②
End If
Next i
Label1.Caption=”女生人数:”+Str(n)
Label2.Caption=”男生人数:”+Str(m)
End Sub
(1)小陈将学生的编号和性别分别存放在数组a和数组b中,这段代码书写在窗体的加载事件中,下列属于该事件的是(____)
A.Form_ClickB.Command1_Click 
C.Form_LoadD.Form_Unload
(2)①和②加边框处分别有误,根据题意修改源代码,①处应修改为________,②处应修改为__________