中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

2023年11月杭州一模信息技術卷完美解析

資源下載
  1. 二一教育資源

2023年11月杭州一模信息技術卷完美解析

資源簡介

絕密★考試結束前
2023 學年第一學期杭州市高三年級教學質量檢測 技術試題卷
第一部分 信息技術(共 50 分)
一、選擇題(本大題共 12 小題,每小題 2 分,共 24 分。每小題列出的四個備選項中只有一個是符合 題目要求的,不選、多選、錯選均不得分)
1.下列有關數據和信息的說法,正確的是
A.計算機中的數據以二進制的形式存儲 B.人們觀看在線影視時,點播的視頻是信息
C.信息本身會因為被別人獲取而發生損耗 D.大數據的數據總量越大,價值密度就越高
(
【答案】
A
【解析一】
本題考查數據和信息的相關知識。
A
.計算機中的數據以二進制的形式存儲,是正
確的;選項
B
.人們觀看在線影視時,點播的視頻是數據,故
選項
B
是不正確的;選項
C
.信息本身不會因為被別人獲取而發生損耗,故選項
C
是不正確的;選項
D
.大
數據的數據總量越大,價值密度就越低,故選項
D
是不正確的。所以答
案是
A
。
【解析二】
本題考查數據、信息、大數據的相關知識。
視頻是數據,是信息的載體,選項
B
錯誤;信息
是可以共享的,不會發生損耗,選項
C
錯誤;大數據的價
值密度小,選項
D
錯誤。
)
2.下列關于進制與信息編碼的說法,不正確的是
A.最大的兩位十六進制數值是 FFH
B.將商品信息轉換為條形碼的過程屬于編碼
C.聲音數字化過程中的量化位數越大,保真度越好
D.ASCII 碼用 7 位二進制進行編碼,十進制范圍為 1~128
(
【答案】
D
【解析一】
本題考查進制和編碼的相關知識。
ASCII
碼用
7
位二進制進行編碼,十進制的范圍是
0~
127
,選項
D
的說法錯誤。
【解析二】
本題考查進制與信息編碼的相關知識。
選項
ABC
都是正確的;選項
D
.
ASCII
碼用
7
位二進制進行編碼,十進制范圍為
0

127
,故選項
D
是不正
確的。所以答案是
D
。
)
3.下列關于人工智能的說法,正確的是
A.人工智能以機器為載體,模仿、延伸和擴展人類智能
B.人工智能具有強大的存儲、記憶和搜索功能,不會出錯
C.符號主義需要手工構造知識庫,屬于數據驅動的智能方法
高三技術 試題卷 第 1 頁(共 14 頁)
D.語音識別系統需要大量數據進行模型訓練和測試,故無法識別實時語音
(
【答案】
A
【解析一】
本題考查人工智能的相關知識。
人工智能是有可能出錯的,選項
B
錯誤;符號主義不是數據驅動的智能方法,選項
C
錯誤;語音識別系統
可以識別實時語音,選項
D
錯誤。
【解析二】
本題考查人工智能的相關知識。
選項
A
.人工智能以機器為載體,模仿、延伸和擴展人類智能,是正確的;選項
B
.人工智能具有強大的存
儲、
記憶和搜索功能,也有可能出錯,故選項
B
是不正確的;選項
C
.符號主義需要手工構造知識庫,數據驅動
屬于聯結主義,故選項
C
是不正確的;選項
D
.語音識別系統需要大量數據進行模型訓練和測試,也能識別
實時語音,故選項
D
是不正確的。所以答案

A
。
)
閱讀下列材料,回答第 4 至 5 題。
某校學生考勤信息系統通過移動無線考勤機(支持刷卡、刷臉等識別方式)進行考勤, 家長可在手機 APP 上進行學生請假申請,班主任審批之后,在校學生出校門時在考勤機上進行請假信息確認,離校后班主任 和家長手機 APP 上實時收到學生的離校信息。在該系統的網頁管理后臺可以按班、按月對請假等數據進行 查詢和統計。
4.結合材料,下列有關該信息系統說法不正確的是
A.學校老師、家長和學生都是該信息系統的用戶
B.考勤機可移動使用,說明該信息系統不受外部環境的制約
C.通過管理后臺可查看當天的請假情況,說明該信息系統具有數據查詢功能
D.家長可隨時在 APP 上發起請假申請,體現了系統跨越時空限制、服務隨時隨處的優勢
(
【答案】
B
【解析一】
本題考查信息系統的相關知識。
信息系統對外部環境具有依賴性,選項
B
的說法錯誤。
【解析二】
本題考查信息系統的相關知識。
選項
ACD
都是正確的;選項
B
.考勤機可移動使用,但是該信息系統可能受其他外部環境的制約,故選項
B
是不正確的;所以答案是
B
。
)
5.為了加強隱私保護和信息安全防護,下列說法不正確的是
A.晚上可以關閉防火墻,節約資源
B.采用磁盤陣列、異地容災等手段可以提高數據安全
C.家長通過預留的手機號碼登錄 APP 屬于用戶身份認證
D.學生人臉、家長手機號碼等都屬于個人敏感信息,應做好隱私保護
(
【答案】
A
【解析一】
本題考查信息及信息系統安全的相關知識。
因為信息系統的服務器是一直在運行,所以如果晚上關閉防火墻就
無法保證系統晚上的安全,選項
A
錯誤。
)
高三技術 試題卷 第 2 頁(共 14 頁)
(
【解析二】
本題考查信息安全的相關知識。
選項
A
.晚上也不可以關閉防火墻,故選項
A
是不正確的;選項
BCD
都是正確的。
所以答案是
A
。
)
6.下列關于網絡技術的說法,正確的是
A.網絡僅由傳輸介質和網絡互連設備組成
B.按照網絡的覆蓋范圍分類, 因特網屬于城域網
C.網絡中可以資源共享的僅是網絡中的硬件資源
D.網絡中傳輸信息都需要遵守網絡協議
(
【答案】
D
【解析一】
本題考查網絡的相關知識。
網絡是由計算機系統、數據通信系統、網絡軟件和網絡協議組成的,選項
A
錯誤;因特網屬于廣域網,選

B
錯誤;網絡中可以共享的資源有硬件、軟件和數據,選項
C
錯誤。
【解析二】
本題考查網絡技術的相關知識。
選項
A
.網絡不僅由傳輸介質和網絡互連設備組成,故選項
A
是不正確的;選項
B
.按照網絡的覆蓋范圍分

,
因特網屬于廣域網,故選項
B
是不正確的;選項
C
.網絡中可以
資源共享的是網絡中的硬件資源,還有軟
件資源、數據資源,故選項
C
是不正確的;選項
D
.網絡中傳輸信息都需要遵守網絡協議,是正確的;所以
答案是
D

)
7.某算法的部分流程圖如第 7 題圖所示,執行這部分流程,若輸入 i 的值為序列[2,3,4,5]中的隨機數,則下 列說法正確的是
第 7 題圖
A.變量 c 的最大值為 11 B.“a>0 ”至少執行 5 次
C.程序結束時變量 a 一定等于 0 D.只能使用 while 語句實現循環結構
(
【答案】
B
【解析一】
本題考查流程圖閱讀。
閱讀流程圖可知,變量
c
用于記錄循環次數,變量
a
的初始值為
20
,若要
c
最大,則每次
a-i
中的
i
值要最
)
高三技術 試題卷 第 3 頁(共 14 頁)
(
小,讓
i=2
,最多循環
10
次,故
c
最大值為
10
,
A
選項錯誤;當
i
取最大值
5
時,循環次
數最少,為
4
次,
判斷框執行
5
次,故
B
選項正確;
a
的最終值取決于最后一次
i
的值,可能為負數,故
C
選項錯誤;循環結
構可以用
for
語句實現,因為循環最多執行
10
次,中途退出可用
break
語句實現,故
D
選項錯誤。
【解析二】
本題考查流程圖的相關知識。
A,
要使得
c
最大,則
a
一直減
2
,一共減了
10
次,因此
c

10
;
C
,最終
a
小于等于
0

D
,可以使用
for
語句搭配
break
實現
)
8.某二叉樹的樹形結構如第 8 題圖所示,后序遍歷結果為“WUSVTR ”,則該二叉樹的前序遍歷結果為
第 8 題圖
A.RSTUVW B.RTSVUW C.RTSUWV D.RSUWTV
(
【答案】
D
【解析一】
本題考查二叉樹的遍歷方式。
根據二叉樹的后序遍歷,左子樹
-
右子樹
-
根節點的順序,可將后序遍歷結果填入第
8
題圖,得
出如圖所示二
叉樹,其前序遍歷結果為
RSUWTV
。
【解析二】
本題考查二叉樹。
結合后序遍歷可畫出樹形結構
,所以前序遍歷時
RSUWTV
)
9.若有一批元素的出棧順序為“i,n,p,u,t ”,其入棧順序不可能是
A.n,i,t,u,p B.n,i,u,t,p C.t,u,p,n,i D.i,n,p,u,t
(
【答案】
B
【解析一】
本題考查棧的基本操作。
根據棧的先進后出,后進先出的特點,
B
選項中
u,t,p
三個元素依次入棧,若按照題干元素
p
先出棧,那么
u

t
都在棧內并且
t
在棧頂,接下來出棧的應該是
t
,而不是
u
,故
B
選項錯誤。
【解析一】
本題考查棧。
B
,
n
進,
i
進,
i
出,
n
出,
u
進,
t
進,
p
進,
p
出,這時應該
t
出而不是
u
出。
)
高三技術 試題卷 第 4 頁(共 14 頁)
10.列表 d 有 n 個整型元素,輸出列表中最長連續遞增序列的長度。小明編寫的 Python程序段如下: k= 1;lmax= 1;n=len(d)
for i in range(1,n):
if d[i]>d[i- 1]:
k+= 1
else:
ifk>lmax:
lmax=k
k= 1
print(lmax)
該程序段在某些情況下無法得到符合題意的結果,下列 4 組數據中能測試出這一問題的是 A.[1,4,5, 1,2] B.[1,2,3,4, 1] C.[1,5, 1,2,3] D.[5,4,3,2, 1]
(
【答案】
C
【解析一】
本題考查順序查找中最后一次查找的特殊性。
程序中逐個遍歷相鄰元素,判斷其遞增或非遞增,若相鄰元素為遞
增,則長度變量
k
值加
1
,否則將
k
值與
長度最大值
lmax
進行比較,若
k>
lmax
,則更新
lmax
值為
k
,并將
k
值回歸初始值
1
;若最長的遞增序列一
直持續至最后一個元素,即最后一次循環也是
d[i]>d[i-
1]
,則無法將
k

lmax
進行比較,無法將最大值
k
賦值給
lmax
,就如
C
選項中,最終
k=3

lmax
=2
,但是不會再進行
k

lmax
的比較了,得到的
最大長度只
能是
2

【解析二】
本題考查最長連續序列。
判斷最長在
else
語句中,即
d[i]<=d[i-
1]
時,但忽略了最后一組一直連續遞增。因此
C
選項,
1,
2,3
無法判斷。
)
11.有如下 Python 自定義函數:
def fun(x,i):
if xreturn i
elif x%i==0:
return x
else:
return fun(x-i,i+1)
執行語句 k=fun(37,3)后,k 的值為
A.5 B.6 C.30 D.34
(
【答案】
C
【解析一】
本題考查遞歸算法。
根據
if
語句的條件,計算
fun
(37,3)=
fun
(34,4)=
fun
(30,5)
,此時滿足
x%i==0
的條件,返回
x
值為
30
。
【解析二】
本題考查遞歸。
fun
(37,3)

fun
(34,4)

fun
(30,5)

30
)
高三技術 試題卷 第 5 頁(共 14 頁)
12.有如下 Python程序段,其功能是刪除無序鏈表(元素個數大于等于 2)中的重復元素。 def dele(a,head):
pre=head;p=a[head][1]
while p!=- 1:
q=head
flag=False
while :
if a[q][0]==a[p][0]:
p=a[p][1]
flag=True
break
q=a[q][1]
if not flag:
pre=p
p=a[p][1]
a=[[0,3],[1,2],[1,4],[0, 1],[0,5],[2,- 1]]
dele(a,0)
①q!=- 1 ②q!=p ③a[pre][1]=a[p][1] ④a[pre][1]=a[q][1]
方框中填入的正確代碼依次為
A.②④ B.②③ C.①④ D.①③
(
【答案】
B
【解析一】
本題考查鏈表元素刪除的程序實現。
程序中外層循環用指針
p
從第二個節點開始遍歷至最后一個節點,
內層循環用指

q
從頭節點開始遍歷查
找相同元素,當出現相同元素時,刪除其中一個,而
pre

p
的前驅節點,并未記錄
q

前驅節點,故刪除
的是節點
p
,第二個方框填入的是語句③;
由于刪除的是
p
節點,而
p

于外層循環的遍歷,那么查找范圍
到從頭節點到
p
節點,保證
p
節點之前沒有相同的元素即可,故第一個方框中填入
的是語句②。
【解析二】
本題考查鏈表元素刪除的程序實現。

pre
=p, p=a[p][1]
,可知
pre

p
的前驅,刪除是刪除后繼節點,因此第二加框處是刪除后繼
p
節點,選③;

q=
head

p=a[
head
][1]
,可知第一加框處
q!=p
,否則
if
a
[q][0]==a[
p][0]
必然成立,因此第一加框處選②。
)
二、非選擇題(本大題共 3 小題,其中第 13 小題 7 分,第 14 小題 10 分,第 15 小題 9 分,共 26 分) 13.對某二值圖像(顏色編號只有 0 、1)按如下規則對其進行數據壓縮:
(1)記錄原數據第 1 個位置的顏色編號;
(2)從左往右依次掃描顏色編號,統計并記錄連續出現的相同顏色編號個數;
例如:圖像的顏色編號:00000000011111111000,壓縮結果為“0,9,8,3 ”(用逗號分隔)
9 個 8 個 3 個
請回答下列問題:
(1)若某二值圖像按此規則壓縮的結果為“ 1, 1,3,5,6 ”,則該圖像的顏色數據中有 個 1。
(2)定義如下jys(s)函數,參數 s 存儲壓縮結果,為字符串類型,如“0,9,8,3 ”。函數功能是實現數據解 壓縮,函數以字符串類型返回原數據。請在劃線處填入合適的代碼。
高三技術 試題卷 第 6 頁(共 14 頁)
def jys(s) :
d={" 1":"0","0":" 1"}

