相关试卷
-
1、有如下VB程序段:
i=1
j=6
s=""
Key=Text1. Text
Do While i<=j
m=Int((i+j)/2+0.5)
s=s+""+a(m)
If Key>a(m) Then
i=m+1
Else
j=m-1
End If
Loop
Text1.Text=s
数组元素a(1)到a(6)的值分别为“Beijing”、“Guangdong”、“Jiangsu”、“Jiangxi”、“Shanghai”、“Zhejiang”,且己按字典序排序。当Key的值为“Zhejiang”时,单击命令按钮 Command1后,文本框Text1中显示的内容为( )
A、Jiangxi Zhejiang B、Jiangsu Shanghai Jiangxi Zhejiang C、Jiangxi Zhejiang Shanghai D、Jiangsu Shanghai Zhejiang -
2、编写了一个寻找最长连续相同子串的程序,功能如下:程序运行时,在文本框Text1中输入一个非降序字符串。单击输出按钮Command1后,在文本框text2上显示最长相同子串。程序运行界面如图所示。
(1)、实现上述功能的VB程序如下,请在划线处填入合适的代码。Private Sub Command1_Click()
Dim a(1 To 100) As String, s As String
Dim i As Integer, m As Integer, n As Integer, pos As Integer
Dim L As Integer, R As Integer, length As Integer, Max As Integer
s = Text1.Text
n = Len(s)
For i = 1 To n
a(i) = Mid(s, i, 1)
Next i
For i = 1 To n
L = i + 1: R = n
Do While L <= R
m = (L + R) \ 2
If Then
L = m + 1
Else
R = m - 1
End If
Loop
If length > Max Then
Max = length : pos = i
End If
i = i + length - 1
Next i
Text2.Text =
End Sub
(2)、上述程序段中加框处代码有误,请改正。(3)、若文本框Text1中输入的非降字符串是“00111222”,执行这段程序后,文本框Text2中输出的内容是。 -
3、某对分查找算法的 VB 程序段如下:
Private Sub Command1_Click()
Dim d(1 to 10) As Integer, i As Integer, j As Integer, m As Integer
Dim Key As Integer, s As String
Key = Int(Rnd * 50 + 1)
s = "": i = 1: j = 10
Do While i < j
m = (i + j) \ 2
If Key = d(m) Then Exit Do
If Key < d(m) Then
j = m : s = s + "L"
Else
i = m + 1: s = s + "R"
End If
Loop
Label1.Caption = s
End Sub
若数组元素 d(1)到 d(10)的值依次为“3,8,9,15,26,28,32,37,45,49”,执行该程序段后,标签 Label1 上显示的字符串 s 出现字母“L”和“R”个数相同的情况有( )
A、1 种 B、2 种 C、3 种 D、4 种 -
4、(加试题)最大回文子串。回文字符串是具有回文特性的字符串:即该字符串从左向右读,与从右向左读都一样。如:凤落梧桐梧落凤,abcba等。“最大回文子串”是指一个字符串中长度最大的回文字符串,其基本算法思想如下:
⑴每个回文都有一个“中心”,当回文字符数为奇数时,中间的那个字符就是回文中心;但是当回文的字符数为偶数时,回文的中心是最中间的那两个字符,且这两个字符相同。
⑵对任意一个字符或者相同的两个连续字符,我们都可以假设它为回文的“中心”,向它的 左右两边扩展出尽可能长的回文。对于每种假设,我们都能得到一个回文,而最长回文必定由 其中的某个假设中得到!
现编写一个程序,在 Text1 中输入一串字符,单击“统计”按钮,在 Text2 中显示该字 符串中的最大的回文子串(长度相同时,输出最左边的子串)。请回答下列问题:
(1)、当 Text1 中输入“123321344332423112113123”时,则输出的结果为。(2)、请在划线处填入合适的代码。Dim n As Integer
Dim a(0 To 100) As String Private Sub Command1( Click)() Dim s As String
Dim left As Integer, right As Integer, i As Integer
Dim max As Integer, m As Integer, b1 As Integer
'变量b1用于记录回文子串的左端起点
Text2.Text = ""
s = Text1.Text n = Len(s)
For i = 1 To n
a(i) = Mid(s, i, 1) Next i
max = 0: left = 0: right = 0
For i = 1 To n left = i
right = i
m = longest(left, right) If m > max Then
b1 = i - m \ 2 max = m
End If left = i
right = i + 1
If a(left) = a(right) Then
m = longest(left, right) + 1
If m > max Then
①
max = m
End If
End If
Next i
For i = b1 To ②
Text2.Text = Text2.Text + a(i) Next i
End Sub
Function longest(left As Integer, right As Integer) As Integer
Dim p As Integer p = 1
Do While left > 1 And right < n And ③
left = left - 1 right = right + 1 p = p + 2
Loop
longest = p
End Function
① ② ③
-
5、某程序代码如下:
i=1: j=100: key=11
Do While i<=j
mid1=i+(j-i)\4: mid2=i+(j-i)\2: mid3=j-(j-i)\4
If mid1=key Or mid2=Key Or mid3=key=Then
Exit Do
If i<=key And key <mid1 Then j=mid1-1: n1=n1+1
If mid1<key And key<mid2 Then
i=mid1+1: j=mid2-1: n2=n2+1
End If
If mid2<Key And key<mid3 Then
i=mid2+1: j=mid3-1: n3=n3+1
End If
If mid3<key And key<=j Then
i=mid3+1: n4=n4+1
End If
Loop
n=n1+n2+n3+n4
程序运行结束后,变量n的值是( )
A、1 B、2 C、3 D、4 -
6、编写VB程序,实现如下功能:在左边的文本框Text1中输入字符,单击“加密”按钮Command1时,逐个字符进一行加密,加密过程是:先在“加密表”m中找到相应字符,再得到其所对应位置的密钥Text3(下方),并在右边的文本框Text2中显示密文,运行效果如图所示。本题不考虑解密问题。

