- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
有如下程序段:
x=0:y=0
For i=1 to 16
If i mod 3=0 Then
x=x+1
Else
y=y+1
End if
Next i
程序运行后,输出x,y的值分别为
x=0:y=0
For i=1 to 16
If i mod 3=0 Then
x=x+1
Else
y=y+1
End if
Next i
程序运行后,输出x,y的值分别为
A.10,6 | B.11,5 | C.5,11 | D.6,10 |
(加试题)单循环赛制是一种较为公平合理的比赛制度,比赛过程中所有参赛队伍均能相遇一次。其秩序编排可采用“逆时针轮转方法”:数字1~n依次作为队伍编号,把编号按U型走向分成均等两边(若n为奇数,则在末尾增加编号0,使总数为偶数),即可得到第一轮的比赛顺序,例如,5个队伍的比赛编排情况如图a所示;第二轮开始,固定编号1,其余编号均按逆时针方向移动一个位置,即为该轮比赛顺序;以后各轮比赛顺序以此类推,与编号0对阵的表示本轮轮空。
小赵为此编写了VB程序,功能如下:在文本框Text1中输入参赛队伍数N,单击“编排”按钮command1,在列表框list1中输出每轮比赛顺序。程序运行效果如图所示。

实现上述功能的VB代码如下,
Private Sub Command1_Click()
Dim team(1 To 20) As String
Dim n As Integer, c As Integer, result As String
Dim i As Integer, j As Integer, temp As String
n = __________
For i = 1 To n
team(i) = Str(i)
Next i
c = n + n Mod 2
If c <> n Then team(c) = Str(0)
For i = 1 To n
result = ""
For j = 1 To c \ 2
result = result & team(j) & "-" & __________ & ";"
Next j
List1.AddItem "第" & Str(i) & "轮:" & result
temp = team(c)
For j = c To 2 Step -1
team(j) = _________
Next j
team(2) = temp
Next i
End Sub
第一轮![]() ![]() 2-5 ![]() | 第二轮 1-5 0-4 2-3 | 第三轮 1-4 5-3 0-2 | 第四轮 1-3 4-2 5-0 | 第五轮 1-2 3-0 4-5 |
小赵为此编写了VB程序,功能如下:在文本框Text1中输入参赛队伍数N,单击“编排”按钮command1,在列表框list1中输出每轮比赛顺序。程序运行效果如图所示。

实现上述功能的VB代码如下,
Private Sub Command1_Click()
Dim team(1 To 20) As String
Dim n As Integer, c As Integer, result As String
Dim i As Integer, j As Integer, temp As String
n = __________
For i = 1 To n
team(i) = Str(i)
Next i
c = n + n Mod 2
If c <> n Then team(c) = Str(0)
For i = 1 To n
result = ""
For j = 1 To c \ 2
result = result & team(j) & "-" & __________ & ";"
Next j
List1.AddItem "第" & Str(i) & "轮:" & result
temp = team(c)
For j = c To 2 Step -1
team(j) = _________
Next j
team(2) = temp
Next i
End Sub
(加试题)某VB程序段如下:
s = 0
For i = 1 To 5
a(i) = 0
Next i
For i = 2 To 5
For j = i To 5
If j Mod i = 0 Then
a(j) = a(j) + 1
s = s + a(j)
End If
Next j
Next i
运行程序段后,变量s的值为
s = 0
For i = 1 To 5
a(i) = 0
Next i
For i = 2 To 5
For j = i To 5
If j Mod i = 0 Then
a(j) = a(j) + 1
s = s + a(j)
End If
Next j
Next i
运行程序段后,变量s的值为
A.6 | B.5 | C.4 | D.3 |
某VB程序段如下所示:
Dim x As String
Private Sub Form_Load()
x = ""
End Sub
Private Sub Text1_Change()
Dim s As String, k As String
Dim i As Integer
s = "0123456789ABCDEF"
k = Text1.Text
For i = 1 To Len(s)
If Mid(s, i, 1) = k Then x = x + k
Next i
If x = "" Then x = "没有找到!"
Label1.Caption = x
End Sub
若在文本框Text1中依次输入“2”和“9”,则Label1上显示的内容为
Dim x As String
Private Sub Form_Load()
x = ""
End Sub
Private Sub Text1_Change()
Dim s As String, k As String
Dim i As Integer
s = "0123456789ABCDEF"
k = Text1.Text
For i = 1 To Len(s)
If Mid(s, i, 1) = k Then x = x + k
Next i
If x = "" Then x = "没有找到!"
Label1.Caption = x
End Sub
若在文本框Text1中依次输入“2”和“9”,则Label1上显示的内容为
A.11 | B.2 | C.9 | D.29 |
小婷编写了一个VB程序,实现如下功能,在文本框text1中输入一个4位整数zs,单击解密按钮后,在list1列表框中显示当前zs值降序开始的10位相邻整数“解密前”和“解密后”的信息,运行界面如第图所示。
解密规则:将整数中各个位中的每一位值乘以5,然后除以8所得余数即为该位的值,然后将所得数的首末位进行交换。如数字9357,解密后的值为 3715。

