- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- 算法实例
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
n个数据的冒泡升序排序需要经过n-1遍的加工,每一遍加工自下而上比较相邻两个数据,把较小者交换到上面,在第i遍加工过程中需要进行n-i对数据的比较,在某些情况下,第i遍加工过程中,在上面部分较小数据已经有序情况下,不需要再进行n-i对数据的比较。如对“17,18,19,24,23,20”这6个数据排序中,第1遍排序结束后数据为“17,18,19,20,24,23”,第2遍排序时不再需要对20及其前面4个数据进行比较。程序界面如下图所示

以下程序实现了冒泡排序的优化,请在划线处填写合适的代码。
Dim n As Integer
Dim a (1 to 100) As Integer
Private Sub Form_Load()
‘n=10,排序前生成的数据存储在数组a中,并在列表框List1中显示
‘代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, start As Integer, t As Integer
①_________________
Do While i < n
start = n
For j = n To i Step ②_______________
If a(j) < a(j - 1) Then
t = a(j): ③____________ : a(j - 1) = t
start = j
End If
Next j
④______________
Loop
For i = 1 To n
List2.AddItem Str(a(i))
Next i
End Sub

以下程序实现了冒泡排序的优化,请在划线处填写合适的代码。
Dim n As Integer
Dim a (1 to 100) As Integer
Private Sub Form_Load()
‘n=10,排序前生成的数据存储在数组a中,并在列表框List1中显示
‘代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, start As Integer, t As Integer
①_________________
Do While i < n
start = n
For j = n To i Step ②_______________
If a(j) < a(j - 1) Then
t = a(j): ③____________ : a(j - 1) = t
start = j
End If
Next j
④______________
Loop
For i = 1 To n
List2.AddItem Str(a(i))
Next i
End Sub
对称字符串从左读到右和从右读到左完全一样,如“1221”“12321”。编写VB程序,判断输入字符串是否对称,程序运行界面如图a所示,在文本框Text1中输入字符串,单击Command1按钮,在标签Label2上显示判断结果。

图a