ns="";p=s[0];i=2
while inum =0
while ② :
num =num* 10 +int(s[i])
i += 1
i += 1
for j in range(num):

p=d[p]
return ns
(
【答案】

1

6

1
分)

2


n=len(s)

2
分)

i <= n-1 and
"0"<=s
[i]<="9"

i <=
n-1
and
s[i]!=","

2
分)

ns += p

2
分)
【解析一】
本題考查
python
基礎應用的相關知識。

1
)考查考生對題干的理解,根據題干中的例子“
0

9
,
8
,
3
”以及結合代
碼中字典
d
的數據,可得出“
1
,
1
,
3

5
,
6
”的結果是有
1

1
,
3

0
,
5

1
,
6

0
。故最后
1
的個數是
6
。

2
)觀察下方代碼在
while
的條件表達式中有一
個未知量
n
,根據已有線索可推斷第
1
空中的賦值語句形
式是求“
n=
”,結合已有線索解密過
程需要遍歷字符串
s
的每個元素,故推出“
n=
len
(s)
”。
代碼說明如下:
ns
="";p=s[0];i=2
#
變量
p
表示當前數字,
i=2
由于第一個位置表示開始的顏色,故從第二個數字開始取。
while
i
num
=0
while
i
<=n-
1
and
"0"<=s[i]<="9":
num
=
num
*
10 +
int
(s[i])
#
遍歷整個加密字符串
s
#
設初值
num
=0,
每次取出當前數字后再重置
#
若當前數字不是逗號且沒有遍歷完
#
則取出當前數字
i
+=
1
i+=
1
for
j in range(num):
ns
+=p
p=d[p]
結合圖析整個解密過程更加清楚:
#
繼續遍歷
#
若遇到逗號退出,則
i
的位置要加
1
。若遍歷完了加
1
后,結束整個
while
循環。
#
訪問
num
個數,來決定有幾個
0

