- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
有如下VB程序:
s=Text1.Text
s1=" "
For i=1 To Len(s)
c=Mid(s, i, 1)
If c>="A" And c<="Z" Then
c=Chr(Asc(c)+32) '大写字母转化为小写字母
End if
s1=s1+c
Next i
Text2.Text=s1
在文本框Textl中输入"ABcd12XY ",执行上述程序段后,文本框Textl显示的内容是( )
s=Text1.Text
s1=" "
For i=1 To Len(s)
c=Mid(s, i, 1)
If c>="A" And c<="Z" Then
c=Chr(Asc(c)+32) '大写字母转化为小写字母
End if
s1=s1+c
Next i
Text2.Text=s1
在文本框Textl中输入"ABcd12XY ",执行上述程序段后,文本框Textl显示的内容是( )
A.abcd12XY | B.abcd12xy | C.ABCD12XY | D.ABcd12xy |
有如下一段VB程序:
s=0
For i=1 to 5 step -2
s=s+i
Next i
执行上述代码后,下列说法正确的是( )
s=0
For i=1 to 5 step -2
s=s+i
Next i
执行上述代码后,下列说法正确的是( )
A.该循环执行了3次 | B.该循环是无限循环 |
C.执行该循环后,s,i的值分别为0、1 | D.循环体s=s+i仅被执行了1次 |
某算法部分流程图如图所示,执行该部分流程图后,变量 s 和变量 i 的值分别为


A.9 和 5 | B.9 和 7 |
C.16 和 5 | D.16 和 7 |
将十进制数转化为二进制数的 VB 程序段如下:
Dim y As Integer,s As String,r As Integer
y=Val(Text1.Text) '输入十进制数
s= ""
Do While y <> 0

Loop
Text2.Text = s '显示出二进制数
方框中的代码由以下三部分组成:
① s =CStr(r) +s 'CStr(r)是将变量Rr内容转换为字符串(字符串前没有空格)
② y= y\2
③ r= y Mod 2
代码顺序正确的选项是
Dim y As Integer,s As String,r As Integer
y=Val(Text1.Text) '输入十进制数
s= ""
Do While y <> 0

Loop
Text2.Text = s '显示出二进制数
方框中的代码由以下三部分组成:
① s =CStr(r) +s 'CStr(r)是将变量Rr内容转换为字符串(字符串前没有空格)
② y= y\2
③ r= y Mod 2
代码顺序正确的选项是
A.②③① | B.②①③ | C.①③② | D.③②① |
小明利用Visual Basic编写了“查找第二小的数”的程序,界面如图所示。程序随机产生50个范围在1~1000之间的随机整数,单击“查找”按钮,能够在标签Label1中显示第二小的数字。

