- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- + 面向对象程序设计 VB开发工具
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
(加试题)某算法流程图如下图所示,该流程图对应的程序段为( )

Do While s <= 20
If i Mod 3 = 0 Then
s = s + 2 * i
End If
i = i + 1
Loop

A.s = 0 For i = 1 To 20 If i Mod 3 = 0 Then s = s + 2 * i Else i = i + 1 End If Next i |
B.i = 1 For s = 0 To 20 If i Mod 3 = 0 Then s = s + 2 * i End If i = i + 1 Next i |
C.i = 1: s = 0 Do While s <= 20 If i Mod 3 = 0 Then s = s + 2 * i Else i = i + 1 End If Loop |
D.i = 1: s = 0 |
If i Mod 3 = 0 Then
s = s + 2 * i
End If
i = i + 1
Loop
(加试题)小龙编写了一个简易加法器VB程序,运行界面如图所示。在文本框Text1中输入一个数字后再输入空格表示一个加数输入完毕,连续不断输入不同的加数,待所有需要相加的数输入完毕后,单击“求和”按钮Command1后,在标签label1中显示加数的个数以及总和。(数字0和空格的ASCII码分别为48、32)
实现上述功能的VB程序如下,但加框处代码有错,请改正。
Private Sub Command1_Click()
Dim a As String
Dim x As Integer, s As Integer, k As Integer
a = Text1.Text
x = 1: s = 0: k = 0
For i = 1 To Len(a)
'如果输入的不是0到9的数字或者空格,则给出错误提示后结束子程序
If (Asc(Mid(a, i, 1)) < 48 Or Asc(Mid(a, i,1)) > 57) or(Asc(Mid(a,i,1))= 32) then’①________ Label1.Caption = "只能输入数字或空格"
Exit Sub
End If
If Mid(a, i, 1) = " " Then
s = s + Mid(a,x,i)’②________
x = i + 1
k = k + 1
End If
Next i
Label1.Caption = "这" + Str(k) + "个数的和为:" + Str(s)
实现上述功能的VB程序如下,但加框处代码有错,请改正。
Private Sub Command1_Click()
Dim a As String
Dim x As Integer, s As Integer, k As Integer
a = Text1.Text
x = 1: s = 0: k = 0
For i = 1 To Len(a)
'如果输入的不是0到9的数字或者空格,则给出错误提示后结束子程序
If (Asc(Mid(a, i, 1)) < 48 Or Asc(Mid(a, i,1)) > 57) or(Asc(Mid(a,i,1))= 32) then’①________ Label1.Caption = "只能输入数字或空格"
Exit Sub
End If
If Mid(a, i, 1) = " " Then
s = s + Mid(a,x,i)’②________
x = i + 1
k = k + 1
End If
Next i
Label1.Caption = "这" + Str(k) + "个数的和为:" + Str(s)
(加试题)有如下程序段:
Dim i As Integer, Sum As Integer
Dim a(1 To 11) As Integer
Sum = 6
a(11) = 49
For i = 10 To 1 Step -1
a(i) = a(i + 1) - 1
If a(i) Mod 3 = 0 Then Sum = Sum + a(i)
Next i
Text1.Text = Str(Sum)
该程序段运行后,文本框text1中显示的内容是
Dim i As Integer, Sum As Integer
Dim a(1 To 11) As Integer
Sum = 6
a(11) = 49
For i = 10 To 1 Step -1
a(i) = a(i + 1) - 1
If a(i) Mod 3 = 0 Then Sum = Sum + a(i)
Next i
Text1.Text = Str(Sum)
该程序段运行后,文本框text1中显示的内容是
A.174 |
B.180 |
C.36 |
D.42 |
有一个数列,它的前二个数为0,1,此后的每个数都是其前面2个数之和,即0,1,1,2,3,5,8,13...要求编写程序,输出该数列到刚超过10000的数为止,且项数不能超过100项。编写程序如下:
Dim i As Integer, a As Integer, b As Integer, c As Integer
Dim s As String
a = 0: b = 1: c = 0: i = 2
s = Str(a) + Str(b)
Do While c <= 10000 And i < 100
a = b: b = c
c = a + b
s = s + Str(c)
i = i + 1
Loop
Text1.Text = s
运行上面的程序,发现输出的数列不正确,应进行修改。以下修改正确的是
Dim i As Integer, a As Integer, b As Integer, c As Integer
Dim s As String
a = 0: b = 1: c = 0: i = 2
s = Str(a) + Str(b)
Do While c <= 10000 And i < 100
a = b: b = c
c = a + b
s = s + Str(c)
i = i + 1
Loop
Text1.Text = s
运行上面的程序,发现输出的数列不正确,应进行修改。以下修改正确的是
A.把c<=10000改为 c>10000 | B.把i<100改成i<=100 |
C.把i=i+1移到Do While c<=10000 and i<100下面 | D.把语句c=a+b移到a=b:b=c的上面 |
用VB设计一个模拟选手得分程序,在文本框Text1中输入裁判人数(人数大于2),然后点击Command1按钮,在List1中产生70到100的随机数为裁判的打分,去除一个最高分,去除一个最低分,取其他裁判打分的平均分作为最终得分显示在文本框Text2中,运行效果如图所示。