1
。
#
將個數添加到
ns

#
若開始是
0,
則下一個數字表示的是
1
。
#
若開始是
1,
則下一個數字表示的是
0

#
可通過字典
d
來實現切換。
#
結合
return
ns
語句可知,
ns
為解密后輸出的字符串。
)
高三技術 試題卷 第 7 頁(共 14 頁)
(
【解析二】
本題以
RLE
字符壓縮算法為背景,主要考察字符串處理。

1
)壓縮由結果“
1
,
1
,
3

5
,
6
”可知,原串由字符“
1
”開頭,其中字符“
1
”連續出現
1
次,隨后分
別為
3
個“
2
”、
5
個“
1
”、
6
個“
2
”。因此字符“
1
”共出現
6
次。

2
)①空初始化原串長度
n =
len
(s)
;②空較為常規,考察字符的索引訪問以及字符比較,當
s[i]
為數字字
符時更新
num
變量,即“
當前有效數據
”。這里
由于字符串本身可以進行比較,因此答案“
0

<=s[i]<=

9

即可,不必要將字符“
0
”和“
9
”用
ord
函數轉換。然而考慮到原串的結尾分隔符缺失,因此
i==
len
(s)

需要強制退出循環,因此答案為“
0

<=s[i]<=

9

and
i
< n
。③空用于記錄連續出現的
num
個字符,變量
p
記錄了當前連續出現的基本字符,這一點可以從變量
p
的初始化和更新確認
p= s[0]