图b
(1)实现上述功能的VB程序如下,请在画线处填入合适的代码。
Private Sub Command1_Click()
Dim s As String, c1 As String, c2 As Integer
Dim n As Integer, i As Integer
Dim f As Boolean
s = Text1.Text
n = Len(s)
f = True
For i = 1 To n \ 2
c1 = _______①______
c2 = Mid(s, n - i + 1, 1)
If c1 <> c2 Then
f = False
Exit For
End If
Next i
If ② Then
Label2.Caption = "对称"
Else
Label2.Caption = "不对称"
End If
End Sub
划线处代码应为
①________________
②________________
(2)运行该程序,在文本框中输入aba,单击“判断”按钮后,出现图b所示错误提示,引起该错误的原因是________________(单选,填字母:

图a

图b
(1)实现上述功能的VB程序如下,请在画线处填入合适的代码。
Private Sub Command1_Click()
Dim s As String, c1 As String, c2 As Integer
Dim n As Integer, i As Integer
Dim f As Boolean
s = Text1.Text
n = Len(s)
f = True
For i = 1 To n \ 2
c1 = _______①______
c2 = Mid(s, n - i + 1, 1)
If c1 <> c2 Then
f = False
Exit For
End If
Next i
If ② Then
Label2.Caption = "对称"
Else
Label2.Caption = "不对称"
End If
End Sub
划线处代码应为
①________________
②________________
(2)运行该程序,在文本框中输入aba,单击“判断”按钮后,出现图b所示错误提示,引起该错误的原因是________________(单选,填字母:
| A.变量s的数据类型错误; | B.变量c2的数据类型错误; | C.变量f的数据类型错误)。 |
有如下VB程序段:
Dim a As Integer,b As Integer,s As Single
a=2
b=3
Label1.Caption=”s=”+”a*b”
该程序运行后,标签Label1上显示的内容是( )
Dim a As Integer,b As Integer,s As Single
a=2
b=3
Label1.Caption=”s=”+”a*b”
该程序运行后,标签Label1上显示的内容是( )
| A.s=6 | B.s=a*b |
| C.s=2*3 | D.”s=”+6 |
某算法的部分流程图如下图所示:

执行该算法,下列描述正确的是( )

执行该算法,下列描述正确的是( )
| A.t←t+2执行了4次 |
| B.s≤35? 执行了4次 |
| C.循环结构后,t的值为7 |
| D.该算法体现了枚举算法思想 |
《浙江省电网销售电价表》中规定,不满1千伏“一户一表”居民用电价格,按以下标准计算:月用电量在50千瓦时及以下部分,每千瓦时以0.538元计算;50.1~200千瓦时部分,则每千瓦时按0.568元计算;200千瓦时以上部分,每千瓦时按0.638元计算。用流程图来表示该算法如图所示:

(1)则①和②分别应输入的内容是____________、__________________。
(2)该算法中,除了顺序结构,还包含的基本结构有____________结构。
(3)程序运行后,输入x的值,将输出________(填:

(1)则①和②分别应输入的内容是____________、__________________。
(2)该算法中,除了顺序结构,还包含的基本结构有____________结构。
(3)程序运行后,输入x的值,将输出________(填:
| A.1个/ | B.2个/ | C.3个)值。 |
编写“输出所有子串”程序,实现如下功能:在文本框Text1中输入字符串,在列表框List1中输出该字符串的所有子串并输出子串的总数。程序运行界面以及工程资源窗口如下图所示。


(1)观察上图,该程序中的窗体对象名为________________(单选,填字母:
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command3_Click()
Dim s As String, t As Integer, j As Integer
s = Text1.Text
t = Len(s): Sum = 0
For i = 1 To t
For j = i To t
List1.AddItem ①_________________________________
Sum = Sum + 1
Next j
Next i
List1.AddItem "总共有" + ②_______________________________ + "个子串"
End Sub
(3)如果输入的字符串是“abcdefg”,则输出中有____________个子串


(1)观察上图,该程序中的窗体对象名为________________(单选,填字母:
| A.求所有子串/ | B.Form1/ | C.子串.frm/ | D.工程1.vbp) |
Private Sub Command3_Click()
Dim s As String, t As Integer, j As Integer
s = Text1.Text
t = Len(s): Sum = 0
For i = 1 To t
For j = i To t
List1.AddItem ①_________________________________
Sum = Sum + 1
Next j
Next i
List1.AddItem "总共有" + ②_______________________________ + "个子串"
End Sub
(3)如果输入的字符串是“abcdefg”,则输出中有____________个子串
下列VB程序运行时,在文本框Text1中输入字符串”while”,在文本框Text2和Text3中分别输入2和5,单击命令按钮Command1后,在文本框Text4中显示的内容是________。
n = Len ( Text1.Text )
m = Val ( Text2.Text )
k = Val ( Text3.Text )
If m + k -1 > n Then
Text4.Text = Mid ( Text1.Text , 1 , m – 1 )
Else
Text4.Text = Mid ( Text1.Text , 1 , m–1 ) + Mid ( Text1.Text , m+k , n–m–k +1 )
End If
Private Sub Command1_click ( )
Dim n As Integer , m As Integer , k As Integern = Len ( Text1.Text )
m = Val ( Text2.Text )
k = Val ( Text3.Text )
If m + k -1 > n Then
Text4.Text = Mid ( Text1.Text , 1 , m – 1 )
Else
Text4.Text = Mid ( Text1.Text , 1 , m–1 ) + Mid ( Text1.Text , m+k , n–m–k +1 )
End If
End Sub
VB语句:x = Int(Rnd * 100 + 0.5)的功能是( )
| A.返回[0,100)的随机整数x |
| B.返回[0,100]的随机整数x |
| C.返回[0,101]的随机整数x |
| D.返回(0,101)的随机整数x |
相传三齐王韩信才智过人,从不直接清点自己军队的总人数,只是让士兵先后以三人一排、五人一排、七人一排地变换队形,假设先后三次队形的排尾人数分别是x人、y人、z人,他就知道自己军队的人数是m人。请问下列表达式中哪一项最符合对上述算法思想的描述?( )
| A.x + y + z = m |
| B.m Mod 3 = x And m Mod 5 = y And m Mod 7 = z |
| C.3 * x + 5 * y + 7 * z = m |
| D.m Mod 3 = x Or m Mod 5 = y Or m Mod 7 = z |
