2017-2018学年浙江省台州中学高三(上)第四次统练信息技术试卷
发布:2024/4/20 14:35:0
一、选择题(本大题共12小题,每小题2分,共24分.每小题列出的四个选项中,只有一个符合题目要求的,不选、多选、错选均不得分)
-
1.下列描述中正确的是( )
组卷:2引用:1难度:0.9 -
2.某协议的主要功能是完成对数据包的确认、流量控制和网络拥塞;自动检测数据包,并提供错误重发的功能,该协议的简称是( )
组卷:12引用:3难度:0.9 -
3.使用WinHex软件查看字符“2017第一学期”的内码,部分界面如图所示。下列说法正确的是( )
组卷:37引用:3难度:0.9 -
4.某算法的部分流程图如图所示,执行这部分流程后,输出c的值是( )
组卷:2引用:3难度:0.9 -
5.使用Access软件打开数据库,部分界面如图所示,下列说法正确的是( )
组卷:4引用:3难度:0.7
二、非选择题(本大题共5小题,其中第13小题4分,第14小题5分,第15小题8分,第16小题3分,第17小题6分,共26分)
-
16.小明基于选择排序算法编写了一个VB程序,功能如下:某班有50个学生,从中选择10个身高最高的同学,要求被选的任何两个人不能身高一样(所给的数据保证能选10个)。
实现上述功能的VB程序如下,但加框处代码有错,请改正。
Const n=50
Dim d(0 To n) As single,name(1 to n) as string
'读入50个学生的身高,依次存入d(1)…d(50),最高身高小于2,姓名存入name(1)…name(50)
'代码略
Private Sub Command1_Click ( )
Dim i As Integer,j As Integer,temp As single,k As Integer,r as string
d(0)=2
For i=1 To 10
For j=i To n
If d(j)<d(i-1)Then
IfThen
k=j
End If
End If
Next j
If k<>i Then
temp=d(k):d(k)=d(i):d(i)=temp
r=name(k):name(k)=name(i):name(i)=r
End If
Next i
For i=1 To 10‘输出被选的10个人的名字和身高。
List2.AddItem name(i) & d(i)
Next i
End Sub组卷:10引用:2难度:0.4 -
17.酒店房间管理:酒店房间(房间数小于10000)编号按1、2、3…连续编号,老板对于没有出租的房子使用如下的方法来登记管理。连续的空房间,登记第一间的编号和连续的空房间数,比如空房间1,2,6,7,8,10,则登记3条记录,分别为(1 2),(6 3),(10 1)。
某旅客退房了,需要把这房子也登记上去,有四种情况需要处理:
1)上靠,例如退的房间号为3,则原来登记的3条记录变成( 1 3),(6 3),(10 1)。
2)下靠,例如退的房间号为5,则原来登记的3条记录变成(1 2),( 5 4),(10 1)。
3)上下不靠,例如退的房间号为4,则登记的记录数变成4条(1 2),( 4 1),(6 3),(10 1)。
4)上下靠,例如退的房间号为9,则登记的记录数变成2条(1,2),(6,5)。
小王依据上述描述设计了如下VB程序。请回答下列问题:
(1)当登记的记录有3条,分别为(1,4),(6,2),(10,3)。现在某旅客退掉5号房间,则登记的记录变成
(2)请在横线处填入合适的代码。
Const n=5000
Dim a(0To n) As Integer'a(i)保存第i条记录的开始房间号
Dim b(0To n) As Integer'b(i)保存第i条记录的房间数
Dim c As Integer,k As Integer,sp As Integer'k为原始记录数
'读取原始k条记录的数据,依次存入a(1),b(1),a(2),b(2)…a(k),b(k),代码略
'为了程序处理方便,虚设了下面2条记录
a(0)=0:b(0)=0:sp=k+1:a(sp)=10000:b(sp)=0
Private Sub Command1_Click ( )
Dim i As Integer
c=Val(Text1Text)'c为退掉的房间号
i=1
Do While a(i)<c'查找房间c,应该登记在某位置
i=i+1
Loop
i=i-1
'下面为处理退房登记问题
If a(i)+b(i)=c Then
If ①
b(i)=b(i)+1+b(i+1)
For j=i+1To sp-1
a(j)=a(j+1):b(j)=b(j+1)
Next j
sp=sp-1
Else'第1种情况,上靠
b(i)=b(i)+1
End If
ElseIf c+1=a(i+1)Then'第2种情况,下靠
a(i+1)=c:b(i+1)=b(i+1)+1
Else'第3种情况,上下不靠
For j=②
a(j)=a(j-1):b(j)=b(j-1)
Next j
a(i+1)=c:b(i+1)=1:sp=sp+1
End If
‘下面为输出登记的记录,不包括虚设的两条记录
For i=1to ③
List3.AddItem“第“& Str(i) &“记录(“& Str(a(i)) &“,“& Str(b(i)) &“)“
Next i
End Sub组卷:2引用:1难度:0.5