p
= d[p]
。因此第③
空更新返回值
ns
的表達式為
ns
+= p

)
14. 小明搭建了圖書查詢系統,模擬如第 14 題圖 a 所示自助圖書借閱機的查詢功能:把書籍放置在讀寫器 上,讀寫器讀取到圖書上 RFID 電子標簽的唯一編號后通過 Wi-Fi 傳輸到 Web 服務器數據庫中,并在該 數據庫查詢到該書籍的借閱日期。該系統結構示意圖如第 14 題圖 b 所示。若圖書編號是“A20-2440 ”, 智能終端提交數據到 Web 服務器的 URL 為 http://192.168.3.200/cx bbh=A20-2440,請回答下列問題。
第 14 題圖 a 第 14 題圖 b
(1)關于該圖書查詢系統,下列說法正確的是 (多選,填字母)。
(注:全部選對的得 2 分,選對但不全的得 1 分,不選或有選錯的得 0 分)
A.該系統網絡應用軟件的實現架構是 B/S 架構
B.數據庫是服務器的外接數據存儲設備
C.智能終端的 IP 地址是 192.168.3.200
D.若無線路由器出現故障,智能終端將無法提交數據到服務器
(2)該系統實現查詢功能的部分服務器端程序如下,請在劃線處填入合適的代碼
@app.route(" ① ",methods=["GET"])
def get_h() :
DB="data/books.db"
bbh = request.args.get("bbh")
高三技術 試題卷 第 8 頁(共 14 頁)
conn=sqlite3.connect( ② )
#在數據庫中查詢編號為 bbh 的圖書借閱日期存入變量 rslt ,代碼略
return rslt
(3)除了給圖書貼電子標簽,并用讀寫器采集圖書編號外,請寫出兩種其它采集圖書編號的方 式 。(注: 回答 2 種,1 種正確得 1 分)
(4)導出某月的圖書借閱流水數據如第 14 題圖 c 所示,統計借閱次數最多的前 5 名(相同借閱次數排 名相同),統計結果如第 14 題圖 d 所示,部分 Python程序如下。
第 14 題圖 c 第 14 題圖 d
import pandas as pd
import matplotlib.pyplot as plt
df= pd.read csv('bookdata.csv') #讀取 bookdata.csv 中的數據
df_gp=df.groupby('BookTitle',as index=False)['BookID'].
#分組統計書籍被借閱次數
n=len(df_gp)
pm=[1]*n
for i in range(n):
for j in range(n):
if df_gp.at[i,'BookID']#通過行標簽和列標簽選取值進行比較
pm[i]+= 1
df_gp.insert(2,'排名', pm) #插入“排名”列,值為列表 pm
df _pm=df_gp[ ○B ] #篩選最受歡迎的五本圖書
df_pm=df_pm.sort_values('排名', ascending=True , ignore_index=True) #升序排列
print('本月圖書借閱次數最多的前五名:')
print(df_pm['BookTitle'])
①劃線處應填入的代碼為 (單選,填字母)。
A.sum() B. mean() C.count() D.max()
②在劃線○B 處填寫合適的代碼。
(
【答案】

1

AD

2
分,少選
1
分,錯選
0
分)

