- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 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
(加试题)中秋节时,班级组织活动,其中有抽奖环节,小龙在7选3中选考了技术,班主任让小龙编写一个VB抽奖程序,功能如下:窗体装载过程从数据库读取所有同学的相关数据并显示在列表框List1中,抽奖时在文本框Text1中输入要抽出的人数,单击“摇奖”按钮command1,程序进行处理,结果输出在列表框list2中。程序运行界面如下图所示。

实现上述功能的VB程序如下,请回答下列问题:
(1)分析下面的程序代码,可知数据表名为________
(2)请在划线处填入合适的代码。
Dim a(1 To 100) As String '数组大小满足处理要求,学生学号
Dim b(1 To 100) As String '数组大小满足处理要求,学生姓名
Dim i As Integer '学生总数
Dim j As Integer
Dim dd(1 To 100) As Integer
Private Sub Form_Load()
‘从数据库读取全班同学的相关信息,存储在数组a、数组b和变量i中
Dim n As Integer
Private Sub Command1_Click()
Dim ShuruNum As Integer, k As Integer, y As Integer,n As Integer
Randomize
ShuruNum = Val(Text1.Text)
Label4.Caption = ""
For k = 1 To i
dd(k) = 0
Next k
If ShuruNum > 0 And ShuruNum <= i Then
j = 1
Do While j <= ShuruNum
y = Int(Rnd() * i) + 1
If________________ Then' ①
dd(j) = y
j = j + 1
End If
Loop
List2.Clear
For n = 1 To ShuruNum
List2.AddItem ________________ '②
Next n
Else
Label4.Caption = "错误:没有输入中奖人数或超过学生总数"
End If
End Sub
'核对重复,避免同一人再次中奖
Private Function CheckCF(p As Integer) As Boolean
Dim m As Integer,x As Boolean
x = True '初始化
For m = 1 To j
If ________________ Then '③
x = False
Exit For
End If
Next m
CheckCF = x
End Function

实现上述功能的VB程序如下,请回答下列问题:
(1)分析下面的程序代码,可知数据表名为________
(2)请在划线处填入合适的代码。
Dim a(1 To 100) As String '数组大小满足处理要求,学生学号
Dim b(1 To 100) As String '数组大小满足处理要求,学生姓名
Dim i As Integer '学生总数
Dim j As Integer
Dim dd(1 To 100) As Integer
Private Sub Form_Load()
‘从数据库读取全班同学的相关信息,存储在数组a、数组b和变量i中
Dim n As Integer
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strSQL As String
conn.ConnectionString = "Provider=Microsoft.ACA.OLEDB.12.0;Data Source=" & App.Path & "\1718.accdb" |
conn.Open
Set rs.ActiveConnection = conn
strSQL = "SELECT * FROM stuinfo"
rs.Open strSQL
'本过程的其他语句略
End SubPrivate Sub Command1_Click()
Dim ShuruNum As Integer, k As Integer, y As Integer,n As Integer
Randomize
ShuruNum = Val(Text1.Text)
Label4.Caption = ""
For k = 1 To i
dd(k) = 0
Next k
If ShuruNum > 0 And ShuruNum <= i Then
j = 1
Do While j <= ShuruNum
y = Int(Rnd() * i) + 1
If________________ Then' ①
dd(j) = y
j = j + 1
End If
Loop
List2.Clear
For n = 1 To ShuruNum
List2.AddItem ________________ '②
Next n
Else
Label4.Caption = "错误:没有输入中奖人数或超过学生总数"
End If
End Sub
'核对重复,避免同一人再次中奖
Private Function CheckCF(p As Integer) As Boolean
Dim m As Integer,x As Boolean
x = True '初始化
For m = 1 To j
If ________________ Then '③
x = False
Exit For
End If
Next m
CheckCF = x
End Function
(加试题)小龙编写了一个简易加法器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 |
(加试题)某排序算法的VB程序段如下:
n = 10
Text1.Text = ""
For i = 1 To 5
For j = n To i + 1 Step -1
If a(j) < a(i) Then
temp = a(j): a(j) = a(i): a(i) = temp
End If
Next j
Next i
For i = 1 To 10
Text1.Text = Text1.Text + Str(a(i))
Next i
数组元素a(1)到a(10)的值依次为“965,155,195,444,106,734,172,983,898,360”,执行该程序段,文本框Text1中显示的是
n = 10
Text1.Text = ""
For i = 1 To 5
For j = n To i + 1 Step -1
If a(j) < a(i) Then
temp = a(j): a(j) = a(i): a(i) = temp
End If
Next j
Next i
For i = 1 To 10
Text1.Text = Text1.Text + Str(a(i))
Next i
数组元素a(1)到a(10)的值依次为“965,155,195,444,106,734,172,983,898,360”,执行该程序段,文本框Text1中显示的是
A.106 155 172 195 360 444 734 898 965 983 |
B.106 155 172 195 360 734 444 983 898 965 |
C.983 965 898 734 444 360 172 195 155 106 |
D.106 155 172 195 360 965 444 734 898 983 |
有一个数列,它的前二个数为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,8,执行流程后,s的值是


A." 1 0 8" | B." 1 2" | C." 0 1" | D." 2 1" |