2021年浙江省杭州市西湖區(qū)學軍中學高考信息技術適應性試卷
發(fā)布:2024/10/31 21:30:2
一、選擇題(本大題共12小題,每小題2分,共24分。每小題列出的四個備選項中只有一個是符合題目要求的,不選、多選、錯選均不得分)
-
1.下列有關多媒體及多媒體技術的說法不正確的是( ?。?/h2>
組卷:5引用:3難度:0.6 -
2.下列關于網站和網頁的說法,正確的是( ?。?/h2>
組卷:1引用:2難度:0.6 -
3.用 ACCESS 軟件設計一個數據表,存儲如表所示的超市交易記錄數據。下列關于“超市交易記錄”數據表的描述,正確的是( ?。?br />
序號 商品編號 商品名稱 數量 單價 交易時間 是否會員 1 YL019382 果粒橙 5 9 2021/5/4 13:30:00 是 2 BG193202 蛋黃酥 1 12 2021/5/4 14:11:11 否 … … … … … … … 組卷:2難度:0.5 -
4.十進制算術表達式為 5*32+4*4+3,該表達式的二進制結果為( )
組卷:14引用:2難度:0.5 -
5.使用GoldWave軟件編輯某音頻文件,選擇其中一段音頻后的部分界面如圖所示,下列說法正確的是( ?。?br />
組卷:34引用:10難度:0.7
二、非選擇題(本大題共4小題,其中第13小題4分,第14小題8分,第15小題7分,第16小題7分,共26分)
-
15.小許最近剛學了一種數據儲存結構——鏈表,于是他準備實驗一番。鏈表將每一個存放數據的存儲單元,分為兩個部分,一個用來放數據(key),另一個用來存放下一個單元的位置(nxt)。例如:Key(1)=1,nxt(1)=10 表示當前位置的值為 1,且下一個位置在 10 號位。
現(xiàn)在有一串混亂且不重復的數字,小許想逐個把數字插入到鏈表里面,且最后訪問鏈表時數字是有 序的。
例如:輸入數據 1,3,2。那么可能的鏈表是:Key(1)=1,nxt(1)=3
Key(2)=3,nxt(2)=0(以 0 表示結尾)
Key(3)=2,nxt(3)=2
那么我們在最后訪問時,先在位置找到 1,再跳到 nxt(1)也就是 3 號位得到 key (3),以此類推,最終依然可以輸出一個有序的數列。
編寫 VB 程序,實現(xiàn)上述鏈表功能。運行程序,在文本 Text1 中輸入數據個數,在 Text2 中輸入數列,單擊“排序”按鈕,在 Text3 中輸出排序后的結果。程序運行界面如圖所示。
請回答下列問題:
(1)若要清空窗體的標題內容“Form1”,能實現(xiàn)該功能的語句是
A.Form1.Caption=““/B.Form1.Text=““/C.Form1.Clear)
(2)實現(xiàn)上述功能的 VB 程序如下,請在橫線處填入合適的代碼。
(3)程序中加框處代碼有錯,請改正。
Private Sub Command1_Click
Dim n As Integer,st As Integer,now As Integer,ans As String,i As Integer Dim key(20)As Integer,nxt(20)As Integer
n=Val(Text1.Text)'從文本框中讀入數列到 key 數組的代碼略
st=1
①
Do While i<=n
If key(st)>key(i) Then nxt(i)=st
st=i
Else
now=st:flag=1
Do While nxt(now)<>0
If key(nxt(now))>key(i) Then nxt(i)=nxt(nxt(now)) nxt(now)=i
flag=0 Exit Do
End If
②
Loop
If flag=1 Then
nxt(now)=i End If
End If i=i+1
Loop now=st
Do While nxt(now)<>0
ans=ans+Str(key(now))+“->“now=nxt(now)
Loop
Text3.Text=③
End Sub組卷:0難度:0.3 -
16.數字游戲:現(xiàn)在有一種數字游戲,開始時輸入一串數字,每兩個數字間用逗號隔開,共有 N 個數字(數字的值可能在 10 以上)。游戲分為 N 輪,第 X 輪的基礎獎勵值等于第 X 個數字的數值。在不進行任何操作前,每一輪的獎勵值等于該輪的基礎獎勵值。每一輪在如下幾種方案中任選一種:
方案一:直接獲得應獲得的獎勵值;
方案二:令本輪獲得的獎勵值減去 5,令下一輪獲得的獎勵值乘 2;方案三:令本輪獲得的獎勵值整除 3,令下下輪獲得的獎勵值乘 3;注意:當某一輪上疊加了多個效果時,后疊加的效果先生效。
如圖 a所示第一輪考慮:
采用方案一,獎勵值為 6;
采用方案二,獎勵值為 6-5=1;采用方案三,獎勵值為 6\3=2。
再考慮第二輪:
采用方案一,若第一輪采用方案一時,總獎勵值為 6+9=15;若第一輪采用方案二時,總獎值為1+9*2=19;
采用方案二,若第一輪采用方案一時,總獎勵值為 6+(9-5)=10;若第一輪采用方案二時,總獎勵值為 1+(9-5)*2=9;
第二輪不會采用方案三,若采用,效果將在第四輪生效,而本案例沒有第四輪。最后考慮第三輪:
同上,第三輪只會采用方案一因為沒有下一輪和下下一輪,此時:前兩輪都采用方案一,總獎勵值為 18;
前兩輪都采用方案二,總獎勵值為 15;
第一輪采用方案一,第二輪采用方案二,總獎勵值為 16;第一輪采用方案三,第二輪采用方案一,總獎勵值為 20;第一輪采用方案三,第二輪采用方案二,總獎勵值為 24。因此最大總獎勵值為 24。
現(xiàn)編寫一個程序,用于求出最大總獎勵值。
(1)輸入的數字串為“5,6”,則最大獎勵值為
(2)實現(xiàn)上述功能的 VB 程序如下,請在橫線處填入合適的代碼。
Function max5(a As Integer,b As Integer,c As Integer,d As Integer,e As Integer) As Integer'求五個數字中的最大值
If a>b Then max5=a
If c>max5 Then max5=c If d>max5 Then max5=d If e>max5 Then max5=e
End Function
Function max2(a As Integer,b As Integer)As Integer'求兩個數字中的最大值
If a>b Then max2=a Else max2=b End Function
Private Sub Command1_Click
Dim s As String,rec As Integer,n As Integer,i As Integer
Dim f(1 To 100)As Integer'f(i)表示第 i 輪采用方案一時,前 i 輪總共能獲得的最大獎勵值Dim g(1 To 100)As Intcger'g(i)表示第 i 輪采用方案二時,前 i 輪總共能獲得的最大獎勵值Dim h(1 To 100)As Integer'h(i)表示第 i 輪采用方案三時,前 i 輪總共能獲得的最大獎勵值Dim a(1 To 100)As Integer'a(i)表示第 i 輪的基礎獎勵值
s=Text1.Text+“,“n=0:rec=0
For i=1 To Len(s)
If Mid(s,i,1)=“,“Then n=n+1
a(n)=①
rec=i End If
Next i
f(1)=a(1):g(1)=a(1)-5:h(1)=a(1)\3
f(2)=max2(f(1)+a(2),g(1)+a(2)*2)
g(2)=max2(f(1)+a(2)-5,g(1)+(a(2)-5)*2)
h(2)=②
For i=3 To n
f(i)=max5(f(i-1)+a(i),g(i-1)+a(i)*2,h(i-2)+a(i-1)+a(i)*3,h(i-2)+a(i-1)-5+a(i)*6,g(i-2)+(a(i-1)-5)*2
+a(i)*2)
g(i)=max5(f(i-1)+a(i)-5,g(i-1)+(a(i)-5)*2,h(i-2)+a(i-1)+(a(i)-5)*3,h(i-2)+a(i-1)-5+(a(i)-5)*6,g(i-2)+(a(i-1)-5)*2+(a(i)-5)*2)
h(i)=max5(f(i-1)+a(i)\3,g(i-1)+(a(i)\3)*2,h(i-2)+a(i-1)+(a(i)\3)*3,h(i-2)+a(i-1)-5+(a(i)\3)*6,g(i-2)+(a(i-1)-5)*2+(a(i)\3)*2)
Next i
Label1.Caption=“最大總獎勵值“+③
End Sub組卷:0引用:1難度:0.3