- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
产生一个在[-10,99]中随机整数的VB表达式是
A.int (rnd*100) -10 | B.int(rnd*99)-10 |
C.int(rnd*109)-10 | D.int(rnd*110)-10 |
有如下程序段,若在text1中输入"abcd + BC + cdef + DE",请问程序执行后list1中第3行中出现的值为
Dim a(1 To 26) As Integer
s = Text1.Text : n = Len(s)
For i = 1 To n
c = Mid(s, i, 1)
If c >= "a" And c <= "z" Then
Next i
For i = 1 To 26
List1.AddItem Str(a(i))
Next i
Dim a(1 To 26) As Integer
s = Text1.Text : n = Len(s)
For i = 1 To n
c = Mid(s, i, 1)
If c >= "a" And c <= "z" Then
a(Asc(c) - 96) = a(Asc(c) - 96) + 1
ElseIf c >= "A" And c <= "Z" Thena(Asc(c) - 64) = a(Asc(c) - 64) + 1
End IfNext i
For i = 1 To 26
List1.AddItem Str(a(i))
Next i
A.1 | B.2 | C.3 | D.4 |
数组元素a(1)到a(7)中的数据依次为“3,6,1,6,2,9,6”,执行下面这段VB代码后变量i的值是
flag = False:i = 0
LuckNumber = 6
Do While i < 7 And flag = False
If flag = False Then i = 0
flag = False:i = 0
LuckNumber = 6
Do While i < 7 And flag = False
i = i + 1
If a(i) = LuckNumber Then flag = True
LoopIf flag = False Then i = 0
A.0 | B.2 | C.4 | D.7 |
(加试题)编写一个成绩查询程序,输入要查找的分数,输出该分数的名次及同分人数,其算法是:用数组a存放不同的分值,数组m存储相同分数的人数,数组mc存储不同分数的名次。例如,数据库中有一组成绩(已按降序排列):98,95,95,92,90,90,87,按该算法,各数组值如下表所示:
程序界面如下图所示,在文本框Text1中输入查询成绩,点击“查找”按钮,若找到,则输出该分数的名次和同分数的人数,若找不到,则输出“查无此分”。

程序代码如下,请在划线处填入合适的代码。
Dim n As Integer
Dim a(l To 1000) As Integer ’存放不同的分数值
Dim m(0 To 1000) As Integer ’存放相同分数的人数
Dim mc (0 To 1000) As Integer ’存放此分数的名次
Private Sub Form_Load()
Dim conn As New ADODB. Connection
Dim rs As New ADODB. Recordset
Dim tmp As Integer
Dim s As Integer
tmp = -1: n = 0
conn. Connectionstring = 〃provider=Microsoft. AC
conn. Open
Set rs. ActiveConnection = conn
rs.Open "Select * from score"
mc(0) = 1: m(0) = 0
If s = tmp Then ’当前读入分数与上一个分数相同
m(n) = __________
Else
n = n + 1
a(n) = s
m(n) = 1
mc(n) = ___________
End If
_____________
rs. MoveNext
Private Sub Command1_Click0
Dim key As Integer, i As Integer, j As Integer, mid As Integer
key = Val (Text1.Text)
i = 1: j = n
mid = (i + j) \ 2
Do While i <= j And ____________
If a(mid) = key Then
End Sub
i | 1 | 2 | 3 | 4 | 5 |
a | 98 | 95 | 92 | 90 | 87 |
m | 1 | 2 | 1 | 2 | 1 |
mc | 1 | 2 | 4 | 5 | 7 |
程序界面如下图所示,在文本框Text1中输入查询成绩,点击“查找”按钮,若找到,则输出该分数的名次和同分数的人数,若找不到,则输出“查无此分”。