2


/cx

1
分)

DB

1
分,小寫不給
分)

3
)圖書貼條形碼,并用掃描槍采集圖書編號
/
用鍵盤(語音、手寫板)輸入圖書編

/
用攝像頭識別
圖書封面、圖書編號等

2
分,
1

1
分)
)
高三技術 試題卷 第 9 頁(共 14 頁)
(

4


C

2
分)

df_gp['
排名
']<=5

df_gp
.排名
<=5

2
分)
【解析一】
本題考查信息系統、
pandas
模塊以及分析處理數據的能
力。

1
)選項
A:
根據圖
b
可得,用戶可以通過瀏覽器為實現對服務器的訪問,系統采用了
B/S

構,所以
A
正確;選項
B
:數據庫將數據以文件的形式存儲在存儲
服務器中,而非外接的數據存儲設備,
B
錯誤;選項
C
:服務器的
IP
為:
192
.
168
.
3
.
200

C
錯誤。選項
D
:根據圖
b
可得,智能終端通過無線路由實現和服務
器雙向數據交互,所以
D
正確。

2
)從題干中數據提交的
URL
可得,實現數據提交的功能的路由為“
/
cx
”;
sqlite
3
.
connect
(
path
)
表示連
接到數據庫文件,
path
參數表示數據庫文件的路徑或者文件名。