(1)观察程序代码,可知“解密”按钮的对象名是 。
(单选,填字母:
(2)实现上述功能,请在划线处填入合适的代码。
Private Sub Decryp_Click( )
Dim zs As Long, g As Integer, s As Integer, b As Integer, q As Integer
Dim jmh As String, m As Integer
zs = Val(Text1.Text)
For m = zs To ①
q = (m \ 1000) * 5 Mod 8
b = ((m \ 100) Mod 10) * 5 Mod 8
s = ((m \ 10) Mod 10) * 5 Mod 8
g = (m Mod 10) * 5 Mod 8
jmh = ②
List1.AddItem Str(m) + " " + jmh
Next m
End Sub
(3)由上述算法可知,四位数“6124”对应的解密数值是 。
解密规则:将整数中各个位中的每一位值乘以5,然后除以8所得余数即为该位的值,然后将所得数的首末位进行交换。如数字9357,解密后的值为 3715。

(1)观察程序代码,可知“解密”按钮的对象名是 。
(单选,填字母:
A.Command1 | B.List1 | C.Decryp_Click( ) | D.Decryp | E.解密) |
Private Sub Decryp_Click( )
Dim zs As Long, g As Integer, s As Integer, b As Integer, q As Integer
Dim jmh As String, m As Integer
zs = Val(Text1.Text)
For m = zs To ①
q = (m \ 1000) * 5 Mod 8
b = ((m \ 100) Mod 10) * 5 Mod 8
s = ((m \ 10) Mod 10) * 5 Mod 8
g = (m Mod 10) * 5 Mod 8
jmh = ②
List1.AddItem Str(m) + " " + jmh
Next m
End Sub
(3)由上述算法可知,四位数“6124”对应的解密数值是 。
扔球进袋游戏是一种体现人思维反应能力的游戏,其思想为将数量有限的桶进行编号,分别为1~n,另有乒乓球m个,乒乓球上可写上1~n之间任意随机数,该随机数存储在数据b(1)~b(m)内。参与者则将所有手中的乒乓球扔入相应编号的桶内,完成后,1~n号桶内的乒乓球数量分别为a(1)~a(n)个,用此方法可以得出原先乒乓球的编号,并以有序的形式呈现。实现上述功能的vb程序如下,请回答以下问题。
(1) 某同学随机抽取了两个乒乓球,发现其编号为1和100,那么数组a的数组范围有可能是
(2) 修改划线处处的代码
dim n as integer,m as integer
Dim a(1 to n) as integer, b(1 to m) as integer
Private sub command1_click()
n=val(text1.text)
m=val(text2.text)
For i=1 to m
b(i)=int(rnd*n)+1
List1.additem str(b(i))
Next i
End sub
Private sub command2_click()
For i=1 to n
a(b(i))= b(i)+1
Next i
For j=1 to m
Do while b(j)<>0
List2.additem str(j)
b(j)= 0
Loop
Next j
End sub
(1) 某同学随机抽取了两个乒乓球,发现其编号为1和100,那么数组a的数组范围有可能是
(2) 修改划线处处的代码
dim n as integer,m as integer
Dim a(1 to n) as integer, b(1 to m) as integer
Private sub command1_click()
n=val(text1.text)
m=val(text2.text)
For i=1 to m
b(i)=int(rnd*n)+1
List1.additem str(b(i))
Next i
End sub
Private sub command2_click()
For i=1 to n
a(b(i))= b(i)+1
Next i
For j=1 to m
Do while b(j)<>0
List2.additem str(j)
b(j)= 0
Loop
Next j
End sub
某排序程序的主要代码如下所示:
n=5
For i = 1 To n-1
For j =n-1 To i step -1
If d(j) < d(j+1) Then k = d(j): d(j) = d(j + 1): d(j + 1) = k
Next j
Next i
在排序过程中,某一遍排序后的结果是81,77,1,76,70,则下一遍排序后的结果应该是
n=5
For i = 1 To n-1
For j =n-1 To i step -1
If d(j) < d(j+1) Then k = d(j): d(j) = d(j + 1): d(j + 1) = k
Next j
Next i
在排序过程中,某一遍排序后的结果是81,77,1,76,70,则下一遍排序后的结果应该是
A.81,76,1,77,70 | B.81,77,76,1,70 |
C.81,77,76,70,1 | D.1,70,76,77,80 |
某电信部门规定:拨打市话时,如果通话时间不超过3分钟(含3分钟),则收取通话费0.2元,如果通话时间超过3分钟,则超过部分以每分钟0.1元收取通话费(通话时间为整数)。下面是计算通话费用的流程图和程序,请分析并回答问题。
(1)用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的___________步骤
(2)上图中的流程图中菱形表示的是________________
(3)在下列选项中,不属于VB的对象的是(_____)
A.窗体的背景颜色 B.命令按钮 C.文本框 D.标签
(4)根据题意,完善流程图作图,填写空白处①______________________
(5)下图是计算通话费用程序窗体界面布局示意图。

Command1_Clik事件过程如下。请填写程序空白处。
Private Sub Command1_Click()
Dim ________as __________
x = Val(Text1.Text)
____________________ Then
’条件语句
_________________________
’显出时间不超过3分钟的电话费
Else
Text2.Text = Str(0.2 + 0.1 * (x - 3)) ’显出通话时间超过3分钟时的电话费
End If
End Sub
(6)这段程序属于__________结构程序设计。
(7)要使一个命令按钮显示文字“确定”,正确的设置是把该命令按钮的(_________)。
A.属性Font设置为“确定” B.属性.ForeColor设置为“确定”
C.属性Caption设置为“确定” D.属性BorderStyle设置为“确定”
(8)“’条件语句”它对程序的运行(____________)
A.起一定作用 B.有时候起作用
C.不起任何作用,但是必须的 D.不起任何作用,但能增加程序的可阅读性
(9)在调试程序的时候,经常要设置断点,设置断点的快捷键是______________
(10)在程序调试程序过程中,___________(填:“编译错误”或“逻辑错误”或“执行错误”)是计算机检查不出来的

(1)用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的___________步骤
(2)上图中的流程图中菱形表示的是________________
(3)在下列选项中,不属于VB的对象的是(_____)
A.窗体的背景颜色 B.命令按钮 C.文本框 D.标签
(4)根据题意,完善流程图作图,填写空白处①______________________
(5)下图是计算通话费用程序窗体界面布局示意图。

Command1_Clik事件过程如下。请填写程序空白处。
Private Sub Command1_Click()
Dim ________as __________
x = Val(Text1.Text)
____________________ Then
’条件语句
_________________________
’显出时间不超过3分钟的电话费
Else
Text2.Text = Str(0.2 + 0.1 * (x - 3)) ’显出通话时间超过3分钟时的电话费
End If
End Sub
(6)这段程序属于__________结构程序设计。
(7)要使一个命令按钮显示文字“确定”,正确的设置是把该命令按钮的(_________)。
A.属性Font设置为“确定” B.属性.ForeColor设置为“确定”
C.属性Caption设置为“确定” D.属性BorderStyle设置为“确定”
(8)“’条件语句”它对程序的运行(____________)
A.起一定作用 B.有时候起作用
C.不起任何作用,但是必须的 D.不起任何作用,但能增加程序的可阅读性
(9)在调试程序的时候,经常要设置断点,设置断点的快捷键是______________
(10)在程序调试程序过程中,___________(填:“编译错误”或“逻辑错误”或“执行错误”)是计算机检查不出来的
求孪生素数。孪生素数要求为:两个相邻奇数且都是素数。下列Visual Basic程序用于查找100以内的所有孪生素数,其中自定义函数judge用于判断一个数是否是素数,程序运行界面如左图所示,Command1鼠标单击事件过程的流程图如右图所示。请在划线处填入相关代码。

程序代码如下:
Private Sub Command1_Click()
Dim i As Integer
List1.Clear '清除列表框内容
For i = 3 To 97 ___①___
If judge(i) And ②____ Then
List1.AddItem Str(i) + " 和 " + Str(i + 2)
End If
Next i
End Sub
Function judge(x As Integer) As Boolean
Dim j As Integer
judge = True
For j = 2 To Int(Sqr(x))
If x Mod j = 0 Then
judge = false
Exit For
End If
Next j
End Function
将加框部分转换为Do While条件循环结构,部分代码如下:
Private Sub Command1_Click()
Dim i As Integer
i = 3
Do While i <= 97
'循环内语句块与加框处循环内语句块相同
③________
Loop
End Sub


程序代码如下:
Private Sub Command1_Click()
Dim i As Integer
List1.Clear '清除列表框内容
For i = 3 To 97 ___①___
If judge(i) And ②____ Then
List1.AddItem Str(i) + " 和 " + Str(i + 2)
End If
Next i
End Sub
Function judge(x As Integer) As Boolean
Dim j As Integer
judge = True
For j = 2 To Int(Sqr(x))
If x Mod j = 0 Then
judge = false
Exit For
End If
Next j
End Function
将加框部分转换为Do While条件循环结构,部分代码如下:
Private Sub Command1_Click()
Dim i As Integer
i = 3
Do While i <= 97
'循环内语句块与加框处循环内语句块相同
③________
Loop
End Sub
(加试题)有如下VB程序段:
s = "7218634594" :n = Len(s)
t = 0
For i = 1 To n - 1
a(i) = Val(Mid(s, i, 2))
Next i
For i = 1 To n - 2 Step 2
k = i
For j = i + 2 To n - 1 Step 2
If a(j) < a(k) Then k = j
Next j
If k <> i Then
temp = a(i): a(i) = a(k): a(k) = temp: t = t + 1
End If
Next i
Text1.Text = Str(t)
该程序段运行后,文本框Text1中显示的内容是
s = "7218634594" :n = Len(s)
t = 0
For i = 1 To n - 1
a(i) = Val(Mid(s, i, 2))
Next i
For i = 1 To n - 2 Step 2
k = i
For j = i + 2 To n - 1 Step 2
If a(j) < a(k) Then k = j
Next j
If k <> i Then
temp = a(i): a(i) = a(k): a(k) = temp: t = t + 1
End If
Next i
Text1.Text = Str(t)
该程序段运行后,文本框Text1中显示的内容是
A.1 | B.2 | C.3 | D.4 |