- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
有序(非降序)数组A有n个元素,用对分查找算法在数组A中查找key值所在的位置,如果有重复的元素,则显示最早出现该key值的位置。相应的VB程序段如下:
key = Val(Text1.Text)
i = 1: j = n
Do While i <= j
m = (i + j) \ 2
If a(m) > key Then
j = m - 1
ElseIf a(m) < key Then
i = m + 1
Else
If ① Then
j = m - 1
Else
Label2.Caption = Str(key) + "的起始位置是" + Str(m)
Exit Do
End If
End If
Loop
If i > j Then
Label2.Caption = "找不到" + Str(key)
End If
要使程序实现上述算法思想,则方框中的语句是
key = Val(Text1.Text)
i = 1: j = n
Do While i <= j
m = (i + j) \ 2
If a(m) > key Then
j = m - 1
ElseIf a(m) < key Then
i = m + 1
Else
If ① Then
j = m - 1
Else
Label2.Caption = Str(key) + "的起始位置是" + Str(m)
Exit Do
End If
End If
Loop
If i > j Then
Label2.Caption = "找不到" + Str(key)
End If
要使程序实现上述算法思想,则方框中的语句是
A.a(m - 1) = key | B.a(m) = key | C.m - 1 >= 0 And a(m - 1) = key | D.m - 1 >= 0 And a(m) = key |
(加试题)创建VB程序,统计英语短文中字母出现的次数,并输出出现次数最多的字母和未出现的字母。要求字母不区分大小写,均表示为大写字母。程序运程界面如图所示。

算法如下:
(1)获取输入的英语短文,存入变量s
(2)统计字母出现次数
依次取出s中的每个字符
如果是大写字母,计算其在字母表中的位置n,并计数
如果是小写字母,计算其在字母表中的位置n,并计数
(用数组a存放26个字母出现的次数,a(1)存放“A”出现的次数,a(2)存储“B”出现的次数,……,a(26)存储“Z”出现的次数。)
(3)找出最大出现次数
(4)找出出现次数最多和未出现过的字母并输出
VB程序如下,在其中①②③划线处填定相应代码,完善程序。Private Sub Command1_Click()
Dim i As Integer, n As Integer, max As Integer
Dim a(1 To 26) As Integer '数组a存放26个字母出现的次数。
Dim s As String, c As String '变量s存放输入的短文
Dim s1 As String, s2 As String '变量s1、s2分别存放出现次数最高和未出现的字母组成的字符串
s = Text1.Text
'统计字母出现次数
For i = 1 To Len(s)
c = Mid(s, i, 1)
If c >= "A" And c <= "Z" Then
n = Asc(c) - Asc("A") + 1
a(n) =(1)____________
ElseIf c >= "a" And c <= "z" Then
n = Asc(c) - 32 - Asc("A") + 1
a(n) = a(n) + 1
End If
Next i
'找出最大出现次数
max = a(1)
For i = 1 To 26
If(2)____________ Then
max = a(i)
End If
Next i
'找出出现次数最多和未出现过的字母
For i = 1 To 26
If (3)__________ Then
s1 = s1 + " " + Chr(Asc("A") + i - 1)
ElseIf a(i) = 0 Then
s2 = s2 + " " + Chr(Asc("A") + i - 1)
End If
Next i
Label2.Caption = "出现次数最多的字母是:" & s1 & " 出现次数为:" & Str(max)
Label3.Caption = "未出现的字母是:" & s2
End Sub
(加试题)数字反转,下面程序的功能是:输入一个非负整数,将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。如输入120,反转后输出21,程序运行时,在文本框Text1中输入反转前的数字,单击“反转”按钮后,在文本框Text2中显示反转后的数字。程序运行效果如图所示。

为实现上述功能的程序如下,请在程序划线处填入合适的代码。
Private Sub Command1_Click()
Dim a As String
Dim n As Integer
a = Text1.Text
n = Len(a)
Do While ① and Mid(a,n,1)=”0”
n = n - 1
Loop
For i = n To 1 Step -1
Text2.Text = Text2.text + ②
Next i
End Sub
(1)划线①处应填入的语句为:_____________________________
(2)划线②处应填入的语句为:_____________________________
(加试题)所谓双向排序是在一遍加工中先从上到下把最大的元素送到最下的位置,再从下到上把最小的元素送到最上的位置。实现上述功能的vb代码如下:
Dim a(1 to 100) as integer
Const n=10
Private Sub form_load()
’生成n个随机数,存储在数组a中,代码略
End Sub
Private Sub command1_click()
Dim I as integer,j as integer
For ①
For j=i to n-i
If a (j)>a(j+1) then
t=a(j):a(j)=a(j+1):a(j+1)=t
End If
Next j
For ②
If a(j)<a(j-1) then
t=a(j):a(j)=a(j-1):a(j-1)=t
End If
Next j
Next i
for i=1 to n
List2.additem str(a(i))
Next i
End Sub
程序中①②处最合适的语句是( )
Dim a(1 to 100) as integer
Const n=10
Private Sub form_load()
’生成n个随机数,存储在数组a中,代码略
End Sub
Private Sub command1_click()
Dim I as integer,j as integer
For ①
For j=i to n-i
If a (j)>a(j+1) then
t=a(j):a(j)=a(j+1):a(j+1)=t
End If
Next j
For ②
If a(j)<a(j-1) then
t=a(j):a(j)=a(j-1):a(j-1)=t
End If
Next j
Next i
for i=1 to n
List2.additem str(a(i))
Next i
End Sub
程序中①②处最合适的语句是( )
A.① i=1 to n-1 ②j=n to i+1 step -1 |
B.① i=1 to n\2 ②j=n-i to i+1 step -1 |
C.① i=1 to n\2 ②j=n to i+1 step -1 |
D.① i=1 to n-1 ②j=n-i to i+1 step -1 |
下列的几个程序段中,能将x和y中的数据互换的是( )
A.x=y:y=x |
B.m=x:x=y:y=m |
C.x=y:m=x:y=m |
D.x=x+y:y=y-x:x=x-y |
利用VB程序设计语言进行信息的编程加工的一般顺序是( )
A.设计算法、编写代码、分析信息、调试运行 |
B.设计算法、编写代码、调试运行、分析信息 |
C.分析信息、设计算法、编写代码、调试运行 |
D.编写代码、设计算法、分析信息、调试运行 |
有如下程序段:
For i = 5 To 4 step -1
For j = 1 To i-1
If a(j) > a(i) Then
t = a(j): a(j) = a(i): a(i) = t
End If
Next j
Next i
数组元素a(1)到a(5)的值依次为“3,1,4, 2 ,5”,经过该程序段“加工”后,数组元素a(1)到a(5)的值依次为( )
For i = 5 To 4 step -1
For j = 1 To i-1
If a(j) > a(i) Then
t = a(j): a(j) = a(i): a(i) = t
End If
Next j
Next i
数组元素a(1)到a(5)的值依次为“3,1,4, 2 ,5”,经过该程序段“加工”后,数组元素a(1)到a(5)的值依次为( )
A.1,2,3,4,5 | B.2,1,3,4,5 | C.3,1,2,4,5 | D.1,3,2,4,5 |