(1)为了在列表框List1中加入随机产生的数字,小明在程序中写了语句“List1.AddItem Str(a(i))”,其中AddItem 是List1对象的__________(单选,填字母:
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim n As Integer, i As Integer
Dim a(1 To 50) As Integer
Randomize
For i = 1 To 50
①___________
List1.AddItem Str(a(i))
Next i
If a(1) < a(2) Then
For i = 3 To 50
If a(i) < secondmin Then
firstmin = a(i)
Else
③____________
End If
Label1.Caption = "第二小的数是" & Str(secondmin)
End Sub

(1)为了在列表框List1中加入随机产生的数字,小明在程序中写了语句“List1.AddItem Str(a(i))”,其中AddItem 是List1对象的__________(单选,填字母:
A.属性/ | B.事件/ | C.方法)。 |
Private Sub Command1_Click()
Dim n As Integer, i As Integer
Dim a(1 To 50) As Integer
Randomize
For i = 1 To 50
①___________
List1.AddItem Str(a(i))
Next i
If a(1) < a(2) Then
firstmin = a(1)
secondmin = a(2)
Elsefirstmin = a(2)
secondmin = a(1)
End IfFor i = 3 To 50
If a(i) < secondmin Then
②___________
secondmin = firstminfirstmin = a(i)
Else
③____________
End If
End If
Next iLabel1.Caption = "第二小的数是" & Str(secondmin)
End Sub
有如下VB程序段:
S=0
For j=1 to 100
If j/2=int(j/2) then s=s+j
Next j
该程序段被执行后,整数型变量s中存储的是1到100之间的
S=0
For j=1 to 100
If j/2=int(j/2) then s=s+j
Next j
该程序段被执行后,整数型变量s中存储的是1到100之间的
A.偶数个数 | B.偶数之和 | C.奇数之和 | D.自然数之和 |
小乐编写了一个求最小公倍数的程序,他先借鉴更相减损术求出最大公约数,再求出最小公倍数。更相减损术是出自《九章算术》的一种求最大公约数的算法,其原理是用大数减去小数,互相减来减去,一直到减数与差相等为止。在文本框Text1中输入一个整数,在Text2中输入另一个整数,单击“计算”按钮Command1,在Label3中输出两个数的最小公倍数。程序运行界面如图所示。

(1)根据程序代码判断,保证程序正常运行,窗体中至少需要________个对象。
(2)为了实现上述功能,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim m As Integer, n As Integer
Dim gys As Integer
m = Val(Text1.Text)
n = Val(Text2.Text)
a = m: b = n
Do While m <> n
If ①______Then m = m - n Else n = n - m
Loop
gys = n
Label3.Caption = "最小公倍数是:" + ②__________
End Sub
(3)若在文本框Text1中输入15,在文本框Text2中输入6,单击“计算”按钮后,语句m=m-n执行了___________次。

(1)根据程序代码判断,保证程序正常运行,窗体中至少需要________个对象。
(2)为了实现上述功能,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim m As Integer, n As Integer
Dim gys As Integer
m = Val(Text1.Text)
n = Val(Text2.Text)
a = m: b = n
Do While m <> n
If ①______Then m = m - n Else n = n - m
Loop
gys = n
Label3.Caption = "最小公倍数是:" + ②__________
End Sub
(3)若在文本框Text1中输入15,在文本框Text2中输入6,单击“计算”按钮后,语句m=m-n执行了___________次。
(加试题)某排序算法思想如下:每一趟将一个待排序的记录,按其关键字的大小插入到已经排好序的一组记录的适当位置上,直到所有待排序记录全部插入为止。例如(9,3,1,4)升序排序;第一步 3 插入到有序记录(9),得到(3,9);第二步 1 插入到有序记录(3,9),得到(1,3,9);第三步 4 插入到有序记录(1,3,9),得到最终有序记录为“1,3,4,9”。
为此,编写了一个 VB 程序,功能如下:运行程序,窗体加载时随机产生 10 个随机整数,并在列表框 List1 中依次显示排序前数据,单击“排序”按钮 Command1,在列表框 List2 中显示经过上述排
序算法后的数据,运行结果如图所示。实现上述功能的 VB 代码如下,但加框处代码有错,请改正。

Const n = 10
Dim a(1 To n) As Integer '生成 n 个随机数,存储在 a 数组,代码略
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer
For i = 2 To n
t = a(i)
j = i - 1
Do While t < a(j)
a(j + 1) = a(j)
j = j - 1
For i = 1 To n
End Sub
为此,编写了一个 VB 程序,功能如下:运行程序,窗体加载时随机产生 10 个随机整数,并在列表框 List1 中依次显示排序前数据,单击“排序”按钮 Command1,在列表框 List2 中显示经过上述排
序算法后的数据,运行结果如图所示。实现上述功能的 VB 代码如下,但加框处代码有错,请改正。

Const n = 10
Dim a(1 To n) As Integer '生成 n 个随机数,存储在 a 数组,代码略
Private Sub Command1_Click()
Dim i As Integer, j As Integer, t As Integer
For i = 2 To n
t = a(i)
j = i - 1
Do While t < a(j)
a(j + 1) = a(j)
j = j - 1
If j = 1 Then Exit Do ;改正:_______________
Loopa(j) = a(j + 1) ;改正:_______________
Next iFor i = 1 To n
List2.AddItem Str(a(i))
Next iEnd Sub
(加试题)对分查找的VB程序段如下:
key=78
i=1
j=8
k=1
Do While i<=j
m= fix((i+j)/2)
if d(m)=key Then
Label1.Caption=k
Exit do
End if
If d(m)<key Then
i=m+1
else
j=m-1
End If
k=k+1
Loop
数组元素a(1)到a(8)的值依次为“22,34,41,53,66,71,78,91”。若该程序执行后得到的结果是
key=78
i=1
j=8
k=1
Do While i<=j
m= fix((i+j)/2)
if d(m)=key Then
Label1.Caption=k
Exit do
End if
If d(m)<key Then
i=m+1
else
j=m-1
End If
k=k+1
Loop
数组元素a(1)到a(8)的值依次为“22,34,41,53,66,71,78,91”。若该程序执行后得到的结果是
A.1 | B.2 | C.3 | D.4 |