2017-2018学年浙江省绍兴市诸暨市牌头中学高二(下)期中信息技术试卷
发布:2024/11/6 23:30:2
一、选择题(本大题共12小题,每小题2分,共24分.在每小题给出的四个选项中,只有一个符合题目要求)选择题填涂在答题卡1-12
-
1.使用Word软件编辑某文档,部分界面如图所示。
下列说法正确的是( )组卷:28引用:1难度:0.9 -
2.使用内码软件观察字符“准备迎战2018年第一次选考!”,部分界面如图所示“
以下说法正确的是( )组卷:42引用:1难度:0.9 -
3.如图所示某ACCESS数据表的相关信息,下列说法中正确的是( )
组卷:22引用:1难度:0.9 -
4.某算法的部分流程图如图所示。执行这部分流程,则最终输出的结果为( )
组卷:3引用:1难度:0.7 -
5.某同学利用Flash软件制作按钮,界面如图所示。下列说法正确的是( )
组卷:17引用:1难度:0.9
二、非选择题(本大题共5小题,其中第13小题4分,第14小题5分,第15小题8分,第16小题3分,第17小题6分,共26分)
-
16.挤牛奶问题:如有三个农民每天清晨5点起床,然后去牛棚分别给3头牛挤 奶。第一个农民在300时刻(从5点开始计时,秒为单位)给他的牛挤奶,一直到1000时刻(总共挤了700个时刻),第二个农民在700时刻开始,在1200时刻结束(总共挤了500个时刻)。第三个农民在1500时刻开始2100时刻结束(总共挤了600个时刻)。期间最长挤奶的连续时间为900秒(从300时刻到1200时刻),而最长的无人挤奶的连续时间为300时刻(因第二个农民在1200时刻已结束,而第三个农民从1500时刻才开始,中间有300时刻没有人在挤牛奶)。相应时刻如图所示:
下面提供的程序是,从N个农民(1<N<=5000)挤N头牛的工作时间列表,计算出最长有人在挤牛奶的时间段与最长的无人挤牛奶的时间段。
如图为两组不同数据程序运行后界面;
请在横线处填入相应的代码,使程序功能 完善。
Dim a(1 To 100)As Integer'存放农民 挤牛奶开始时刻
Dim b(1 To 100)As Integer'存放农民挤牛奶结束时刻
Dim n As Integer'存放农民人数
Private Sub Form_Load ( )
‘获取农民的人数与各个农民开始挤牛奶与结束挤牛奶的时间,并在list1中输出‘相应的代码略
End Sub
Private Sub Command1_Click ( )
Dim i As Integer,j As Integer
Dim t As Integer,ymax As Integer,nmax As Integer
Dim btime As Integer,etime As Integer,flag As Boolean
flag=True:i=1
Do While i<= 1 And flag
flag=False
For j=1 To n-i
If a(j)>a(j+1)Then
t=a(j):a(j)=a(j+1):a(j+1)=t
t=b(j):b(j)=b(j+1):b(j+1)=t
flag=True
End If
Next j
i=i+1
Loop
btime=a(1):etime=b(1)
ymax=etime-btime:nmax=0
For i=2 To n
If 2 Then
etime=b(i)
If etime-btime>ymax Then ymax=etime-btime
ElseIf etime<a(i) Then
If a(i)-etime>nmax Then nmax=a(i)-etime
btime=a(i):etime=b(i)
End If
Next i
Label2.Caption=“最长挤牛奶时间为:“+Str(ymax)+“时刻“
Label3.Caption=“最长无人挤牛奶时间为:“+Str(nmax)+“时刻“
End Sub组卷:2引用:1难度:0.5 -
17.小王编写了一个依据成绩计算名次的VB程序,成绩为0到100之间的整数。算法的基本思想:先统计每个分数的个数,然后按照分数从高到低依次计算每个有效分数(该分数的个数不为0)对应的名次,分数相同时名次并列。最高分为第1名,该分数的名次与个数之和为下一个有效分数的名次,以此类推。程序用数组A存放每个分数对应的个数,数组B存放每个分数对应的名次。例如,表中最高分100有2个,并列第1名,则分数96的名次为分数100的名次加上分数100的个数,即第3名。
分数 100 99 98 97 96 95 94 … 0 个数(A数组) 2 0 0 0 1 0 3 … 0 名次(B数组) 1 3 4 …
实现上述功能的VB程序如下,请回答下列问题:
(1)如表所示,若分数93的个数为2,则该分数对应的名次为
(2)请在横线处填入合适的代码。
Dim sName(1 To 50)As String'存放学生姓名
Dim sScore(1 To 50)As Integer'存放学生分数
Dim recCount As Integer'存放学生人数
Private Sub Form_Load ( )
'本过程从数据库中读取学生数据,存储在相应的变量中,并在List1中显示
'代码略
End Sub
Function ads(x As Integer,n As Integer) As String'整数转换成长度固定的字符串
Dim sx As String,nx As Integer,i As Integer
sx=Str(x):nx=Len(sx)
For i=1 To n-nx
sx=““+sx
Next i
1
End Function
Private Sub Command1_Cl ick ( )
Dim A(0 To 100)As Integer'存放每个分数的个数
Dim B(0 To 100)As Integer'存放每个分数的名次
Dim mc As Integer,score As Integer,i As Integer
For i=0 To 100
A(i)=0
Next i
For i=1 To recCount'计算每个分数的个数
2
Next i
mc=1
For i=100 To 0 Step-1'计算每个分数的名次
I f A(i)<>0 Then
B(i)=mc
3
End If
Next i
List2.Clear
List2.AddItem“姓名 分数 名次“
List2.AddItem“
For i=1 To recCount
score=sScore(i)
mc=B(sScore(i))
List2.AddItem sName(i)+ads(score,5)+“第“+ads(mc,3)+“名“
Next i
End Sub组卷:3引用:1难度:0.5