- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- + 面向对象程序设计 VB开发工具
- 程序设计语言
- 循环结构
- 分支结构
- 顺序结构
- 类、对象、属性、方法、事件和事件处理的概念
- VB应用程序的界面设计与调试
- 基本数据类型
- 常量、变量、数组
- 常用的标准函数
- 基本运算及表达式
- 赋值语句
- 选择语句
- 循环语句
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
在VB中,有如下事件处理过程代码:
Private Sub Command1_Click()
Dim s As Double
s = 0
Do While s <> 5
s = s + 2
Loop
Label1.Caption = Str(s)
End Sub
该事件处理过程代码违背了算法特征中的( )
Private Sub Command1_Click()
Dim s As Double
s = 0
Do While s <> 5
s = s + 2
Loop
Label1.Caption = Str(s)
End Sub
该事件处理过程代码违背了算法特征中的( )
A.确定性 | B.有穷性 | C.有输出 | D.有0个或多个输入 |
下列VB表达式的值等于18的是( )
A.int(17.9) | B.Len("17") + 1 | C.Sqr(17) | D.Abs(-17) + 1 |
有如下VB程序段:
Dim x As Integer, y As Integer, s As Integer
x=3:y=4
If x<y And y<0 Then
s=x Mod y
ElseIf y>0 and y<x Then
s=x*y
ElseIf x=0 Or y=0 Then
s=x+y
Else
s=0
End If
该程序段运行之后,变量s的值为( )
Dim x As Integer, y As Integer, s As Integer
x=3:y=4
If x<y And y<0 Then
s=x Mod y
ElseIf y>0 and y<x Then
s=x*y
ElseIf x=0 Or y=0 Then
s=x+y
Else
s=0
End If
该程序段运行之后,变量s的值为( )
A.0 | B.3 | C.7 | D.12 |
我国居民身份证号是由 18 位字符组成,其中前 17 位是数字,第 18 位是校验位(校验
位字符在“0”~“9”或“X”中选取)。由前 17 位数字经过一定的规则计算得到校验值, 在查验居民身份证号有效性时,如果校验位中的字符与计算所得校验值相等则身份证号有效, 否则无效。
校验值计算规则如下:
第一步:将身份证号前 17 位数字分别乘以不同的系数后相加,对应系数如下表所示。
第二步:将第一步的计算结果除以 11,得到余数。 第三步:根据第二步的计算结果从下表获取对应的校验值。
例如:某身份证号为 34052419800101001X。要计算此身份证的校验值步骤如下: 第一步:计算 3*7+4*9+0*10+5*5+……+1*2=189
第二步:189 除以 11 得到余数为 2
第三步:由余数 2 获取校验值 X。
根据以上规则小王编写了一个验证身份证号是否有效的 VB 程序,功能如下:在文本框 Text1 中输入身份证号,单击“验证”按钮 Command1 后,在列表框 List1 中显示验证结果。 程序运行界面如图1 所示。
(1)设计程序界面时,应使用图 2 中的____(填写相应编号)添加列表框对象 List1。


(2)实现上述功能的 VB 程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim i As Integer, a As Integer, b As Integer, sum As Integer, pos As Integer
Dim idCode As String, result As String
Const xs = "0709100508040201060307091005080402" '存储前 17 位每位系数
Const checkCodeStr = "10X98765432" '存储余数对应的检验值
①________
sum = 0
For i = 1 To 17 Step 1
a = Val(Mid(idCode, i, 1))
b = ②________
sum = sum + a * b
Next i
pos =
checkCode = Mid(checkCodeStr, pos, 1)
If checkCode = Mid(idCode, 18, 1) Then
result = "有效"
Else
result = "无效"
End if
List1.AddItem (idCode & " " & result)
End Sub
(3)程序中加框处代码有误,应修改为________。
位字符在“0”~“9”或“X”中选取)。由前 17 位数字经过一定的规则计算得到校验值, 在查验居民身份证号有效性时,如果校验位中的字符与计算所得校验值相等则身份证号有效, 否则无效。
校验值计算规则如下:
第一步:将身份证号前 17 位数字分别乘以不同的系数后相加,对应系数如下表所示。
位数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
系数 | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 | 6 | 3 | 7 | 9 | 10 | 5 | 8 | 4 | 2 |
第二步:将第一步的计算结果除以 11,得到余数。 第三步:根据第二步的计算结果从下表获取对应的校验值。
余数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
校验值 | 1 | 0 | X | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
例如:某身份证号为 34052419800101001X。要计算此身份证的校验值步骤如下: 第一步:计算 3*7+4*9+0*10+5*5+……+1*2=189
第二步:189 除以 11 得到余数为 2
第三步:由余数 2 获取校验值 X。
根据以上规则小王编写了一个验证身份证号是否有效的 VB 程序,功能如下:在文本框 Text1 中输入身份证号,单击“验证”按钮 Command1 后,在列表框 List1 中显示验证结果。 程序运行界面如图1 所示。
(1)设计程序界面时,应使用图 2 中的____(填写相应编号)添加列表框对象 List1。