程序代码如下,请在划线处填入合适的代码。
Dim n As Integer
Dim a(l To 1000) As Integer ’存放不同的分数值
Dim m(0 To 1000) As Integer ’存放相同分数的人数
Dim mc (0 To 1000) As Integer ’存放此分数的名次
Private Sub Form_Load()
Dim conn As New ADODB. Connection
Dim rs As New ADODB. Recordset
Dim tmp As Integer
Dim s As Integer
tmp = -1: n = 0
conn. Connectionstring = 〃provider=Microsoft. AC
A.OLEDB. 12. 0; data source=〃 & App. Path & 〃\mydb. accdb〃 |
Set rs. ActiveConnection = conn
rs.Open "Select * from score"
mc(0) = 1: m(0) = 0
Do While Not rs. EOF
s = rs. Fields (〃成绩〃)If s = tmp Then ’当前读入分数与上一个分数相同
m(n) = __________
Else
n = n + 1
a(n) = s
m(n) = 1
mc(n) = ___________
End If
_____________
rs. MoveNext
Loop
End SubPrivate Sub Command1_Click0
Dim key As Integer, i As Integer, j As Integer, mid As Integer
key = Val (Text1.Text)
i = 1: j = n
mid = (i + j) \ 2
Do While i <= j And ____________
mid = (i + j) \ 2
If a(mid) < key Then
j = mid – 1Else
i = mid + 1End If
LoopIf a(mid) = key Then
Label2. Caption = 〃名次: 〃+ Str(mc (mid)) + 〃同分人数: 〃+ Str(m(mid))
ElseLabel2. Caption = 〃查无此分〃
End IfEnd Sub
(加试题)幸运数。一组1幵始的奇数数列为:
1,3,5,7,9,11,13,15,17,19,21,23,25,……
此数列的第二项为3,将此数列的第3n个数删除,留下的数为:
1,3,7,9,13,15,19,21,25,……
新数列的第三项为7,将新数列的第7n个数删除,留下的数为:
1,3,7,9,13,15,21,25,……
若一直重复上述步骤,最后剩下的数就是幸运数:
1,3,7,9,13,15,21,25,31,33,37,43,49,51,……
下列程序的功能是找出1000以内的幸运数,但加框处代码有错,请改正。
Private Sub Command1_Click()
Dim a(500) As Integer, b(500) As Integer
Dim i As Integer, m As Integer, k As Integer
Dim top As Integer, bott As Integer
’产生由1开始的奇数数列,依次存储在数组a中,代码略
top = 2: bott = 500
Do While top < bott
For i = 1 To bott
End Sub
(1)Private Sub Command1_Click()中的click是____________(
(2)改正加框处的代码,并在横线处填写合适的代码
①_____________________________
②_____________________________
③_____________________________
1,3,5,7,9,11,13,15,17,19,21,23,25,……
此数列的第二项为3,将此数列的第3n个数删除,留下的数为:
1,3,7,9,13,15,19,21,25,……
新数列的第三项为7,将新数列的第7n个数删除,留下的数为:
1,3,7,9,13,15,21,25,……
若一直重复上述步骤,最后剩下的数就是幸运数:
1,3,7,9,13,15,21,25,31,33,37,43,49,51,……
下列程序的功能是找出1000以内的幸运数,但加框处代码有错,请改正。
Private Sub Command1_Click()
Dim a(500) As Integer, b(500) As Integer
Dim i As Integer, m As Integer, k As Integer
Dim top As Integer, bott As Integer
’产生由1开始的奇数数列,依次存储在数组a中,代码略
top = 2: bott = 500
Do While top < bott
①
For i = 1 To bott
If i Mod a(top) < > 0 Then
b(k) = a(i)___________________ ②
End If
Next i
③
top = top + 1
For i = 1 To bott
A(1) = b(1)Next i
LoopFor i = 1 To bott
List1.Addltem Str(a(i))
Next iEnd Sub
(1)Private Sub Command1_Click()中的click是____________(
A.对象名 | B.属性名 | C.事件名) |
①_____________________________
②_____________________________
③_____________________________
数组d的初始值如下表所示,则d[d[3]]+d[4]的值是______________。
d[1] | d[2] | d[3] | d[4] | d[5] | d[6] |
2 | 4 | 6 | 8 | 10 | 12 |