3
)采集圖書編號的方式有多種:可以通過圖書編號以條形碼的形式編碼,然后通過掃描槍掃描;也
可以
通過手動輸入圖書編號等方法。

4
)第一空根據題干要求分組統計書籍被借閱次數
,
count
()
函數可以用
于對
Dataframe
中每一列的非空值進
行計數操作,以生成計數結果
;
第二空前面的代碼段已經統
計出每本書借閱次數,并且根據借閱次數計算排名,
借閱次數越多,排名越高。所以最受歡迎的五本圖書即為排名的前
5
名的記錄,可以通過篩選“排

”數據
列小于等于
5
的記錄得到結果。
【解析二】
本題考查信息系統、
pandas
模塊以及分析處理數據的能
力。

1

A
根據描述,傳輸、查閱數據均是通過瀏覽器完成,該系統是
B/S
架構,正確
B
數據庫是系統軟件,不是存儲設備,錯誤
C
這是服務器的
IP
地址,不是智能終端的,錯誤
D
從圖
b
可知,無線路由器故障,
連接中斷,無法傳輸數據,正確

2
)①從
URL
不難得出正確路由:
/
cx
;
② 這里是要連接數據庫文件
DB
,或者
"
data
/
books
.
db
"
亦可

3
)貼條形碼、二維碼,用攝像頭(掃描槍)采集數據、直接輸入(鍵盤等設備)、攝像頭智能識別均可。