(2)实现上述功能的 VB 程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim i As Integer, a As Integer, b As Integer, sum As Integer, pos As Integer
Dim idCode As String, result As String
Const xs = "0709100508040201060307091005080402" '存储前 17 位每位系数
Const checkCodeStr = "10X98765432" '存储余数对应的检验值
①________
sum = 0
For i = 1 To 17 Step 1
a = Val(Mid(idCode, i, 1))
b = ②________
sum = sum + a * b
Next i
pos =

checkCode = Mid(checkCodeStr, pos, 1)
If checkCode = Mid(idCode, 18, 1) Then
result = "有效"
Else
result = "无效"
End if
List1.AddItem (idCode & " " & result)
End Sub
(3)程序中加框处代码有误,应修改为________。
素数只能被1和它本身整除,不能被其他自然数整除。编写VB程序实现如下功能:单击“产生奇数并判断”按钮Command1,随机产生一个三位正奇数显示在文本框Text1中,并在文本框Text2中显示其是否为素数的判断结果。例如,当随机产生的三位正奇数为953时,程序运行界面如图1所示。

图1 图2
(1)在设计程序界面时,应使用图2所示“控件工具箱”中的__________(填写相应编号)添加文本框Text1。
(2)实现上述功能的VB程序如下,请在划线处填写合适的代码。
Private Sub Command1_Click()
Dim n As Integer, i As Integer
Dim flag As Boolean ‘用于标记是否为素数
Randomize
n = Int( ①____)*2+1 ‘随机生成三位正奇数
Text1.Text = Str(n)
flag = True ‘标记为素数
i = 3
Do While i <= n - 1 And flag = True
If n Mod i = 0 ②___
i = i + 2
Loop
If flag=true Then
Text2.Text = Str(n) + “是素数”
Else
Text2.Text = Str(n) + “不是素数”
End If
End Sub
(3)以下选项中,与加框处表达式“n Mod i = 0”等价的是___________(单选,填字母)。


