資源簡介 絕密★考試結束前2023 學年第一學期杭州市高三年級教學質量檢測 技術試題卷第一部分 信息技術(共 50 分)一、選擇題(本大題共 12 小題,每小題 2 分,共 24 分。每小題列出的四個備選項中只有一個是符合 題目要求的,不選、多選、錯選均不得分)1.下列有關數據和信息的說法,正確的是A.計算機中的數據以二進制的形式存儲 B.人們觀看在線影視時,點播的視頻是信息C.信息本身會因為被別人獲取而發生損耗 D.大數據的數據總量越大,價值密度就越高(【答案】A【解析一】本題考查數據和信息的相關知識。A.計算機中的數據以二進制的形式存儲,是正確的;選項B.人們觀看在線影視時,點播的視頻是數據,故選項B是不正確的;選項C.信息本身不會因為被別人獲取而發生損耗,故選項C是不正確的;選項D.大數據的數據總量越大,價值密度就越低,故選項D是不正確的。所以答案是A。【解析二】本題考查數據、信息、大數據的相關知識。視頻是數據,是信息的載體,選項B錯誤;信息是可以共享的,不會發生損耗,選項C錯誤;大數據的價值密度小,選項D錯誤。)2.下列關于進制與信息編碼的說法,不正確的是A.最大的兩位十六進制數值是 FFHB.將商品信息轉換為條形碼的過程屬于編碼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+= 1else:ifk>lmax:lmax=kk= 1print(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 ielif x%i==0:return xelse: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=headflag=Falsewhile :if a[q][0]==a[p][0]:p=a[p][1]flag=Truebreakq=a[q][1]if not flag:pre=pp=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,否則ifa[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=2while inum =0while ② :num =num* 10 +int(s[i])i += 1i += 1for 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-1ands[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由于第一個位置表示開始的顏色,故從第二個數字開始取。whileinum=0whilei<=n-1and"0"<=s[i]<="9":num=num*10 +int(s[i])#遍歷整個加密字符串s#設初值num=0,每次取出當前數字后再重置#若當前數字不是逗號且沒有遍歷完#則取出當前數字i+=1i+=1forj in range(num):ns+=pp=d[p]結合圖析整個解密過程更加清楚:#繼續遍歷#若遇到逗號退出,則i的位置要加1。若遍歷完了加1后,結束整個while循環。#訪問num個數,來決定有幾個0或1。#將個數添加到ns中#若開始是0,則下一個數字表示的是1。#若開始是1,則下一個數字表示的是0。#可通過字典d來實現切換。#結合returnns語句可知,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”andi< 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.200D.若無線路由器出現故障,智能終端將無法提交數據到服務器(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 題圖 dimport pandas as pdimport matplotlib.pyplot as pltdf= pd.read csv('bookdata.csv') #讀取 bookdata.csv 中的數據df_gp=df.groupby('BookTitle',as index=False)['BookID'].#分組統計書籍被借閱次數n=len(df_gp)pm=[1]*nfor i in range(n):for j in range(n):if df_gp.at[i,'BookID']#通過行標簽和列標簽選取值進行比較pm[i]+= 1df_gp.insert(2,'排名', pm) #插入“排名”列,值為列表 pmdf _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”;sqlite3.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]*ns=[[0 for i in range(n)] for j in range(n)] #創建 n*n 的二維數組 s ,元素初始值為 0for i in range(len(a)):x, y=a[i][0],a[i][1]s[x][y]=1pre[y]=return pre,s(3)定義如下 proc(n, s, pre)函數,該函數的返回值是列表 v ,v[i]代表從開始到組件 i 完成組裝所需的最 短時間。請在劃線處填入合適的代碼。def proc(n, s, pre):head=tail=0que=[0]*nfor i in range(n):if pre[i]==0:que[tail]=itail+= 1while headx=que[head]head+= 1for i in range(n):if s[x][i]==1:pre[i]-= 1if pre[i]==0:que[tail]=itail+= 1v[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 頁)(012345001202) (數組pre)v=proc(n, s, pre)data=[0]*nresult=[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 頁) 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