- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- + 算法实例的程序实现
- 过程和自定义函数
- 枚举算法及程序实现
- 解析算法及程序实现
- 递归算法及程序实现
- 排序算法及程序实现
- 查找算法及程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
一个三位正整数,它是一个奇数,它的百位数、十位数、个位数之和为9的倍数,例如225。试求所有满足上述条件的数的和。
(1) 我们可以用_____算法来完成本题。
(2) 假设我们通过某一方法得到一个三位数X各位数字之和为S,如何判断S是9的倍数?写出VB语言的关系表达式______________
(3) 用VB语言完成本题。__________
(1) 我们可以用_____算法来完成本题。
(2) 假设我们通过某一方法得到一个三位数X各位数字之和为S,如何判断S是9的倍数?写出VB语言的关系表达式______________
(3) 用VB语言完成本题。__________
现有数组d如下:
若按降序排列,采用选择排序算法选出最大值进行比较和交换,那么在第4轮的数据处理过程后,d(8)的值是( )。
d(1) | d(2) | d(3) | d(4) | d(5) | d(6) | d(7) | d(8) |
10 | 12 | 21 | 6 | 15 | 5 | 3 | 18 |
若按降序排列,采用选择排序算法选出最大值进行比较和交换,那么在第4轮的数据处理过程后,d(8)的值是( )。
A.21 | B.6 | C.5 | D.12 |
(加试题)小王编写了一个猜价格的VB程序,程序界面如图所示。程序运行时,在列表框List1中显示20个随机生成的在[150,250]之间的价格及其序号。在文本框Text1中输入报价,单击Command1 “猜测”按钮后,在Label3中输出猜中价格对应的序号。

实现上述功能的VB程序如下,但加框处代码有误,请改正。
Dim d(1 To 20) As Integer
Private Sub Form_Load()
For i = 1 To 20 '生成20个随机价格
d(i)=Int(Rnd*100)+150 ‘(1)________
Next i
For i = 1 To 19
For j = 20 To i + 1 Step -1
If d(j) < d(j - 1) Then
t = d(j): d(j) = d(j - 1): d(j - 1) = t
End If
For i = 1 To 20
End Sub
Private Sub Command1_Click()
Dim baojia As Integer,i as integer, j as integer, t as integer , m as integer
Randomize
List1.Clear
baojia = Val(Text1.Text)
i = 1
j = 20
Do While i<= j
m=(i+j)/2 ‘(2)________
If baojia = d(m) Then
Label3.Caption = "猜中 第" + Str(i) + "个"
Exit Do
ElseIf baojia<d(m) Then
j = m - 1
Else
i=m-1 ‘(3)________
End If
Loop
End Sub

