- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
(加试题)计算机的基本功能是计算,信息加工处理本质上都是通过计算完成的。现有一图像模糊处理的算法,以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
(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
(加试题)有一组正整数,基于冒泡排序对其中的数进行升序排序。排序后奇数在前,偶数在后。排序示例如下:
实现上述功能的VB程序如下,但加框处代码有误,请改正。
Const n = 10
Dim d(1 To n) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer
'读取一组正整数,存储在数组d中,代码略
i = 1
Do While i <= n - 1
For j = n To i + 1 Step -1
If d(j) Mod 2 = d(j - 1) Mod 2 Then
If d(j) > d(i) Then '(1)________
t = d(j): d(j) = d(j - 1): d(j - 1) = t
End If
Else '(2)________
t = d(j): d(j) = d(j - 1): d(j - 1) = t
End If
Next j
i = i + 1
Loop
'依次输出排序后的数据,代码略
End Sub
排序前 | 78 | 30 | 64 | 39 | 49 | 4 | 8 | 32 | 18 | 32 |
排序后 | 39 | 49 | 83 | 4 | 8 | 18 | 30 | 32 | 64 | 78 |
实现上述功能的VB程序如下,但加框处代码有误,请改正。
Const n = 10
Dim d(1 To n) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer
'读取一组正整数,存储在数组d中,代码略
i = 1
Do While i <= n - 1
For j = n To i + 1 Step -1
If d(j) Mod 2 = d(j - 1) Mod 2 Then
If d(j) > d(i) Then '(1)________
t = d(j): d(j) = d(j - 1): d(j - 1) = t
End If
Else '(2)________
t = d(j): d(j) = d(j - 1): d(j - 1) = t
End If
Next j
i = i + 1
Loop
'依次输出排序后的数据,代码略
End Sub
有如下程序段:
Const n = 6
Dim a(1 To n) As Integer
Dim i As Integer, j As Integer, t As Integer
Do While True
For i=1 to n-1
If a(i)>a(i+1) then Exit For
Next i
If i < n Then
For i = 1 To n
j = Int(Rnd * 6) + 1
t = a(j): a(j) = a(i): a(i) = t
Next i
Else
Exit Do
End If
Loop
数组中a(1)到a(6)的值依次为“56,34,48,87,65,96”,经上述程序段执行后a(1)到a(6)的值依次为( )
Const n = 6
Dim a(1 To n) As Integer
Dim i As Integer, j As Integer, t As Integer
Do While True
For i=1 to n-1
If a(i)>a(i+1) then Exit For
Next i
If i < n Then
For i = 1 To n
j = Int(Rnd * 6) + 1
t = a(j): a(j) = a(i): a(i) = t
Next i
Else
Exit Do
End If
Loop
数组中a(1)到a(6)的值依次为“56,34,48,87,65,96”,经上述程序段执行后a(1)到a(6)的值依次为( )
A.96 87 65 56 48 34 |
B.34 48 56 65 87 96 |
C.选项A和B都有可能 |
D.选项A和B都不可能 |
编写一个删除数字字符串s中的最大和次大数字字符的程序。具体功能如下:在文本框Text1中输入一个数字字符串,单击“删数”按钮Command1,将删除后的结果显示在文本框Text2中。程序运行界面如下图所示。

(1)要使程序运行时,按钮Command1上显示的标题为“删数”,可在Form_Load事件处理过程中添加语句________(单选,填字母:
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim s As String, ch As String
Dim i As Integer, n As Integer
Dim max1 As Integer, max2 As Integer
s = Text1.Text: n = Len(Text1.Text)
If Mid(s, 1, 1) > Mid(s, 2, 1) Then
max1 = 1: max2 = 2
Else
max1 = 2: max2 = 1
End If
For i = 3 To n
ch = Mid(s, i, 1)
If ch > Mid(s, max1, 1) Then
①_______
max1 = i
ElseIf ch >= Mid(s, max2, 1) Then
max2 = i
End If
Next i
For i = 1 To n
If ②_________ Then Text2.Text = Text2.Text & Mid(s, i, 1)
Next i
End Sub
(3)若在文本框Text1中输入的内容为“82176736”,单击按钮Command1,文本框Text2中显示的内容是________。

(1)要使程序运行时,按钮Command1上显示的标题为“删数”,可在Form_Load事件处理过程中添加语句________(单选,填字母:
A.Caption.Command1 ="删数" / | B.Command1.Caption ="删数" / | C.Caption ="删数"/) |
Private Sub Command1_Click()
Dim s As String, ch As String
Dim i As Integer, n As Integer
Dim max1 As Integer, max2 As Integer
s = Text1.Text: n = Len(Text1.Text)
If Mid(s, 1, 1) > Mid(s, 2, 1) Then
max1 = 1: max2 = 2
Else
max1 = 2: max2 = 1
End If
For i = 3 To n
ch = Mid(s, i, 1)
If ch > Mid(s, max1, 1) Then
①_______
max1 = i
ElseIf ch >= Mid(s, max2, 1) Then
max2 = i
End If
Next i
For i = 1 To n
If ②_________ Then Text2.Text = Text2.Text & Mid(s, i, 1)
Next i
End Sub
(3)若在文本框Text1中输入的内容为“82176736”,单击按钮Command1,文本框Text2中显示的内容是________。
在VB代码编辑窗口中,输入“List1.”后出现了如图所示的信息。其中的“AddItem”是List1的()


A.属性名 | B.事件名 | C.对象名 | D.方法 |
在VB中,如果变量a用来存储职工的编号,如A0103,则变量a的数据类型应定义为( )
A.String | B.Single | C.Boolean | D.Integer |
常见的骰子是一个正六面体,六个面的点数分别是1~6这六个数,能正确模拟掷一次骰子得到点数的VB表达式是()
A.Int(Rnd(5))+1 | B.Int(Rnd*6)+1 | C.Int(Rnd(6)+1) | D.Int(Rnd*7) |