- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
实现某排序算法的部分VB 程序如下:
For i=1 To 6
k=i
For j=i+1 To 7
If a(j)<a(k) Then k=j
Next j
If i<>k Then
t=a(i):a(i)= a(k):a(k)= t
End If
Next i
在排序过程中,经过某一遍排序“加工”后,数组元素a(1)到a(7)的数据依次为“10,41,75,12,63,11,85”。则下一遍排序“加工”后数组元素a(1)到a(7)的数据依次是( )
For i=1 To 6
k=i
For j=i+1 To 7
If a(j)<a(k) Then k=j
Next j
If i<>k Then
t=a(i):a(i)= a(k):a(k)= t
End If
Next i
在排序过程中,经过某一遍排序“加工”后,数组元素a(1)到a(7)的数据依次为“10,41,75,12,63,11,85”。则下一遍排序“加工”后数组元素a(1)到a(7)的数据依次是( )
A.10,11,41,75,12,63,85 | B.10,11,75,12,63,41,85 |
C.10,11,12,75,63,41,85 | D.10,11,12,41,63,75,85 |
下列VB 程序用于求2个正整数(均小于10000)的最大公约数:
Private Sub Command1_Click()
Dim x As Integer,y As Integer,z As Integer
x=Val(Text1.Text) ‘第1 个正整数
y=Val(Text2.Text) ‘第2 个正整数
‘调用函数gcd
Text3.Text=Str(z)
End Sub
Function gcd(a As Integer,b As Integer) As Integer
Do While a <> b
If a>b Then a=a-b Else b=b-a
Loop
gcd=b
End Function
方框中的正确语句是( )
Private Sub Command1_Click()
Dim x As Integer,y As Integer,z As Integer
x=Val(Text1.Text) ‘第1 个正整数
y=Val(Text2.Text) ‘第2 个正整数

Text3.Text=Str(z)
End Sub
Function gcd(a As Integer,b As Integer) As Integer
Do While a <> b
If a>b Then a=a-b Else b=b-a
Loop
gcd=b
End Function
方框中的正确语句是( )
A.z=gcd | B.z=gcd(a,b) | C.z=gcd(x,y) | D.z=gcd x,y |
变量a 中存储了一个字符,能够正确判断该字符为数字字符“0”~ “9”的VB 表达式是( )
A.Asc(a)>=0 Or Asc(a)<=9 | B.“0”<=a<=“9” |
C.a<=“0”Or a>=“9” | D.a>=“0”and a<=“9” |
7位学生的身高(单位:cm)从高到低依次为:178,177,175,172,170,165,162。用对分查找法找到178 的过程中,依次被访问到的数据是( )
A.178 | B.172,175,178 | C.172,177,178 | D.172,175,177,178 |
以下程序段运行时出现如图所示的错误提示:
For i=1 To 100
If Rnd>0.5 Then
n=n+1
Else
m=m+1
Next i
分析该程序段,该代码中缺少了( )

If Rnd>0.5 Then
n=n+1
Else
m=m+1
Next i
分析该程序段,该代码中缺少了( )
A.For | B.End If | C.Next | D.If |
已知斐波那契数列前8项是1,1,2,3,5,8,13,21,设计如下VB程序求其第n 项的值:
Dim a(1 to 1000)as long,n as integer
n=Val(Text1.Text)
a(1)= 1:a(2)= 1
For i=3 to n
a(i)= a(i-1)+a(i-2)
Next i
Label1.Caption=“斐波那契的第”&Str(n)&“是”&a(n)
该程序用到了下列哪一个算法( )
Dim a(1 to 1000)as long,n as integer
n=Val(Text1.Text)
a(1)= 1:a(2)= 1
For i=3 to n
a(i)= a(i-1)+a(i-2)
Next i
Label1.Caption=“斐波那契的第”&Str(n)&“是”&a(n)
该程序用到了下列哪一个算法( )
A.枚举算法 | B.递归算法 | C.排序算法 | D.查找算法 |
(加试题)某查找算法的 VB 程序段如下:
i = 1: j = 7: n = 0
Key = Val(Text1.Text)
Do While i <= j
n = n + 1
m = Int((i + j) / 2)
If Key = a(m) Then Exit Do
If Key < a(m) Then j = m - 1 Else i = m + 1
Loop
数组元素 a(1)到 a(7)存放的数值依次为 8,21,27,36,79,28,98,若该程序段运行结束后,n 的值为 2,则 Text1 中输入的要查找的数是()
i = 1: j = 7: n = 0
Key = Val(Text1.Text)
Do While i <= j
n = n + 1
m = Int((i + j) / 2)
If Key = a(m) Then Exit Do
If Key < a(m) Then j = m - 1 Else i = m + 1
Loop
数组元素 a(1)到 a(7)存放的数值依次为 8,21,27,36,79,28,98,若该程序段运行结束后,n 的值为 2,则 Text1 中输入的要查找的数是()
A.27 或 79 | B.28 | C.21 或 28 | D.21 |
(加试题)某同学设计了一个VB程序用于分析“纸牌游戏”中发到手的牌的信息,各牌面值在程序中的输入值和输出值如图所示。程序运行界面如图所示,在文本框Text1中输入数字代表玩家手中的牌的信息,点击“分析”按钮后,在列表框list1按牌面值顺序输出各中牌的相关信息。

请回答下列问题:
(1)在打牌中5张以上的连续牌称为顺子,若输入的牌是“8991012141511610113”,则这些牌中的顺子是(使用上图中“输出值”表示各种牌):____________________
(2)请在划线处填上合适的代码。
Private Sub Command1_Click()
Dim zpAs String, pai As String, t As String
Dim a(1 To 50) As Integer, b(3 To 15) As Integer
‘a数组存储按序输入的各个牌,b数组存储每个牌型(3~10,JQKA2)的数量
Dim i As Integer, c As Integer, k As Integer, flag As Boolean
Const s = "34567890JQKA2" '输出牌型,牌10用0代替
zp= Text1.Text
i = 1: c = 1: flag = True
Do While i <= Len(zp) And flag = True
pai = Mid(zp, i, 1)
If pai >= "3" And pai <= "9" Then
a(c) = Val(pai): i = i + 1
ElseIf pai = "1" Then ‘要用2位数字代表某个牌
k =①_________________
If k >= 10 And k <= 15 Then
a(c) = k
i = i + 2
Else
flag = False
End If
Else
flag = False
End If
c=c+1
Loop
If flag = False Then
List1.AddItem "输入数据有误"
Else
For i = 1 To c -1 '洗牌,统计每个牌型的张数
(____________________________________________________________)
Next i
List1.AddItem "共有" + Str(c -1) + "张牌"
For i = 1 To ③_________________
t = ""
For k = 1 Tob(i+2)输出每个牌型及其数量
t = t + Mid(s, i, 1)
Next k
If Len(t) > 0 Then List1.AddItem t
Next i
End If
End Sub