(1)若要在程序运行时,修改窗体显示的标题为“得分计算”,则下面语句可行的是__________。
(单选,填字母:A.Command1.Caption=“得分计算”/B.Form1.Name=“得分计算”/C.Form1.Text=“得分计算”/
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim n As Integer '裁判人数
Dim max As Integer, min As Integer, sum As Integer
Dim AveScore As Single '存储最终得分
n = Val(Text1.Text): sum = 0
If n <= 2 Then MsgBox ("输入数据要大于2,请重新输入!")
If n > 2 Then
List1.Clear
Randomize
score = Int(Rnd() * 31) + 70
List1.AddItem Str(score)
_______________________ ' ①
max = score
min = score
For i = 2 To n
score = Int(Rnd() * 31) + 70
List1.AddItem Str(score)
If score > max Then max = score
If score < min Then min = score
sum = sum + score
Next i
AveScore = ______________________ '②
Text2.Text = Str(AveScore)
End If
End Sub
(3)若要将最终得分保留一位小数(四舍五入),下列代码可行的是______________________。
A.AveScore=int(AveScore+0.5)
B.AveScore=int(AveScore*10+0.5)/10
C.AveScore=int(AveScore*100+0.5)/100

(1)若要在程序运行时,修改窗体显示的标题为“得分计算”,则下面语句可行的是__________。
(单选,填字母:A.Command1.Caption=“得分计算”/B.Form1.Name=“得分计算”/C.Form1.Text=“得分计算”/
A.Form1.Caption=“得分计算”) |
Private Sub Command1_Click()
Dim n As Integer '裁判人数
Dim max As Integer, min As Integer, sum As Integer
Dim AveScore As Single '存储最终得分
n = Val(Text1.Text): sum = 0
If n <= 2 Then MsgBox ("输入数据要大于2,请重新输入!")
If n > 2 Then
List1.Clear
Randomize
score = Int(Rnd() * 31) + 70
List1.AddItem Str(score)
_______________________ ' ①
max = score
min = score
For i = 2 To n
score = Int(Rnd() * 31) + 70
List1.AddItem Str(score)
If score > max Then max = score
If score < min Then min = score
sum = sum + score
Next i
AveScore = ______________________ '②
Text2.Text = Str(AveScore)
End If
End Sub
(3)若要将最终得分保留一位小数(四舍五入),下列代码可行的是______________________。
A.AveScore=int(AveScore+0.5)
B.AveScore=int(AveScore*10+0.5)/10
C.AveScore=int(AveScore*100+0.5)/100
编写一个VB程序,判断某字符串是否为回文字符串。所谓回文字符串,指一个字符串从左往右读和从右往左读是完全一样的。程序运行时,单击“判断”按钮后,在标签Label2中显示判断结果。程序运行效果如图所示。

实现上述功能的程序如下,请回答下列问题:
Private Sub Com1_Click( )
Dim s As String
Dim flag As Boolean
Dim n As Integer, i As Integer
s = Text1.Text
_________’①
flag = True
i = 1
Do While i <= n \ 2
If Mid(s, i, 1) < >________________ Then’②
flag = False
Exit Do '退出Do循环
End If
i = i + 1
Loop
If flag Then
Label2.Caption = s + "是回文字符串"
Else
Label2.Caption = s + "不是回文字符串"
End If
End Sub
(1)当前代码的事件处理过程名为_____________________。
(2)为使程序完成相应功能
下划线①处应填入代码_____________________。
下划线②处应填入代码_____________________。

实现上述功能的程序如下,请回答下列问题:
Private Sub Com1_Click( )
Dim s As String
Dim flag As Boolean
Dim n As Integer, i As Integer
s = Text1.Text
_________’①
flag = True
i = 1
Do While i <= n \ 2
If Mid(s, i, 1) < >________________ Then’②
flag = False
Exit Do '退出Do循环
End If
i = i + 1
Loop
If flag Then
Label2.Caption = s + "是回文字符串"
Else
Label2.Caption = s + "不是回文字符串"
End If
End Sub
(1)当前代码的事件处理过程名为_____________________。
(2)为使程序完成相应功能
下划线①处应填入代码_____________________。
下划线②处应填入代码_____________________。
下列逻辑表达式中,值为False的是
A.Not(Sqr(4)-3 <= -2) | B.Int( Rnd * 49 ) < 49 |
C.3+4 <= 7 and 5+6 > 9 | D."thirty" > "two" |
(加试题)计算机的基本功能是计算,信息加工处理本质上都是通过计算完成的。现有一图像模糊处理的算法,以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