题库 高中信息

题干

(加试题)某同学编写一个VB程序模拟音乐播放器的“随机排序”功能。单击“随机排序”按钮Command1,随机生成15个“歌曲名”(歌曲名由3-6个大写英文字母组成),在列表框list1输出原播放顺序,在列表框list2输出随机排序后的顺序。运行界面如下:

实现上述功能的VB代码如下,其中加框处代码有错,请改正。
(1)________________________;
(2)________________________;
Private Sub Command1_Click()
Dim a(1 To 15) As String, b(1 To 15) As Boolean, c(1 To 15) As String
'数组a和数组c分别代表排序前后的文件名
Dim i As Integer, j As Integer, k As Integer
For i = 1 To 15    ‘生成各文件名,存放在数组a
k =Int(Rnd*5)+2 (1)
a(i) = ""
For j = 1 To k
a(i) = a(i) + Chr(65 + Int(Rnd() * 26))
Next j
List1.AddItem Str(i) + " " + a(i)
Next i
For i = 1 To 15
b(i) = False
Next i
For i = 1 To 15
k = Int(Rnd() * 15) + 1
Do While b(k) = True
k = Int(Rnd() * 15) + 1
Loop
b(k) = True
c(i) = a(k) + " " + "原位置" + Str(k)
Next i
For i = 1 To 15
List2.AddItem Str(i) + "  " +str(a(i)) (2)
Next i
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-05-06 06:17:18

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

同类题4

(加试题)计算机的基本功能是计算,信息加工处理本质上都是通过计算完成的。现有一图像模糊处理的算法,以10*10像素图像的模糊处理为例,具体算法如下:
(1)各像素点的颜色信息值(介于0至255之间的一个正整数),存储至数组a中。
(2)给定模糊处理的模糊中心位置p和模糊半径r(r>1),中心位置p即为半径为1的区域,
①确定模糊中心点在如下数阵中的位置。若模糊中心为36时,该模糊中心在数阵中对应位置为第4行第6列;

②根据中心点和模糊半径确定模糊处理的像素点的范围。
(3)依序将模糊处理范围内的像素点进行模糊处理。模糊处理的方式为:最外侧的像素点颜色信息不变,中间各像素点的新颜色信息值为该像素点上下左右相邻四个像素点颜色信息值的平均值。
程序运行时,在文本框Text1中输入模糊的中心点p,在文本框Text2中输入模糊的半径r,窗体加载,通过列表框List1输出图像模糊处理前的信息,单击命令按钮Command1后通过列表框List2输出模糊后的图像信息。程序运行效果如图2所示。相应的模糊中心位置由椭圆圈注,中间各像素点由矩形框圈注

实现上述功能的VB程序如下。请回答下列问题:
(1)若以a(48)为模糊中心,布置成如第17题图1所示数阵后模糊中心处于数阵的第________行。
(2)请在划线处填入合适的代码。
Const n = 10
Dim a(1 To n * n) As Integer  '介于0至255之间的值,存储10*10图像像素点的颜色信息
Private Sub Form_Load()
'读取100个正整数,存储在数组a中以表示10*10图片的像素点颜色信息,代码略。
'并按右对齐方式将该图片的各像素点颜色信息输出至列表框List1中,代码略。
End Sub
Private Sub Command1_Click()
Dim r As Integer, p As Integer
Dim i As Integer, j As Integer, k As Integer
p = Val(Text1.Text) :r = Val(Text2.Text)
①________
i = 1
Do While j > n
j = j - n
i = i + 1
Loop
'确定模糊处理的范围,处理范围的起始行,结束行,起始列,结束列保存到i1,i2,j1,j2中,代码略
For i = i1+1 To i2-1    '中间像素点的模糊处理
For j = j1+1 To j2-1
②________
a(k) = ave(k)
Next j
Next i
'并按右对齐方式将该图片的各像素点颜色信息输出至列表框List2中,代码略。
End Sub
Function ave(k As Integer) As Integer
ave = ③________
End Function