2019-2020学年浙江省台州市高三(上)月考信息技术试卷(11月份)
发布:2024/4/20 14:35:0
一、选择题(本大题共12小题,每小题2分,共24分.在每小题给出的四个选项中,只有一个符合题目要求)
-
1.下列有关信息的说法,错误的是( )
组卷:14引用:1难度:0.6 -
2.下列有关电子邮件的说法,正确的是( )
组卷:3引用:1难度:0.5 -
3.Access中的一张数据表设计视图如图所示。下列说法正确的是( )
组卷:2引用:1难度:0.6 -
4.下列关于数制的说法,错误的是( )
组卷:11引用:2难度:0.4 -
5.使用Photoshop软件制作“垃圾分类”作品,部分界面如图所示。下列说法正确的是( )
组卷:7引用:1难度:0.5
二、非选择题(本大题共4小题,其中第13小题4分,第14小题8分,第15小题7分,第16小题7分,共26分)
-
15.小王基于选择排序算法编写了一个VB程序,功能如下:读取若干数据依次存储在数组a中,并将数据分段排序,每段数据的元素个数及排序的次序要求依次存储在数组b中。如图,在文本框Text1中显示数组a的原始数据,在文本框Text2中显示每段数据的元素个数及排序次序要求(0表示升序、1表示降序);单击“排序”按钮Command1,根据要求输出对每段数据进行排序的结果。实现上述功能的VB程序如下:
Dim n As Integer
Im a(1 To 100)As integer
Dim b(1 To 100)As Integer
Private Sub Form _Load( )
'读取若干数据依次存储到数组a中,并将数据元素的总个数仔储到变量n中
'将每段数据的元素个数及排序的次序依次存储到数组b中:
'b(1)、b(2)分别存储第1段数据的元素个数,排序的次序,
'b(3)、b(4)分别存储第2段数据的元素个数、排序的次序,…
'代码略
End Sub
Private Sub Commandl Click
Dim i As Integer,j As Integer,k As Integer,t As Integer
Dim pb As Integer,endpos As Integer
pb=1:endpos=b(1)
For i=1 To n-1
If i=endpos Then
pb=pb+2:i=endpos+1
①
End If
k=i
For j=i+1 To endpos
IfThenk=j
Next j
Ifk<>i Then
②
End If
Next i
Text3 Text=″″
Fori=1 To n
Text3 Text-Text3 Text Str(a(i))
End Sub
(1)观察代码,排序后的数据输出在对象
(2)程序中加框处代码有错,请改正。
(3)为了实现上述功能,请在横线处填写合适的代码。
(4)若程序运行时,读取了100个整数存储到数组a中,数组b各元素的值依次为“30,1,20,0,40,0,10,1”,则程序运行到(4)处代码时,endpos的值为组卷:0引用:1难度:0.3 -
16.给定一个数组(有n个元素),小李通过边分段、边合并的方式将n个数据处理成一个非降序数据段(a(1)≤a(2)≤a(3)≤……≤a(n)),每一轮数据处理方法如下:
(1)查找相邻两个非降序数据段
在未处理的数据区域中,从前往后找出第一个最长非降序数据段。若该数据段后而没有元素,则本轮处理完毕;否则在第1个数据段的后面,从前往后找出数组中第二个最长非降序数据段。
(2)合并两个数据段
借助数组tmp,将查找到的两个相邻数据段合并成一个非降序数据段,然后将合并后的数据依次存回到原数组中。
(3)若数组中还有未处理的数据,则重复(1)(2)步骤。
每一轮数据处理完毕后,重新从数组第1个数据开始进行下一轮处理。若检测到某一轮没有合并处理,则说明n个数据已构成非降序数据段,数据处理结束。
(1)根据上述描述,若数组各元素为“3,9,7,6,8,2,1,5,7,4”,则第一轮合并处理完成后,数组中的数据依次是:
(2)实现上述功能的VB程序如下,请在横线处填入合适代码。
Const n As Integer=10
Dim a(I To n+5)As integer
Dim tmp(I To n+5)As Integer
Private Sub Form Load
′读取n个整数保存到数组a中,并在文本框 TextI中显示,代码略
End sub
Function Position( low As Integer) As integer
Dim i As Integer
For i-low Ton-1
If①
Next i
Position-=i
End Function
Function Merged As Boolean
Dim i As Integer,flag As Boolean,pI As Integer.p2 As Integer
Dim low I As Integer,highI As Integer,high2 As Integer
flag False:lowl=1
Do While low I<n
highl-Position(lowD)
If highI-n Then Exit Do Else flag True
high2-Position(highl+1)
pl-lowl:p2-highl+I
Do while②
If p2>high2 Or pl c-highl And a(pl)<a(p2)Then
tmp(i)a(p2):pl=pl+1
tmp-a(p2):p2-p2+1
End If
i=i+1
Loop
For i=low I To high2
a(0)=tmp(o)
Next i
③
Loop
Merge=fIng
End Function
Private Sub Commandl _Click( )
Do While True
Ir Not Merge( ) Then Exit Do
′在列表框List1中输出这一轮合并后的数据,代码略
Loop
End sub组卷:0引用:1难度:0.3