4
)① 根據要求,這里應該是分組計數,
count
()
,選
C
② 根據前面雙重循環的代碼,遇到借閱次數比
i
多的,
pm
[i]
累加,說明
pm
存儲
的是對應的排名,
pm
[i]
如果是初值
1
,那就是沒有借閱次數比它更多,排名第一??紤]到重名的情況,篩選條件是:
df
_
gp
['
排名
']<=5
)
15.某工廠生產的產品包含 n 個(編號為 0~n- 1)組件,其組裝可由多名工人共同協助完成。組裝時每個組件 都不可遺漏并能按序完成,有些組件存在前置組件(以下簡稱“前置 ”) ,即安裝有先后順序。例如,某 產品有 6 個組件,如第 15 題圖 a 所示,組件 3 的前置是組件 1 和組件 2 ,即安裝組件 3 需要在組件 1 和 組件 2 完成之后。若 0~5 號組件的組裝所需單位時間分別為 2 ,5 ,2 ,4 ,3 ,5 ,則在工人數量不限的情 況下,所有組件安裝完成最短需要 14 個單位時間。
為了梳理產品組件的組裝順序,并計算所有組件安裝完成所需的最短時間,編寫程序模擬組裝過程: 先同時組裝前置總數為 0 的組件,完成后更新每個組件的前置總數,再重復以上步驟,直至所有組件安 裝完畢,程序運行結果如第 15 題圖 b 所示,請回答下列問題:
高三技術 試題卷 第 10 頁(共 14 頁)
(1)第 15 題圖 a 所示產品的 1 號組件組裝時長若縮短為 3 個單位時間,其它時間保持不變,則所有組 件安裝完成所需最短時間為 個單位時間。
(2)定義如下 cal(a,n)函數,參數 a 列表的每個元素包含兩項,a[i][1]是組件編號,a[i][0]是 a[i][1]的前置編 號,例如 a 中某個元素值為[2 ,3] ,表示組件 2 是組件 3 的前置。該函數的返回值是列表 s 和列表 pre ,其中 s 記錄所有組件的相互關系,pre[i]記錄初始情況下組件 i 的前置總數。
def cal (a, n):
pre=[0]*n
s=[[0 for i in range(n)] for j in range(n)] #創建 n*n 的二維數組 s ,元素初始值為 0
for i in range(len(a)):
x, y=a[i][0],a[i][1]
s[x][y]=1
pre[y]=
return pre,s
(3)定義如下 proc(n, s, pre)函數,該函數的返回值是列表 v ,v[i]代表從開始到組件 i 完成組裝所需的最 短時間。請在劃線處填入合適的代碼。
def proc(n, s, pre):
head=tail=0
que=[0]*n
for i in range(n):
if pre[i]==0:
que[tail]=i
tail+= 1
while headx=que[head]
head+= 1
for i in range(n):
if s[x][i]==1:
pre[i]-= 1
if pre[i]==0:
que[tail]=i
tail+= 1
v[i]=max(v[i], ① )
return v
"""
組裝編號 0~n- 1 的單個組件所需時間存入 t 列表,組件前置關系存入 a 列表,第 15 題圖 a 所需時 間 t=[2,5,2,4,3,5];a=[[0,2],[2,3],[1,3],[3,5],[4,5]]
"""
n=len(t)
print('編號為 0~'+str(n- 1)+' 的組件組裝所需單位時間分別為: ’,t)
v=t[:]
pre, s=cal(a, n)
高三技術 試題卷 第 11 頁(共 14 頁)
(
0
1
2
3
4
5
0
0
1
2
0
2
) (
數組
pre
)
v=proc(n, s, pre)
data=[0]*n
result=[i for i in range(n)] #創建列表 result=[0, 1 ,2 , …… ,n- 1]
for i in range(n):
data[i]=v[i]-t[i] #data[i]表示組件 i 開始安裝時間
for i in range(n- 1): #按組件開始安裝時間升序排序,開始安裝時間相同時按組件序號升序 for j in range(n- 1-i):
if data[result[j]]>data[result[j+1]]:

print('組件組裝順序: ', result,',安裝完成所需最短時間: ', max(v))
(4) 以下選項與題(3)加框處代碼功能相同的是 (多選,填字母)。
(注:全部選對的得 2 分,選對但不全的得 1 分,不選或有選錯的得 0 分)
A.head != tail B.head 0
(
【答案】
)
(

1
分)
)(1) 13
(

2

pre[y]+1

2
分)
)
(

3


t[i]+v[x]

2
分)
)
(

result[j],result[j+1]=result[j+1],result[j]

2
分)
)
(

4

AB

2
分,少選
1
分,錯選
0

)
(
【解析一】
)
(
本題考查基于索引的冒泡排序,
自定義函數,隊列等知識
)
(

1
)如下圖所示,最短時間為
2+2+4+5=
13
)
(

2
)根據題意,
pre
[i]
存儲初始情況下組件
i
的前置總數,遍歷數組
a
,對于每個
a[i],a[i][0]

a[i]
[1]

