2017-2018學(xué)年浙江省紹興市諸暨市牌頭中學(xué)高二(下)期中信息技術(shù)試卷
發(fā)布:2024/11/6 23:30:2
一、選擇題(本大題共12小題,每小題2分,共24分.在每小題給出的四個選項中,只有一個符合題目要求)選擇題填涂在答題卡1-12
-
1.使用Word軟件編輯某文檔,部分界面如圖所示。
下列說法正確的是( ?。?/h2>組卷:28引用:1難度:0.9 -
2.使用內(nèi)碼軟件觀察字符“準(zhǔn)備迎戰(zhàn)2018年第一次選考!”,部分界面如圖所示“
以下說法正確的是( ?。?/h2>組卷:42引用:1難度:0.9 -
3.如圖所示某ACCESS數(shù)據(jù)表的相關(guān)信息,下列說法中正確的是( )
組卷:22引用:1難度:0.9 -
4.某算法的部分流程圖如圖所示。執(zhí)行這部分流程,則最終輸出的結(jié)果為( ?。?br/>
組卷:3引用:1難度:0.7 -
5.某同學(xué)利用Flash軟件制作按鈕,界面如圖所示。下列說法正確的是( ?。?br/>
組卷:17引用:1難度:0.9
二、非選擇題(本大題共5小題,其中第13小題4分,第14小題5分,第15小題8分,第16小題3分,第17小題6分,共26分)
-
16.擠牛奶問題:如有三個農(nóng)民每天清晨5點起床,然后去牛棚分別給3頭牛擠 奶。第一個農(nóng)民在300時刻(從5點開始計時,秒為單位)給他的牛擠奶,一直到1000時刻(總共擠了700個時刻),第二個農(nóng)民在700時刻開始,在1200時刻結(jié)束(總共擠了500個時刻)。第三個農(nóng)民在1500時刻開始2100時刻結(jié)束(總共擠了600個時刻)。期間最長擠奶的連續(xù)時間為900秒(從300時刻到1200時刻),而最長的無人擠奶的連續(xù)時間為300時刻(因第二個農(nóng)民在1200時刻已結(jié)束,而第三個農(nóng)民從1500時刻才開始,中間有300時刻沒有人在擠牛奶)。相應(yīng)時刻如圖所示:
下面提供的程序是,從N個農(nóng)民(1<N<=5000)擠N頭牛的工作時間列表,計算出最長有人在擠牛奶的時間段與最長的無人擠牛奶的時間段。
如圖為兩組不同數(shù)據(jù)程序運行后界面;
請在橫線處填入相應(yīng)的代碼,使程序功能 完善。
Dim a(1 To 100)As Integer'存放農(nóng)民 擠牛奶開始時刻
Dim b(1 To 100)As Integer'存放農(nóng)民擠牛奶結(jié)束時刻
Dim n As Integer'存放農(nóng)民人數(shù)
Private Sub Form_Load ( ?。?br />‘獲取農(nóng)民的人數(shù)與各個農(nóng)民開始擠牛奶與結(jié)束擠牛奶的時間,并在list1中輸出‘相應(yīng)的代碼略
End Sub
Private Sub Command1_Click ( ?。?br />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.小王編寫了一個依據(jù)成績計算名次的VB程序,成績?yōu)?到100之間的整數(shù)。算法的基本思想:先統(tǒng)計每個分?jǐn)?shù)的個數(shù),然后按照分?jǐn)?shù)從高到低依次計算每個有效分?jǐn)?shù)(該分?jǐn)?shù)的個數(shù)不為0)對應(yīng)的名次,分?jǐn)?shù)相同時名次并列。最高分為第1名,該分?jǐn)?shù)的名次與個數(shù)之和為下一個有效分?jǐn)?shù)的名次,以此類推。程序用數(shù)組A存放每個分?jǐn)?shù)對應(yīng)的個數(shù),數(shù)組B存放每個分?jǐn)?shù)對應(yīng)的名次。例如,表中最高分100有2個,并列第1名,則分?jǐn)?shù)96的名次為分?jǐn)?shù)100的名次加上分?jǐn)?shù)100的個數(shù),即第3名。
分?jǐn)?shù) 100 99 98 97 96 95 94 … 0 個數(shù)(A數(shù)組) 2 0 0 0 1 0 3 … 0 名次(B數(shù)組) 1 3 4 …
實現(xiàn)上述功能的VB程序如下,請回答下列問題:
(1)如表所示,若分?jǐn)?shù)93的個數(shù)為2,則該分?jǐn)?shù)對應(yīng)的名次為
(2)請在橫線處填入合適的代碼。
Dim sName(1 To 50)As String'存放學(xué)生姓名
Dim sScore(1 To 50)As Integer'存放學(xué)生分?jǐn)?shù)
Dim recCount As Integer'存放學(xué)生人數(shù)
Private Sub Form_Load ( )
'本過程從數(shù)據(jù)庫中讀取學(xué)生數(shù)據(jù),存儲在相應(yīng)的變量中,并在List1中顯示
'代碼略
End Sub
Function ads(x As Integer,n As Integer) As String'整數(shù)轉(zhuǎn)換成長度固定的字符串
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 ( ?。?br /> Dim A(0 To 100)As Integer'存放每個分?jǐn)?shù)的個數(shù)
Dim B(0 To 100)As Integer'存放每個分?jǐn)?shù)的名次
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'計算每個分?jǐn)?shù)的個數(shù)
2
Next i
mc=1
For i=100 To 0 Step-1'計算每個分?jǐn)?shù)的名次
I f A(i)<>0 Then
B(i)=mc
3
End If
Next i
List2.Clear
List2.AddItem“姓名 分?jǐn)?shù) 名次“
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