图1 图2
(1)在设计程序界面时,应使用图2所示“控件工具箱”中的__________(填写相应编号)添加文本框Text1。
(2)实现上述功能的VB程序如下,请在划线处填写合适的代码。
Private Sub Command1_Click()
Dim n As Integer, i As Integer
Dim flag As Boolean ‘用于标记是否为素数
Randomize
n = Int( ①____)*2+1 ‘随机生成三位正奇数
Text1.Text = Str(n)
flag = True ‘标记为素数
i = 3
Do While i <= n - 1 And flag = True
If n Mod i = 0 ②___
i = i + 2
Loop
If flag=true Then
Text2.Text = Str(n) + “是素数”
Else
Text2.Text = Str(n) + “不是素数”
End If
End Sub
(3)以下选项中,与加框处表达式“n Mod i = 0”等价的是___________(单选,填字母)。
A.n \ i = Int(n / i) | B.n \ i = n/ i | C.n Mod i = n \ i |
现要编写一个统计2018~2100年间闰年次数的程序。已知出现闰年条件是:年份数能被4整除但不能被100整除,或者能被400整除。如图所示,要求程序运行后单击按钮,在列表框中显示闰年年份,并将统计次数显示在Label1。
(1)代码“PrivateSubCmd1_Click()”中的Cmd1_Click()是_________。
(单选,填字母:
(2)下面的VB程序可用来实现上述功能,请在划线处填写合适的代码。
Private Sub Cmd1_Click()

Dim c As Integer , year As Integer
c=0
①______
If ②_______ Then
c=c+1
EndIf
Next year
Label1.Caption="闰年共有"+Str(c)+"次"
EndSub
(3)上述代码段中缺少了List1.AddItemStr(year),此句代码应该加在________(填字母)位置。
(1)代码“PrivateSubCmd1_Click()”中的Cmd1_Click()是_________。
(单选,填字母:
A.对象名 | B.事件 | C.事件处理过程 | D.方法) |
Private Sub Cmd1_Click()

Dim c As Integer , year As Integer
c=0


c=c+1


Label1.Caption="闰年共有"+Str(c)+"次"
EndSub
(3)上述代码段中缺少了List1.AddItemStr(year),此句代码应该加在________(填字母)位置。
下列VB表达式中值最大的是
A.Sqr(2018) |
B.Abs(-2018) |
C.Len("2018")+1 |
D.int(rnd*2018) |
这是一个可以计算十六进制各位数之和的VB程序,功能如下:在文本框Text1中输入一个十六进制数n,将计算结果显示在Label1上。程序界面如下图所示:

实现上述功能的VB程序如下:
Private Sub Command1_Click()
Dim n As String, m as string
Dim s As Integer, i As Integer
n=Text1.Text
n=ucase(n) ’n中的字母转为大写
①
m = Mid(n, i, 1)
If m >= "0" And m <= "9" Then
s = s + Val(m)
ElseIf m>=”A” And m<=”F” Then
s = s + ②
Else
Msgbox(“输入数据有误,请输入一个十六进制数!”)
Exit Sub
End If
Next i
Label2.Caption = "各位数和为:" + Str(s)
End Sub
(1)代码“Private Sub Command1_Click()”中的Command1_Click()是________ (选填:
(2)请在划线处填入合适代码①____________________ ②____________________;
(3)程序运行,在Text1中无论输入“5A0D”,在label1中显示的内容为______________。

实现上述功能的VB程序如下:
Private Sub Command1_Click()
Dim n As String, m as string
Dim s As Integer, i As Integer
n=Text1.Text
n=ucase(n) ’n中的字母转为大写
①
m = Mid(n, i, 1)
If m >= "0" And m <= "9" Then
s = s + Val(m)
ElseIf m>=”A” And m<=”F” Then
s = s + ②
Else
Msgbox(“输入数据有误,请输入一个十六进制数!”)
Exit Sub
End If
Next i
Label2.Caption = "各位数和为:" + Str(s)
End Sub
(1)代码“Private Sub Command1_Click()”中的Command1_Click()是________ (选填:
A.属性名 | B.对象名 | C.事件处理过程名 ); |
(3)程序运行,在Text1中无论输入“5A0D”,在label1中显示的内容为______________。
台州市政公共停车的收费标准如下:
30分钟以内不收费,1小时及以内收费5元,超过一小时后超过部分2元\小时收费(不足1小时的按1小时计算)。小明据此设计了以下VB程序,程序运行界面如图。

(1)若将窗体标题改为“台州停车收费”,应修改窗体属性栏中的___________属性。
(2)运行程序,在文本框Text1中输入当天停车时间(分钟),单击“收费”按钮Command1,在文本框Text2显示所对应的费用(元),实现上述功能的VB程序如下,请在划线处填写合适的代码。
Private Sub Command1_Click()
Dim t As Integer , cost As Integer , h As Integer ‘h是小时时长
t=Val(Text1.Text)
If t <= 30 Then
cost=0
Else
h=(t-1)\60+1
If ①____ Then
cost=5
Else
cost=②____
EndIf
EndIf
Text2.Text=③____
EndSub
30分钟以内不收费,1小时及以内收费5元,超过一小时后超过部分2元\小时收费(不足1小时的按1小时计算)。小明据此设计了以下VB程序,程序运行界面如图。

(1)若将窗体标题改为“台州停车收费”,应修改窗体属性栏中的___________属性。
(2)运行程序,在文本框Text1中输入当天停车时间(分钟),单击“收费”按钮Command1,在文本框Text2显示所对应的费用(元),实现上述功能的VB程序如下,请在划线处填写合适的代码。
Private Sub Command1_Click()
Dim t As Integer , cost As Integer , h As Integer ‘h是小时时长
t=Val(Text1.Text)
If t <= 30 Then
cost=0
Else
h=(t-1)\60+1
If ①____ Then
cost=5
Else
cost=②____
EndIf
EndIf
Text2.Text=③____
EndSub