y

)
(
的前置,故該空答案為
pre
[y]+1
)
(

3
)根據題意,
以及樣例,得到數組
s
如左圖所示,數組
pre
如右
圖所示:
)
0 (
1
) (
2
) (
3
) (
4
) (
5
)
(
0
) (
0
) (
0
) (
1
) (
0
) (
0
) (
0
)
(
1
) (
0
) (
0
) (
0
) (
1
) (
0
) (
0
)
(
2
) (
0
) (
0
) (
0
) (
1
) (
0
) (
0
)
(
3
) (
0
) (
0
) (
0
) (
0
) (
0
) (
1
)
(
4
) (
0
) (
0
) (
0
) (
0
) (
0
) (
1
)
(
5
) (
0
) (
0
) (
0
) (
0
) (
0
) (
0
)
(
數組
s
)
(
根據題意,首先處理無前置的組件,故先遍歷數組
pre
,把值為
0
的對應索引按順序進行入隊(
que
)操作;
)
(
然后,當隊列
que
非空時,依次進行出隊操作,即對每個組件進行如下處理:
)
(
如圖所示,
)
高三技術 試題卷 第 12 頁(共 14 頁)
若當前處理的組件為 0 ,以它為前置的是組件 2 ,則組件 2 的最短完成時間 v[2]更新為 v[0]+t[2]=4 ,同時把 2 入隊
若當前處理的組件為 1 ,以它為前置的是組件 3 ,則組件 3 的最短完成時間 v[3]更新為 v[1]+t[3]=8,
若當前處理的組件為 4 , 以它為前置的組件是 5 ,則組件 5 的最短完成時間 v[5]更新為 v[4]+t[5]=8 ,如下圖 所示
若當前處理的組件為 2 ,以它為前置的組件是 3 ,則組件 3 的最短完成時間保持不變,同時因為 3 的兩個前 置 1 ,2 都已經處理完成,故把 3 進行入隊
若當前處理的組件為 3 ,以它為前置的組件是 5 ,則組件 5 的最短完成時間更新為 v[3]+t[5]=13 ,同時把 5 入隊
最后處理的組件為 5 ,它是最后一個,沒有前置組件,故處理結束
所以,所有組件完成后的最短完成時間是 max(v) ,即 13
第二空是對數組 data進行排序,根據題意,數組 result 是索引數組,此處的冒泡排序是基于索引的冒泡排序, 故答案為 result[j],result[j+1]=result[j+1],result[j] ,即比較的是 data 數組的相應數據,交換的是索引數組 result 的相應數據
(4)加框處代碼的含義是隊列非空,故 A 正確。
本題中,所有組件都會依次入隊和出隊,故 B 正確,C 不正確
列表 que 的長度保持不變,故 D 不正確
【解析二】
(1)本題考查題目的理解和執行,執行過程如下
高三技術 試題卷 第 13 頁(共 14 頁)
(

2

本題考查標記數組
pre
,
pre
[i]
記錄組件
i
的前景個數
根據題意
a
中某個元素值為
[2,3]
,則
x =2,y=3,
表示
x

y

前件
x

y,
組件
y
的前件數加一

3


本題求
v[i]
的最早結束時間
假設
x1,x2,

,
xm
是組件
i
的前件,則組件
i
的最早開始時間為
max
(v[x1],v[x2],

,v[x]),
所以組件
i
的最早結束時間為
max
(v[x1],v[x2],

,v[x]) + t[i]

max
(v[x1] + t[i
],v[x2] + t[i],

,v[x] + t[i])
"""

本題考查冒泡法排序,交換指針
data
[i]
存儲組件
i
的開始安裝時間,
result
列表使用
時,作為
data
列表的索引,所以
reuslt
列表是指
針,存儲第
i
個開始安裝的組件的索引。

data
[
result
[j]]>
data
[
result
[j+1]]
時,節點
result
[j+1]
的開始安裝時間早于節點
result
[
j]
的開始安裝時
間。節點
result
[j+1]
應該排在節點
result
[j]
的前面,所以交換
result
[j+1]

result
[j]

4

本題考查順序隊列不為空的條件
head
!=
tail

head
<
tail
本題處理
n
個組件,每個組件只入隊一次,故全部組件入隊
時,
tail
= n
所以
n
個組件沒有處理完,即隊列不為空的條件可以寫成
head
)
高三技術 試題卷 第 14 頁(共 14 頁)

展開更多......

收起↑

資源預覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 长沙县| 任丘市| 招远市| 永嘉县| 武川县| 北碚区| 河北区| 响水县| 秦皇岛市| 襄城县| 大方县| 乌恰县| 黄平县| 古田县| 保亭| 白玉县| 威海市| 麻阳| 洛宁县| 巍山| 秦皇岛市| 瓮安县| 石阡县| 馆陶县| 新绛县| 蚌埠市| 三明市| 巢湖市| 诏安县| 长宁县| 武安市| 莲花县| 汶上县| 赤城县| 星子县| 万山特区| 乐亭县| 清河县| 东山县| 泰州市| 古田县|