2017-2018学年浙江省温州市共美联盟高二(下)期末信息技术试卷
发布:2024/4/20 14:35:0
一、选择题(本大题共12小题,每小题2分,共24分.在每小题给出的四个选项中,只有一个符合题目要求)
-
1.下列有关信息的说法,不正确的是( )
组卷:14引用:3难度:0.2 -
2.某网页的部分界面如图所示.
关于该网页的描述,下列说法正确的是( )组卷:6引用:1难度:0.7 -
3.下列操作中没有用到光学字符识别(OCR)技术的是( )
组卷:12引用:2难度:0.9 -
4.某Access数据表编辑界面如图所示,以下说法正确的是( )
组卷:6引用:4难度:0.5 -
5.某算法的流程图如图所示:
当输入x的值为100时,在标签Label1中输出的内容为( )组卷:4引用:4难度:0.5
二、非选择题(本大题共5小题,其中第13小题4分,第14小题5分,第15小题8分,第16小题3分,第17小题6分,共26分)
-
16.插入排序。小明用VB设计程序,主要功能如下:随机产生10个介于1到100之间的正整数数列,按升序排序后显示在List1列表框中,在文本框Text1中输入1个100以内的正整数,单击“插入”按钮Command1后将其插入到数列中,并保持数列仍然有序,显示在列表List2中,同时在标签Label4中显示插入的位置,程序界面如下图所示。
实现上述功能的VB程序代码如下,但是有两个地方有误,请改正。
Dim a(1To 15)As Integer
Dim i,j As Integer
Const n=10
Private Sub Form_Load( )
Randomize'随机生成n个1到100之间的正整数
For i=1To n
a(i)=Int(Rnd*100)+1
Next i
'将10个数从小到大排序
For i=1To n-1
k=i
For j=i+1To n
Next j
If i<>k Then
t=a(i):a(i)=a(k):a(k)=t
End If
Next i
'将排好序的数输出在列表框Listl中
List1.Clear
For i=1To n
List1.AddItem Str(a(i))
Next i
End Sub
Private Sub Command1_Click ( )
Dim key As Integer
key=Val(Text1.Text)
i=1
Do While key>a(i) And (i<=n)
i=i+1
Loop
Label4.Caption=“该数插入的位置是:“+Str(i)
If i=11Then
a(i)=key
Else
For j=n+1To i+1Step-1
Next j
a(i)=key
End If
List2.Clear
For i=1To 11
List2.AddItem a(i)
Next i
End Sub组卷:2引用:1难度:0.4 -
17.最大回文子串。回文字符串是具有回文特性的字符串:即该字符串从左向右读,与从右向左读都一样。如:凤落梧桐梧落凤,abcba 等。“最大回文子串”是指一个字符串中长度最大的回文字符串,其基本算法思想如下:
(1)每个回文都有一个“中心”,当回文字符数为奇数时,中间的那个字符就是回文中心;但是当回文的字符数为偶数时,回文的中心是最中间的那两个字符,且这两个字符相同。
(2)对任意一个字符或者相同的两个连续字符,我们都可以假设它为回文的“中心”,向它的左右两边扩展出尽可能长的回文。对于每种假设,我们都能得到一个回文,而最长回文必定由其中的某个假设中得到。
现编写一个 VB 程序,在 Text1 中输入一串字符,单击“统计”按钮,在 Text2 中显示该字符串中的最大的回文子串(长度相同时,输出最左边的子串)。运行界面如图所示。
请回答下列问题:
(1)当 Text1 中输入“123321344332423112113123”时,则输出的结果为
(2)请在横线处填入合适的代码。
Dim n As Integer
Dim a(0To 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,b1As Integer
'变量 b1 用于记录回文子串的左端起点
Text2.Text=““
s=Text1.Text
n=Len(s)
For i=1To n
a(i)=Mid(s,i,1)
Next i
max=0:left=0:right=0
For i=1To n
left=i
right=i
m=longest(left,right)
If m>max Then
max=m
End If
left=i
right=i+1
If a(left)=a(right) Then
m=longest(left,right)+1
If m>max Then
b1=i-m\2+1
max=m
End If
End If
Next i
For i=b1To
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组卷:2引用:1难度:0.3