实现上述功能的VB程序如下,但加框处代码有误,请改正。
Dim d(1 To 20) As Integer
Private Sub Form_Load()
For i = 1 To 20 '生成20个随机价格
d(i)=Int(Rnd*100)+150 ‘(1)________
Next i
For i = 1 To 19
For j = 20 To i + 1 Step -1
If d(j) < d(j - 1) Then
t = d(j): d(j) = d(j - 1): d(j - 1) = t
End If
Next j
Next iFor i = 1 To 20
List1.AddItem Str(i) + Str(d(i))
Next iEnd Sub
Private Sub Command1_Click()
Dim baojia As Integer,i as integer, j as integer, t as integer , m as integer
Randomize
List1.Clear
baojia = Val(Text1.Text)
i = 1
j = 20
Do While i<= j
m=(i+j)/2 ‘(2)________
If baojia = d(m) Then
Label3.Caption = "猜中 第" + Str(i) + "个"
Exit Do
ElseIf baojia<d(m) Then
j = m - 1
Else
i=m-1 ‘(3)________
End If
Loop
End Sub
(加试题)以下 VB 程序段用插入排序的方法实现 10 个数据升序排序。
Dim tmp As Integer
Dim a(1 To 10) As Integer
Private Sub Form_Load
'随机生成 10 个不重复的数存入数组 a,代码略
End Sub
Private Sub Command1_Click
For i = 2 To 10
If a(i) < a(i- 1) Then tmp = a(i)
For j = ① To 1 Step -1 '依次后移
If tmp > a(j) Then Exit For
②
Next j
③ '插入数据
End If
Next i End Sub 要实现上述功能,方框①②③中的语句分别是( )
Dim tmp As Integer
Dim a(1 To 10) As Integer
Private Sub Form_Load
'随机生成 10 个不重复的数存入数组 a,代码略
End Sub
Private Sub Command1_Click
For i = 2 To 10
If a(i) < a(i- 1) Then tmp = a(i)
For j = ① To 1 Step -1 '依次后移
If tmp > a(j) Then Exit For
②
Next j
③ '插入数据
End If
Next i End Sub 要实现上述功能,方框①②③中的语句分别是( )
A.i-1a(j+1)=a(j)a(j+1)=tmp |
B.i-1a(j+1)=a(j)a(j)=tmp |
C.10a(j)=a(j+1)a(j)=tmp |
D.10a(j)=a(j+1)a(j+1)=tmp |
某书店在5所学校流动售书量(单位,本)分别是88,110,48,64,35。若采用冒泡排序算法对其进行从小到大排序,则第二趟的排序结果是( )。
A.35 88 110 48 64 |
B.35 48 88 64 110 |
C.35 48 88 110 64 |
D.35 48 64 88 110 |
将6名选手的歌唱比赛成绩存放在数组a中,如下表所示:

若按升序排列,采用冒泡排序算法自右向左进行比较和交换,第二轮排序之后a(4)中的值为________

若按升序排列,采用冒泡排序算法自右向左进行比较和交换,第二轮排序之后a(4)中的值为________
(加试题)中秋节时,班级组织活动,其中有抽奖环节,小龙在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代码如下:
i = 1
Do While i<= 5
If i = 0 Or a(i - 1) <= a(i) Then
i = i + 1
Else
t = a(i): a(i) = a(i - 1): a(i - 1) = t
i = i - 1
End If
Loop
数组元素a(0)到a(5)依次为:“0,61,22,43,89,27”,经过该程序段处理后,数组元素a(4)的值为( )
i = 1
Do While i<= 5
If i = 0 Or a(i - 1) <= a(i) Then
i = i + 1
Else
t = a(i): a(i) = a(i - 1): a(i - 1) = t
i = i - 1
End If
Loop
数组元素a(0)到a(5)依次为:“0,61,22,43,89,27”,经过该程序段处理后,数组元素a(4)的值为( )
A.43 |
B.89 |
C.61 |
D.27 |
第1次,将1张正方形纸片沿垂直和水平中线对折后撕开,变成4张纸片,第2次,从4张纸片中取其中1张纸片也照上面方法撕开,变成7张纸片,一直这样下去。描述计算撕了n次后纸片总数s的算法部分流程图如下图所示:

空白矩形框中应该填入的是 ( )

空白矩形框中应该填入的是 ( )
A.s←s+2 | B.s←s+3 | C.s←s+j | D.s←s*3 |
某VB程序使用了递归函数,代码如下:
Private Sub Command1_Click()
N= val(Text1.Text)
Function f(x As Integer) As String
Dim t as integer
在文本框Text1中输入3,运行程序并点击按钮Command1后,文本框Text2中显示的内容是( )
Private Sub Command1_Click()
N= val(Text1.Text)
Text2.Text = f(n)
End SubFunction f(x As Integer) As String
Dim t as integer
If x = 1 Then t = 1 Else t = val(f(x - 1)) + 2
f=str(t)
End Function在文本框Text1中输入3,运行程序并点击按钮Command1后,文本框Text2中显示的内容是( )
A.1 | B.5 | C.135 | D.531 |