实现上述功能的VB代码如下:
(1)、如图所示,若将Text3中的密钥改为:“I. am. a. good. student. from. Zhejiang”(不含双引号),文本框Text1中依然输入“zjks”,单击“加密”按钮Command1,则在文本框Text2中显示的是。(2)、请在划线处填入合适代码。Private Sub Command1_Click()
Dim s As String, m As String
Dim t As String
s1=Len(Text3.Text)
If s1 < 26 Then
Text2.Text=“请重新输入密钥!”
Exit Sub
End If
s=Text1.Text
n=Len(s)
For i=1 To n
k=Mid(s,i,1)
m= “abcdefghijklmnopqrstuvwxyz”
a=1:b=26
Do While a<=b
c= ①
If k= Mid(m,c,1) Then
Exit Do
End If
If ② Then
b=c-1
Else
a=c+1
End If
Loop
s3=Text3.Text
t=t+ ③
Next i
Text2.Text=t
End Sub
① ② ③
-
7、在10000条有记录集中查找,没有找到相应的记录,则至少查找的次数为( )A、13 B、14 C、15 D、10000
-
8、如图a所示,已有若干学生从1开始编号,在文本框Text1中输入新增的学生姓名,填补到空缺的学号(2、3、6、11)位置。填补规则:从最小号开始依次填补。单击“新增”按钮后在列表框List1中完整显示所有学生信息,如图b所示。

实现上述功能的VB代码如下,但加框处有错,请改正。
Dim n As Integer '学生人数
Dim a(1 To 100) As Integer '存储学生的学号
Dim b(1 To 100) As String '存储学生的姓名
Private Sub Form_Load()
'从数据库中读取学生学号、学生姓名和总人数,分别存储在数组a,数b和变量n中,代码略
End Sub
Private Sub Command1_Click()
Dim L As Integer, R As Integer
Dim m As Integer, key as String
key=Text1.Text
L=1: R=n
Do While L<=R
m=(L+R)\2
If
Then '①L=m+1
Else
R=m-1
End If
Loop
For i=
'②a(i+1)=a(i)
b(i+1)=b(i)
Next i
n=n+1
a(i+1)=L
b(i-1)=Key
'插入后的结果显示在列表框List2,代码略.
End Sub
-
9、某公司的员管理系统中有1200条员工记录(每条员工记录已按员工编号升序排序),现用对分查找法搜索员工信息,开始搜索的记录范围为1200条,若第5次对分查找后还需继续搜索:则第6次搜索的记录范围内的记录数为( )A、18 B、19 C、35 D、75
-
10、图书管理系统对图书管理是按图书的序号从小到大进行管理的,若要查找一本已知序号的书,则能快速地查找的算法是( )。A、穷举算法 B、解析算法 C、对分查找 D、冒泡排序
-
11、有7袋盐,标准质量是500克,其中一包不合格(质量不足500克),用天平至少称( )次才能保证找出这袋盐。A、4次 B、3次 C、2次 D、1次
-
12、Alt+Tab键的作用是( )A、关闭应用程序 B、打开应用程序的控制菜单 C、应用程序之间的相互切换 D、输入法切换
-
13、如果要选择多个不连续的文件,正确的操作是( )A、按住Alt键,单击选定的文件 B、按住Shift键,单击要选定的文件 C、按住Ctrl键,右击选定的文件 D、按住Ctrl键,单击要选定的文件
-
14、windows中,下列能出现在文件名的字符是( )A、*和? B、< 和 > C、+和- D、:和“
-
15、文件名由文件主名和组成,文件名最多可以有个字符组成。
-
16、若在桌面上打开多个窗口,可以有多个活动窗口。
-
17、Alt+Tab键的作用是( )A、关闭程序 B、打开控制菜单 C、输入法切换 D、程序切换
-
18、要查找所有Word文档时,应输入( )A、doc B、word C、?.doc D、*.doc
-
19、复制的热键是 , 粘贴的热键是。
-
20、多个不连续文件和文件夹的选择方式是( )。A、分别用鼠标左键单击每个要选择的文件和文件夹 B、用鼠标左键单击第一个要选择的文件或文件夹,然后按住Shift键不放,单击每一个要选择的文件或文件夹 C、用鼠标左键单击第一个要选择的文件或文件夹,然后按住Ctrl键不放,单击每一个要选择的文件或文件夹 D、用鼠标左键单击第一个要选择的文件或文件夹,然后按住Alt键不放,单击每一个要选择的文件或文件夹