資源簡介 浙里卷天下 2022~2023學(xué)年高三百校聯(lián)考 3月測試技 術(shù)考生須知:本試題卷分兩部分,第一部分信息技術(shù),第二部分通用技術(shù)。滿分 100 分,考試時(shí)間90 分鐘。1.考生答題前,務(wù)必將自己的姓名、準(zhǔn)考證號(hào)用黑色字跡的簽字筆或鋼筆填寫在答題紙上。2.選擇題的答案須用 2B 鉛筆將答題紙上對應(yīng)題目的答案標(biāo)號(hào)涂黑,如要改動(dòng),須將原填涂處用橡皮擦凈。3.非選擇題的答案須用黑色字跡的簽字筆或鋼筆寫在答題紙上相應(yīng)區(qū)域內(nèi),作圖時(shí)可先使用 2B 鉛筆,確定后須用黑色字跡的簽字筆或鋼筆描黑,答案寫在本試題卷上無效。第一部分 信息技術(shù)(共 50 分)一、選擇題(本大題共 12小題,每小題 2分,共 24分。每小題列出的四個(gè)選項(xiàng)中只有一個(gè)是符合題目要求的,不選、多選、錯(cuò)選均不得分)在被稱為”死亡之組”的.組淘汰賽中,日本隊(duì)?wèi){借救回一顆似乎已經(jīng)出界了的球,成功破門反超西班牙"把”四星德國”送回了家。該球用肉眼看確實(shí)已經(jīng)到了界外。然而"通過 AI 裁判的最終數(shù)據(jù)顯示,當(dāng)時(shí)足球的投影與底線重合了 1.88 毫米,而根據(jù)規(guī)則,足球出界的定義是指球體正上方的垂直投影要完全越出底線,因此判定進(jìn)球有效。1.下列關(guān)于數(shù)據(jù)、信息、知識(shí)說法不正確的是( )A.當(dāng)人們孤立地看 1.88 時(shí)它僅僅是一數(shù)據(jù)B.從日本隊(duì)破門反超西班牙推算出德國隊(duì)淘汰這是知識(shí)的體現(xiàn)C.人們熱衷于觀看直播體驗(yàn)足球運(yùn)動(dòng)帶來的不確定性這是信息時(shí)效性的體現(xiàn)D.球賽實(shí)時(shí)產(chǎn)生的大數(shù)據(jù)適合采用批處理計(jì)算方式處理【答案】D【解析】本題考查數(shù)據(jù)、信息、知識(shí)概念辨析。對于 D:球賽實(shí)時(shí)產(chǎn)生的大數(shù)據(jù)屬于流數(shù)據(jù),適合采用流處理。2.有關(guān)人工智能方面說法不.正.確.的是A.AI 裁判根據(jù)最終判罰結(jié)果來調(diào)整相應(yīng)的學(xué)習(xí)方法,這一學(xué)習(xí)機(jī)制叫強(qiáng)化學(xué)習(xí)B.機(jī)器人 Kashef 錯(cuò)誤地預(yù)測巴西隊(duì)奪冠,原因是 AI 訓(xùn)練數(shù)據(jù)量不足C.AI 裁判需要大量的比賽視頻數(shù)據(jù)進(jìn)行訓(xùn)練屬于聯(lián)結(jié)主義人工智能D.AI 裁判與人類裁判共同完成判罰是混合人工智能的體現(xiàn)百校聯(lián)考 技術(shù)試題卷 第 1 頁 共 13 頁【答案】B【解析】本題考查人工智能相關(guān)概念辨析。對于 B: 人工智能預(yù)測世界杯是一種數(shù)據(jù)分析的手段。人工智能預(yù)測則是基于以往眾多數(shù)據(jù),綜合考慮如足聯(lián)排名、球員身價(jià)、傷病情況、教練年齡、天氣、裁判等多重因素,進(jìn)行算法設(shè)計(jì),再由機(jī)器進(jìn)行理性計(jì)算得出的。例如不公平的裁判、天氣、政治狀況、球員的個(gè)人問題等外部因素,這些重要的特征通常很難被測量和收集。此外,還存在一些隨機(jī)性因素,例如,烏龍球的出現(xiàn)或是重要性錯(cuò)誤的發(fā)生,這是不容易預(yù)測的。這些數(shù)據(jù)不但會(huì)影響賽場發(fā)揮,也無法收集有效數(shù)據(jù),反哺模型算法。故 B項(xiàng)不對。閱讀下列材料﹐回答第 3—5 題。Talabat是中東地區(qū)最大的食品和雜貨配送應(yīng)用程序,世界杯期間球迷能夠借助該 App在球場的座位上點(diǎn)餐,食物將直接派送到座位上,不會(huì)錯(cuò)過任何進(jìn)球。3.根據(jù)閱讀材料下列關(guān)于信息系統(tǒng)的說法正確的是( )A.該點(diǎn)餐 App 使用 B/S 模式開發(fā)B.球迷通過 App 點(diǎn)餐必須通過局域網(wǎng)傳輸數(shù)據(jù)C.Talabat 系統(tǒng)中的用戶是指球迷和商家D.點(diǎn)餐 App 必須基于系統(tǒng)軟件才能運(yùn)行【答案】D【解析】本題考查信息系統(tǒng)概念辨析。對于 A:題目中提到了 APP,故該信息系統(tǒng)采用了 C/S開發(fā)模式對于 B: 球迷通過 App點(diǎn)餐也可以通過移動(dòng)通信網(wǎng)絡(luò)進(jìn)行傳輸數(shù)據(jù)對于 C:Talabat系統(tǒng)中用戶是指球迷、商家和維護(hù)人員,程序設(shè)計(jì)人員,數(shù)據(jù)庫管理員等等。4.根據(jù)閱讀材料下列關(guān)于信息與信息安全說法不.正.確.的是A.客戶端發(fā)生損壞,服務(wù)器端的訂單數(shù)據(jù)不受影響B.Talabat 運(yùn)營商需定期備份服務(wù)器數(shù)據(jù),并升級服務(wù)器端殺毒軟件C.為了更加便捷地使用 App,用戶應(yīng)盡可能多地將手機(jī)權(quán)限開放給 TalabatD.人臉支付功能提供了高效便捷的支付體驗(yàn),但存在個(gè)人隱私數(shù)據(jù)泄露的擔(dān)憂【答案】C【解析】本題考查信息安全相關(guān)概念辨析。對于 D:一旦將手機(jī)權(quán)限開放給 Talabat,相當(dāng)于失去了系統(tǒng)保護(hù),手機(jī)容易出現(xiàn)異常或者受到攻擊,手機(jī)安全性穩(wěn)定性大大降低了。百校聯(lián)考 技術(shù)試題卷 第 2 頁 共 13 頁5.Talabat 每天登陸后都會(huì)推出限時(shí)滿減活動(dòng),指定商家滿 50 減 15,滿 80 減 25,滿 110 減35 以此類推。假設(shè)某顧客會(huì)員訂單 n(n≥50)元,其減免額度為 r,以下 Python 表達(dá)式正確的是( )A.r=15+(n-50)%30*10 B.r=(n+10)//30*10-5C.r=15+int((n-50)/30*10) D.r=10+(n-20)//30*15【答案】C【解析】本題考查信息安全相關(guān)概念辨析。根據(jù)題干關(guān)鍵詞:滿 50減 15,滿 80減 25,滿 110減 35,相當(dāng)于門檻為 50元,優(yōu)惠 15元,再往上每滿 30再減 10元;對于 A:當(dāng) n=60時(shí),r=115,故排除;對于 B:當(dāng) n=30時(shí),r=5,故排除;對于 D:當(dāng) n=30時(shí),r=10,故排除。6.某算法的部分流程圖如圖所示。執(zhí)行這部分流程,若輸入 n的值為 70,則輸出 cnt 的值為( )A.3 B.4 C.5 D.6【答案】C【解析】本題考查流程圖。列出表格n c d cnt開始 70 27 3 0第一輪 53 27 3 1第二輪 26 27 3 2第三輪 26 9 3 2第四輪 15 9 3 3第五輪 6 9 3 4第六輪 6 3 3 4第七輪 3 3 3 57.有二叉樹用數(shù)組表示為:[“A”,”B”,”C”,None,”D”,”E”,”F”,None,None,None,”G”],則下列關(guān)于該二叉樹的說法正確的是A.該二叉樹度為 1 的節(jié)點(diǎn)有 2個(gè) B.該二叉樹一共有 3層C.該二叉樹中的葉子節(jié)點(diǎn)有 4個(gè) D.該二叉樹的中序遍歷序列是 B-G-D-A-E-C-F【答案】A【解析】本題考查二叉樹的基本操作。百校聯(lián)考 技術(shù)試題卷 第 3 頁 共 13 頁根據(jù)題干中的提示可以畫出二叉樹的示意圖,由此我們可以分析出該二叉樹度為 1 的節(jié)點(diǎn)有 2個(gè),故 A 對;該二叉樹一共有 4層,該二叉樹中的葉子節(jié)點(diǎn)有 3 個(gè),該二叉樹的中序遍歷序列是 B-D-G-A-E-C-F,故 BCD 不正確。8.以下是實(shí)現(xiàn)正整數(shù)序列 arr 升序排列的程序代碼段,則畫線部分代碼正確的是arr=[7,4,2,13,6,5,3,6,17,1]for i in range(1,len(arr)):key=arr[i]j=iwhile ▲ :arr[j]=arr[j-1]j-=1▲①j>0 and key=0 and keyA.①③ B.①④ C.②③ D.②④【答案】A【解析】本題考查插入排序的算法實(shí)現(xiàn)。本題中插入排序的思路為將第 i個(gè)元素插入至已有序的范圍[0,i],故而需要將 a[i]的元素和范圍[0,i-1]的元素進(jìn)進(jìn)行比較,程序中 a[i]的值存入 key 中,[0,i-1]采用 j-1來進(jìn)行枚舉,所以 j 的取值最多只能取到 1,當(dāng) j的值為 0時(shí),不要再執(zhí)行循環(huán),故而第1 空為 j>0 and keyarr[j]=key。9.有如下 Python 程序段:n=int(input())a=1;q=[0]*100;two=three=rear=0;q[0]=awhile rear!=n:if(2*q[two]+1>3*q[three]+1):rear+=1q[rear]=3*q[three]+1three+=1elif(2*q[two]+1<3*q[three]+1):百校聯(lián)考 技術(shù)試題卷 第 4 頁 共 13 頁rear+=1q[rear]=2*q[two]+1two+=1else:rear+=1q[rear]=3*q[three]+1two+=1;three+=1運(yùn)行上述程序段后,如果輸入 10,則 q[n]的值是A.15 B.22 C.27 D.31【答案】B【解析】本題考查程序閱讀能力。列出表格,故而答案選 C10.有如下 Python 程序段:def trans(m,n):if m!=0 or n!=0:r=(m%2+n%2)%2return trans(m//2,n//2)+str(r)else:return "0"a=int(input("a="));b=int(input("b="))print(trans(a,b))執(zhí)行該程序段,依次輸人 10 和 7,則輸出的結(jié)果是A.10110 B.01011 C.01101 D.11010【答案】C【解析】本題考查遞歸與進(jìn)制轉(zhuǎn)換的算法實(shí)現(xiàn)。本題中將 a,b 傳入自定義函數(shù) trans 中給到 m與 n,遞歸結(jié)束的條件為 m==0and n==0,且百校聯(lián)考 技術(shù)試題卷 第 5 頁 共 13 頁返回“0”;若未達(dá)到遞歸結(jié)束的條件,將 m 與 n 對 2 進(jìn)行整除,繼續(xù)進(jìn)行遞歸。11.有如下程序段:import randoma=[0]*4;i=0while i<4:a[i]=int(random.random()*10+1)*2if i%2==1:a[i]=a[i]+a[i-1]elif a[i]%3==0:i-=1i+=1程序執(zhí)行后,a數(shù)組中各元素的值可能的是A.2 4 6 8 B.4 6 2 20 C. 8 10 4 26 D. 10 16 28 40【答案】B【解析】本題考查程序的控制結(jié)構(gòu)和邏輯判斷能力。對于 a[i]=int(random.random()*10+1)*2 所生成的值為[2,20]的隨機(jī)偶數(shù),其中當(dāng) i 為奇數(shù)時(shí),a[i]為 a[i]與 a[i-1]的和,其中選項(xiàng) C、D 中 a[3]-a[2]的值都為 22,超過了 a[i]生成的范圍,故 C、D 選項(xiàng)不正確;當(dāng) i 不為奇數(shù)時(shí),若 a[i]%3==0,a[i]能被 3 整除時(shí),重新生成 a[i],其中選項(xiàng) A中 a[2]的值為 6,能被 3 整除,故而選項(xiàng) A 不正常。12.有如下 Python 程序段:a=[5,14,3,12,6,7,3,9,20,1]l=min(a);r=max(a) #min 取列表最小值,max 取列表最大值maxi=3while l<=r:mid=(l+r)//2cnt=0for i in a:if midcnt+=1if cnt百校聯(lián)考 技術(shù)試題卷 第 6 頁 共 13 頁r=mid-1else:l=mid+1上述程序段執(zhí)行結(jié)束,下列說法正確的是:A.a 列表中第 3大的數(shù) r B.cnt 的值為 2C.l 的值為 12 D.mid=(l+r)//2 代碼執(zhí)行 3次【答案】C【解析】本題考查對分查找的算法實(shí)現(xiàn)。本題中 mid 取出了 l 和 r 的中間值,通過第 6 行-第 9行的循環(huán)語句,找出了列表中比 mid值大的元素個(gè)數(shù)并用 cnt 進(jìn)行記錄,若 cntmaxi 個(gè),執(zhí)行 r=mid-1,向前縮減范圍。當(dāng) cnt]=maxi,代表列表 a 比 mid 大的元素已經(jīng)達(dá)到或超過 maxi 個(gè),執(zhí)行 l=mid+1,向后縮減范圍。當(dāng) l>r 時(shí),循環(huán)結(jié)束,此時(shí)的 r 值應(yīng)為列表 a中第 maxi+1 大的元素,因?yàn)榱斜?a中比 r 大元素有 maxi 個(gè)。結(jié)束時(shí) r 的值為 11,l 的值為 12,故而答案選 C。算法執(zhí)行過程各變量的變化情況如下:二、非選擇題(本大題共 3小題,第 13題 8分,第 14題 10分,第 15題 8分,共 26分。各小題的中“ ▲ ”處填寫合適選項(xiàng)的字母編號(hào))13.李明搭建的“教室空調(diào)控制系統(tǒng)”,實(shí)現(xiàn)通過信息系統(tǒng)控制教室空調(diào)電源通斷,其中日氣溫高于 30℃或低于 10℃時(shí)接通空調(diào)電源,30℃與 10℃之間時(shí)切斷空調(diào)電源,系統(tǒng)的連接方案如 13 題圖 1 所示。(1)在設(shè)計(jì)“教室空調(diào)控制系統(tǒng)”的前期準(zhǔn)備中,需要考慮系統(tǒng)使用的傳感器類型,這一百校聯(lián)考 技術(shù)試題卷 第 7 頁 共 13 頁過程屬于 ▲ (單選,填字母:A.需求分析/B.可行性分析/C.開發(fā)模式選擇)。需記錄不同日期來自不同溫度傳感器的最高氣溫、最低氣溫值到數(shù)據(jù)庫 sensorlog 表中,在不考慮設(shè)置主鍵的情況下,sensorlog 表至少需要設(shè)置 ▲ 個(gè)字段。(2)當(dāng)溫度值大于當(dāng)日最高氣溫值或低于最低氣溫值時(shí),智能終端向服務(wù)器提交溫度數(shù)據(jù),實(shí)現(xiàn)該功能的部分代碼如下.Max_temp = 0; Min_temp = 100while True:#當(dāng)進(jìn)入新的一天 Max_temp 初始化為 0,Min_temp 初始化為 100,代碼略temp = pin1.read_analog()if :#更新 Max_temp 或 Min_temp 值代碼略errno,resp=Obloq.post("input","{\"id\":\"1\",\"val\":\""+str(temp)+"\"}",10000)if errno == 200:if resp == 1:pin6.write digital(1)else:pin6.write digital(0)else:display.scroll(str(errno))sleep(1000)①方框處代碼為 ▲ (多選:填字母)A.Temp>Max_temp or temp>Min_tempB.Temp>Max_temp and temp>Min_tempC.not(temp<=Max_temp and temp>=Min_temp)D.not(temp>Max_temp and temp>Min_temp)②服務(wù)器的 IP 地址是 192.168.1.100,Web 服務(wù)的端口是 5000,智能終端向服務(wù)器提交數(shù)據(jù)的 URL 地址為 ▲ ,通過 ▲ (選填:POST 或 GET)請求將溫度數(shù)據(jù)發(fā)送到 Web 服務(wù)器。(3)當(dāng)溫度低于10℃時(shí),空調(diào)沒有接通電源,出現(xiàn)該故障可能的原因是(寫至少2個(gè)原因):▲ 。【答案】(1)A (1分)、4(1分)(2)①AC(2分) ②http://192.168.1.100:5000/input (1分) POST(1分)(3) 智能終端程序未能運(yùn)行或程序出錯(cuò)智能終端聯(lián)網(wǎng)失敗;服務(wù)器端程序未運(yùn)行或出錯(cuò)。…… (1點(diǎn) 1分,共 2分)【解析】本題信息系統(tǒng)相關(guān)概念,網(wǎng)絡(luò)搭建及 flask相關(guān)知識(shí)。百校聯(lián)考 技術(shù)試題卷 第 8 頁 共 13 頁(1)硬件方面,采用什么終端設(shè)備、具體的傳感器型號(hào),屬于需求分析中的資源和環(huán)境需求,選 A;根據(jù)記錄的要求,至少需要:“日期”、“傳感器編號(hào)”、“最高氣溫”、“最低氣溫”4個(gè)字段(2)①要更新Max_temp或Min_temp 的值,此時(shí)的條件是:出現(xiàn)了更高或更低的溫度。滿足這一要求的語句是 AC;②根據(jù) IP地址、端口號(hào),以及相關(guān)語句:errno,resp=Obloq.post("input","{\"id\":\"1\",\"val\":\""+str(temp)+"\"}",10000)URL地址為:http://192.168.1.100:5000/input;發(fā)送數(shù)據(jù)的方式是 POST(3)智能終端程序未能運(yùn)行或程序出錯(cuò)智能終端聯(lián)網(wǎng)失敗;服務(wù)器端程序未運(yùn)行或出錯(cuò);Web服務(wù)器故障數(shù)據(jù)庫故障無線網(wǎng)絡(luò)故障……理由合理即可(1點(diǎn) 1分,共 2分)14. 李明收集了梅西 2004 年至 2022 年俱樂部比賽數(shù)據(jù),保存在“梅西俱樂部詳細(xì)比賽數(shù)據(jù).xlsx”文件中,部分?jǐn)?shù)據(jù)如第 14 題圖 a 所示,現(xiàn)在利用 pandas 模塊處理數(shù)據(jù)。第 14 題圖 a(1)梅西 2004 年 10 月-2021 年 7 月效力于巴塞羅那俱樂部,2021 年 8 月轉(zhuǎn)會(huì)至巴黎圣日耳曼俱樂部,現(xiàn)在李明想知道梅西每個(gè)賽季的勝率,實(shí)現(xiàn)上述功能的 Python 程序如下,請?jiān)诋嬀€處填入合適的代碼。import pandas as pdimport matplotlib.pyplot as pltdf=pd.read_excel("梅西俱樂部詳細(xì)比賽數(shù)據(jù).xlsx")df['年']=pd.to_datetime(df["時(shí)間"]).dt.strftime('%Y').astype(int)df['月']=pd.to_datetime(df["時(shí)間"]).dt.strftime('%m').astype(int)df['勝負(fù)情況']=""for i in range(len(df)):f=True;z=0;k=0for c in df["比分"][i]:if ① :if f:z=z*10+int(c)百校聯(lián)考 技術(shù)試題卷 第 9 頁 共 13 頁else:k=k*10+int(c)else:f=not fjlb="巴塞羅那"if df["年"][i]*100+df["月"][i]>=202108:②if (df["主隊(duì)"][i]==jlb and z>k) or (df["客隊(duì)"][i]==jlb and zdf['勝負(fù)情況'][i]="勝"elif z==k:df['勝負(fù)情況'][i]="平"else:df['勝負(fù)情況'][i]="負(fù)"g=df.groupby(df["年"],as_index=True).count()③g1=df1.groupby(df1["年"],as_index=True).count()g["勝率"]=g1["勝負(fù)情況"]/g["勝負(fù)情況"]*100(2)14 題 b 圖為 2004-2022 梅西俱樂部比賽勝率統(tǒng)計(jì)圖。第 14 題圖 bplt.plot(g.index,g["勝率"],marker='∧')plt.title("2004-2022 梅西俱樂部比賽勝率統(tǒng)計(jì)")plt.show()方框處代碼為 ▲ (多選:填字母)A. g["年"],g["勝率"] B. g["年"],g.勝率C. g.index,g["勝率"] D. g.index,g.勝率(3)通過第 14 題圖 b 分析,我們可以判斷 2021 年 8 月梅西宣布離開巴塞羅那俱樂部的因素是 ▲ 。【答案】(1) ① c!="-" (1分)② jlb="巴黎圣日耳曼" (2分)百校聯(lián)考 技術(shù)試題卷 第 10 頁 共 13 頁③ df1=df[df['勝負(fù)情況']=="勝"](2分)(2)CD (2分)(3)2016年后巴塞羅那俱樂部成績不佳勝率一直滑坡,讓梅西看不到希望與未來。(2分)【解析】本題考查 Pandas數(shù)據(jù)處理的相關(guān)內(nèi)容。(1)① 由圖 a 可知,比分由分值、-、分值組成,因此當(dāng)讀到“-”時(shí),意味著第一個(gè)分值已經(jīng)讀完了,接下來讀第二個(gè)分值,此處用邏輯型變量 f來標(biāo)記,True代表讀第一個(gè)分值,F(xiàn)alse 代表讀第二個(gè)分值,分別累加到變量 z和 k中。因此①處判斷 c是否為“-”。② 由題干可知,梅西 2021年 8月轉(zhuǎn)會(huì)至巴黎圣日耳曼俱樂部,因此在 for循環(huán)遍歷過程中 jlb變量的值會(huì)從"巴塞羅那"變?yōu)?巴黎圣日耳曼"。因此②處填:jlb="巴黎圣日耳曼"。③ 由題,要統(tǒng)計(jì)梅西每個(gè)賽季的勝率,而代碼中 g和 g1都在將數(shù)據(jù)按照“年”分組計(jì)數(shù),因此 g 對應(yīng)了每年的總比賽場次,g1 對應(yīng)了每年的總勝利場次。從而通過 g1["勝負(fù)情況"]/g["勝負(fù)情況"]*100,計(jì)算出每個(gè)賽季的勝率。因此③處答案為篩選,從數(shù)據(jù)集 df中篩選出勝利的場次數(shù)據(jù),即 df1=df[df['勝負(fù)情況']=="勝"]。(2) 根據(jù)代碼中 groupby分組的參數(shù) as_index=True可知,“年”這一列分組依據(jù)作為了行索引,因此訪問行索引需要用 g.index。選取“勝率”數(shù)據(jù)列,可以采用點(diǎn)屬性的方法也可以采用字典記法,因此答案 CD正確。(3)由圖 b可以看出,從 2016年開始梅西的勝率一直在下滑,2020年跌到了最低。俱樂部成績不佳是梅西轉(zhuǎn)會(huì)的主要原因。15. 要向可容納88966名觀眾的盧賽爾球場派送外賣是一項(xiàng)艱巨的任務(wù),為了方便外賣派送,將球場觀眾席劃分為A、B、C、D、E、F、G、H等8個(gè)區(qū)。派單平臺(tái)可以根據(jù)各區(qū)域訂單數(shù)量安排派送人員,以提高外賣派送效率(一個(gè)派送人員只安排一個(gè)區(qū)域),平臺(tái)根據(jù)訂單總量與空閑派送人員數(shù)量計(jì)算人均派單量,按平均派單數(shù)計(jì)算各區(qū)域所需派送人員。但按此方法分配派送人員,人員總數(shù)可能超過空閑派送人員數(shù),則刪除超額派送人數(shù)。刪除規(guī)則如下:每個(gè)有訂單的區(qū)域至少保留一個(gè)派送人員;每個(gè)區(qū)域最多減去一個(gè)派送人員,優(yōu)先刪除派單尾數(shù)最少的區(qū)域中的派送人員;如果派單尾數(shù)相同,則在分配到派送人員數(shù)最多的區(qū)域中去掉一個(gè)派單人員。例如:A~H區(qū)域的訂單數(shù)量分別為[468,329,392,247,38,180,263,82],此時(shí)空閑派單人員數(shù)為30人,人均派單數(shù)為67,則各區(qū)域分配的派單人員數(shù)量分別為7、5、6、4、1、3、4、2,合計(jì)32個(gè)派送人員,需減掉2個(gè)超額派送人員,即從 D 區(qū)和 H 區(qū)派送人員中各減去1個(gè)。如下表所示:球場區(qū)域 A B C D E F G H 合計(jì)訂單數(shù)量 468 329 392 247 38 180 263 82 1999所需派送人員 7 5 6 4 1 3 4 2 32派單尾數(shù) 66 61 57 46 38 46 62 15 391去除派單人員 -1 -1 -2實(shí)際派送人員數(shù) 7 5 6 3 1 3 4 1 30(1)數(shù)據(jù)如上表所示,如果 F 區(qū)退掉2份訂單,重新計(jì)算并分配派送人員(整體調(diào)整),F區(qū)派送人員的人均派單量是 ▲(2)實(shí)現(xiàn)上述功能的Python程序如下,請?jiān)诋嬀€處填寫正確的代碼。#從數(shù)據(jù)庫中讀取各訂單所在區(qū)域,如a=[‘A’,‘B’,‘H’,‘F’, … …]百校聯(lián)考 技術(shù)試題卷 第 11 頁 共 13 頁qyn=8 #區(qū)域數(shù)量psryn=30 #配送人員數(shù)量rs=round(len(a)/psryn)b=[]for i in range(qyn):c=chr(i+65) # “A”的Ascii碼值是65b.append([c,0,0]) #生成二維列表b=[[‘A’,0,0],[‘B’,0,0]……]for i in a:① #統(tǒng)計(jì)各區(qū)域訂單數(shù)量s=0for i in range(qyn):②If b[i][1]%rs!=0:b[i][2]+=1s+=b[i][2]k=s-psryni=0while k>0:for j in range(qyn-1,i,-1):③ :b[j-1],b[j]=b[j],b[j-1]if b[i][2]>1:b[i][2]-=1k—=1i+=1(3)若程序中語句“s+=b[i][2]”縮進(jìn)到了“if b[i][1]%rs!=0:”模塊內(nèi),題中所給的樣例數(shù)據(jù)運(yùn)行結(jié)果 ▲ (是/否)受到影響,將樣例“E”區(qū)訂單數(shù)量38修改為 ▲能測出程序存在的問題。【答案】(1)89(2) ①b[ord(i)-65]+=1②b[i][2]//=rs(或者 b[i][2]=b[i][2]//rs)③if b[j][1]%rs b[j-1][2](3) 否 67(或 67的倍數(shù))【解析一】本題考察 Python中冒泡排序和桶計(jì)數(shù)。(1)根據(jù)題目圖表中的數(shù)據(jù),如果F區(qū)退掉2份訂單,則F區(qū)的派單尾數(shù)為44。按照刪除規(guī)則,F(xiàn)區(qū)會(huì)去除1個(gè)派單人員,則F區(qū)人均派單量為 (180-2)/(3-1)=89份,答案為 89(2)①此處為桶計(jì)數(shù)。需要統(tǒng)計(jì)各區(qū)域訂單數(shù)量,結(jié)合下面的程序“if b[i][1]%rs!=0”可知b[0][1]存儲(chǔ)的是對應(yīng)的“A”區(qū)域的訂單數(shù)量,“B”區(qū)域則是存儲(chǔ)在b[1][1],依次類推。“A”對應(yīng)0,“B”對應(yīng)1,“C”對應(yīng)2……,a列表出現(xiàn)相應(yīng)的區(qū)域字母,則相應(yīng)的b列表對應(yīng)數(shù)據(jù)計(jì)數(shù)增加1。所以答案為 b[ord(i)-65][1]+=1百校聯(lián)考 技術(shù)試題卷 第 12 頁 共 13 頁(2)②此處遍歷列表b,根據(jù)各區(qū)域訂單數(shù)量計(jì)算所需派送人員。通過分析題目要求及表格數(shù)據(jù)可知,計(jì)算所需派送人員的方法:訂單數(shù)量//人均派單數(shù)(rs),如果派單尾數(shù)大于零,則再+1。結(jié)合程序下文可知,所需派單人員的數(shù)據(jù)存儲(chǔ)在b[i][2],所以此處答案為b[i][2]//=rs(或者b[i][2]=b[i][2]//rs)(2)③此處為冒泡排序。結(jié)合程序上下文可知,此處是要依照規(guī)則去除派單人員。根據(jù)刪除規(guī)則有兩種情況:一是優(yōu)先刪除派單尾數(shù)最少的;二是如果派單尾數(shù)相同,則在派送人員多的區(qū)域刪除。規(guī)則中的兩種情況都要考慮到。這里有三個(gè)問題先要明確:問題一要實(shí)現(xiàn)派單尾數(shù)最少的區(qū)域交換到列表的最前面,所以是升序排序;問題二如何計(jì)算該區(qū)域的派單尾數(shù)?區(qū)域訂單%人均派單數(shù),即b[j][1]%rs;問題三所需派送人員的數(shù)據(jù)存儲(chǔ)在b[j][2]。所以答案為if b[j][1]%rsb[j-1][2](3)①如果“s+=b[i][2]”縮進(jìn)了,則該語句只有在 b[i][1]%rs!=0 為真(即派單尾數(shù)不為“0”)時(shí)才執(zhí)行,而題目中的樣例數(shù)據(jù)都是派單尾數(shù)不為“0”,所以運(yùn)行結(jié)果不受影響,答案為否。(3)②從(3)①的分析可知:因?yàn)榭s進(jìn)了,所以“s+=b[i][2]”只有在派單尾數(shù)不為“0”時(shí)才執(zhí)行。當(dāng)派單尾數(shù)為“0”時(shí),該語句執(zhí)行不了,派送人員總數(shù)s的計(jì)算就會(huì)有誤。所以只要出現(xiàn)人均派單數(shù)67,或者是67的倍數(shù),派單尾數(shù)就會(huì)為“0”,就能測出程序中的錯(cuò)誤。【解析二】本題考查二維數(shù)組應(yīng)用和冒泡排序算法。(1)優(yōu)先刪除派單尾數(shù)最少區(qū)域中的派送人員,F(xiàn)區(qū)退掉 2份訂單,尾單數(shù)量為 44,實(shí)際派送人員為 2人,人均派單量為 178/2=89。(2)①統(tǒng)計(jì)各區(qū)域訂單數(shù)量,從條件 b[i][1]%rs!=0 來看,b[i][1]存儲(chǔ)的是各區(qū)域的訂單數(shù)量,數(shù)據(jù)庫中讀取各訂單所在區(qū)域,需先將 a數(shù)組中 A-H轉(zhuǎn)換成 0-7的索引號(hào),再對 b數(shù)組進(jìn)行累加計(jì)數(shù)。②計(jì)算所需派送人員。從語句 k=s-psryn 來看,s是所需派送人員人數(shù)之和,每個(gè)區(qū)域產(chǎn)生尾單后,所需派送人員增加 1人,因此先計(jì)算整數(shù)倍的值。③找到去除派單人員的條件。k是需去除派單人員,按尾單人數(shù)采用冒泡降序排序,找出符合條件最大的 k個(gè)值,優(yōu)先刪除派單尾數(shù)最少的區(qū)域中的派送人員,如果派單尾數(shù)相同,則在分配到派送人員數(shù)最多的區(qū)域中去掉一個(gè)派單人員,因此是一個(gè)雙關(guān)鍵字排序算法。(3)樣題給出數(shù)據(jù)的尾單數(shù)均不為 0,因此條件 b[i][1]%rs!=0 始終成立,是否縮進(jìn)不影響結(jié)果,只有當(dāng)尾單出現(xiàn)為 0時(shí),影響結(jié)果。百校聯(lián)考 技術(shù)試題卷 第 13 頁 共 13 頁 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