資源簡介 2022學年第二學期杭州市高三年級教學質量檢測技術試題卷第一部分 信息技術解析(50分)一、選擇題(本大題共 12 小題,每小題 2 分,共 24 分,每小題列出的四個備選項中只有一個是符合題目要求的,不選、錯選、多選均不得分。)1.下列關于數據和信息的說法,正確的是A.乘坐火車時不需要提供紙質火車票,說明信息可以不依賴于載體B.考古發現可以讓我們了解過去的文化,說明信息不會隨著時間的推移而變化C.結繩記事中通過“大事大結,小事小結”來記錄不同的事件,其中繩結是信息D.“一百個人心中有一百個哈姆雷特”,說明不同的人對同一信息會建構出不同知識【答案】D【解析】本題考查信息與信息特征的相關知識。A選項.根據信息特征的描述,信息必須依附于一定的載體,不存在沒有載體的信息,A選項錯誤;B選項中考古發現以前的文化,說明的是信息可以脫離它所反應的事物被保存,并不是不會隨著時間的推移而改變,B選項錯誤;C選項中的繩結屬于數據,并不是信息,故答案選 D。2.下列關于人工智能的說法,正確的是A.電商平臺人工客服和機器客服合作解答問題,屬于跨領域人工智能應用B.基于深度學習的人工智能,一般會構造包含若干層的神經網絡C.專家系統是基于數據驅動的人工智能方法D.人工智能技術推動了人類社會進步,不可能威脅人類安全【答案】B【解析】本題考查人工智能的相關知識。A選項題目中描述了人工客服和機器客服合作解決問題,屬于混合增強型人工智能,A選項錯誤;C選項專家系統屬于以符號主義表達與推理為代表的人工智能,C選項錯誤;D選項人工智能可能威脅人類安全。故答案選 B3.下列關于數據處理與應用的說法,正確的是A.大數據一般具有數據量大、處理速度慢、數據類型多、價值密度高的特征B.所有的文本數據處理都依次經過數據分析、特征提取、分詞和結果呈現四個步驟C.數據可視化是將數據以圖形圖像等形式表示,直觀呈現數據中所蘊含的信息D.在數據處理過程中,數據的質量不會影響數據分析的結果【答案】C【解析】本題考查大數據、數據處理的相關知識。A選項大數據特征是速度快,不僅是產生速度快處理速度也快,A選項錯誤;B選項文本處理結果過程包括分詞、特征提取、數據分析、結果呈現四個步驟,B選項錯誤;D選項數據處理中,數據本身的質量直接會高三技術試題卷 第 1頁 共 14 頁影響到最后的分析結果,故答案選 C閱讀下列材料,回答第 4題至第 6題。某中學使用“智能門禁系統”,師生進出校園可使用人臉、校園卡或身份證進行識別。該系統使用 AI攝像頭識別人臉,RFID技術獲取校園卡、身份證等電子標簽數據,并將采集到的數據存儲到Web服務器的數據庫,家長可使用手機客戶端登錄該系統,隨時隨地查看學生進出校園的情況。其中服務器的主要配置為:CPU 內存 硬盤 操作系統八核 2.3GHz 16GB 4TB Windows4.下列關于該信息系統組成與功能描述,正確的是A.使用該系統需要網絡的支撐 B.該系統最大存儲數據量為 16GBC.該“智能門禁系統”屬于系統軟件 D.Web服務器中的數據庫屬于系統的硬件【答案】A【解析】本題考查網絡信息系統的相關知識。B選項該系統最大存儲容量為 4TB,B選項錯誤;C選項該“智能門禁系統”屬于應用軟件,C選項錯誤;D選項數據庫屬于系統的軟件部分,故答案選 A。5.下列操作中會對系統造成安全隱患的是A.撿到校園卡及時歸還失主 B.為新用戶設置同一登錄密碼C.為服務器及時更新系統補丁 D.采集的數據經加密后存儲到數據庫中【答案】B【解析】本題考查網絡信息安全的相關知識。B選項為新用戶設置同一登錄密碼,容易造成信息的泄漏和數據安全受到威脅等一系列信息安全問題。6.下列關于該信息系統中的數據說法,不.正.確.的是A.家長通過登錄系統了解學生進出校園的情況屬于系統數據的查詢B.通過 AI攝像頭采集人臉數據屬于該系統的數據輸入C.數據只有存儲到數據庫中才能進行處理D.該系統關閉后客戶端將無法正常查看系統數據【答案】C【解析】本題考查信息系統中的數據。ABD均正確,C選項說法錯誤,數據庫中的數據可以方便查詢和共享及調用,但并非只有數據庫中的數據才能被處理。7.某算法的部分流程圖如圖所示,執行這部分流程,若輸入 x的值依次為 1,2,3,4,5,-1,則輸出 s的值是A.3 B.7 C.13 D.15【答案】C高三技術試題卷 第 2頁 共 14 頁【解析】本題考查算法的表示流程圖相關知識。根據題意列出表格:x k s1 0 -12 1 13 0 44 1 85 0 13-18.已知一棵二叉樹有 13個節點,樹中度為 1的節點數為 2,則該樹度為 2的節點數為A.4 B.5 C.6 D.11【答案】B【解析】本題考查二叉樹相關知識。根據二叉樹的性質,n0=n2+1 n=n0+n1+n2,可以推出 n2=59.有 1個棧,從棧頂到棧底依次為元素 a、b、c,并且已知元素 d已入棧并出棧,則這四個元素的入棧順序可能為A.a,b,c,d B.b,d,c,a C.c,d,b,a D.d,a,b,c【答案】C【解析】本題考查棧的相關知識。根據題意可知,入棧順序可能是 dcba cdba cbad,所以選 C。10.定義如下遞歸函數,計算正整數 n的每位數字之和,例如 n=123,函數返回值為 6。def f(n):x = (1)if x == 0:return nelse:y = (2)return (3)上述程序段中方框處可選代碼為:①n % 10 ②n // 10 ③y + f(x) ④y + f(n - 1)則(1)(2)(3)處代碼依次為A.①②③ B.①②④ C.②①③ D.②①④【答案】C【解析】本題考查遞歸代碼的分析與理解能力。高三技術試題卷 第 3頁 共 14 頁計算正整數n的每位數字之和,可以得出其遞歸公式:f(n)=f(n//10)+n%10,當n<10時遞歸結束。結合題目給出的代碼,依次分別是(1)n//10、(2)n%10、(3)y+f(x),正確答案是C。題目代碼寫的比較細碎,④y + f(n - 1)首先可以排除,根據③y + f(x),可以分析得出y=n%10,x=n//1011.有如下 Python程序段:import randoma = [2,3,5,8,10,10,10,17,19,20]key = random.randint(1,30) # 隨機生成[1,30]之間的整數i,j = 0,9while i <= j:m = (i + j) // 2if a[m] > key:j = m - 1else:i = m + 1print(j)執行該程序段,下列說法正確的是A.若 key的值為 10,則輸出的值為 3B.若輸出的值為 8,則 key的值一定為 19C.對于任意 key值,語句“m = (i + j) // 2”最少執行 1次D.對于任意 key值,語句“m = (i + j) // 2”最多執行 3次【答案】B【解析】本題考查二分查找,其中主要考查利用二分查找邊界。二分關鍵代碼中,沒有提前終止循環的語句。列表 a的元素個數是 10個,介于 7-15之間,查找次數最少 3次,最多 4次。m = (i + j) // 2語句對應的其實就是查找次數,所以選項 C、D均錯誤。這段代碼是二分中的邊界查找。根據條件 if a[m] > key,當 key=10時,i=7,j=6,選項 A錯誤;j=8,i=9,對應的元素分別是 19,20,19=這種題目基本都可以迅速得到正確答案:j i<=key >key12.有如下 Python程序段:import randomq = [0] * 5head = tail = 0for i in range(5):if random.randint(0,1)== 0:q[tail] = random.randint(1,9)tail += 1elif head != tail and q[tail - 1] < q[head]:q[tail] = q[head]head += 1高三技術試題卷 第 4頁 共 14 頁tail += 1執行該程序段后,q的值不.可.能.是A.[0, 0, 0, 0, 0] B.[5, 4, 3, 2, 1]C.[5, 8, 3, 0, 0] D.[0, 5, 6, 0, 0]【答案】D【解析】本題數組構成的順序隊列的基本操作。掌握了隊列的基本規律,利用排除法,當隨機數均為1,沒有任何元素入隊,還是初識值,就是選項A;當隨機數均為0,有恰好是5、4、3、2、1入隊,可以得到選項B;選項D的第一個元素是初值0,只要有元素(1-9)入隊,就不可能的,錯誤。下面分析一下選項C,根據代碼分析,隊列不為空且隊尾元素比對頭元素小,就要將對頭元素調整到隊尾。5-8-3好像不可能,但是3如果是循環最后一次時入隊的元素,還沒有調整的機會。二、非選擇題(本大題共 3 題,其中第 13 題 8分,第 14 題 9分,第 15 題 9 分,共 26 分)13.小強搭建家庭燈光、溫度監控系統,該系統使用傳感器采集光線、溫度等數據由智能終端經過 IoT模塊發送到Web服務器。服務器端程序采用 Flask Web框架編寫,實現監控燈光與空調等功能。系統結構示意圖如第 13題圖 a所示。請回答下列問題:第 13題圖 a(1)完善該系統結構圖。若第 13題圖 a中○A ○B ○C 處的設備由以下三部分組成:①Web服務器;②智能終端;③IoT模塊,則○A ○B ○C 處的設備依次為 (填數字編號)。(2)小強使用智能終端上傳采集的溫度數值(范圍為[0,1023]之間的整數),服務器接收到上傳溫度數值 t后,將其轉換為攝氏度 d(轉換公式為:t÷1024×3000÷10.24,保留 2位小數)保存到數據庫中數據類型為實型的 tem字段中。服務器端部分 Python代碼如下,請在劃線處填入合適的代碼。#導入各模塊代碼略@app.route("/s")def index( ):#數據庫連接等代碼略id=request.args.get("id") #接收智能終端上傳的傳感器編號t=int(request.args.get("t")) #接收智能終端上傳的溫度數值d=s="insert into da(id,tem) values ('"+id+"',"+str(d)+ ")"cur.execute(s) #將數據保存到數據庫中#數據庫其它操作代碼略return "ok"高三技術試題卷 第 5頁 共 14 頁if __name__ == "__main__":app.run(host="192.168.0.1",port=8080)(3)結合上述代碼,若上傳編號 id為 1,溫度數值 t為 72時,則能正確提交數據到服務器的 URL為(單選,填字母)。A.http://192.168.0.1.8080/index id=1&t=72B.http://192.168.0.1/8080:s id=1&t=72C.http://192.168.0.1:8080/index id=1&t=72D.http://192.168.0.1:8080/s id=1&t=72(4)為提升該系統Web服務器的性能,從硬件角度著手,除了增加內存容量外,還可以在哪些方面加以改進,請簡要說明改進方案 。(注:回答兩項,一項正確得 1分)【答案】(1)231(2)round(t/1024*3000/10.24.2) 或 int(t/1024*3000/10.24*100+0.5)/100(3)D(4)更換更高型號的 CPU、增加硬盤容量等【解析】本題考查信息系統的搭建及相關知識。(1)數據上傳到服務器的數據庫,○A 處為與數據庫直接連接,應為 web服務器;智能終端直接連接傳感器,并過 IOT模塊連接 wifi,○C 處應為智能終端,而○B 處為 IoT模塊。故填:213。(2)從題干中可知,轉換公式為:d=t÷1024×3000÷10.24,保留 2位小數,故填: round(t/1024*3000/10.24.2)(3)從 app.run(host="192.168.0.1",port=8080),可以看出 ip地址為192.168.0.1,端口為8080,而@app.route("/s")可以看出路由為”/s”, 則若上傳編號 id 為 1,溫度數值 t 為 72 時,正確提交數據到服務器的 URL 為http://192.168.0.1:8080/s id=1&t=72(4)影響計算機性能的是綜合指標,主要有 CPU型號、硬盤容量、內存容量等,故要想提升該系統Web服務器的性能,可以更換更高型號的 CPU、增加硬盤容量等。14.小天收集了浙江省某年各地市年齡段數據,保存在“T14.xlsx”文件中,如第 14題圖 a所示。為統計分析各地市不同年齡段人口占比,編寫 Python程序,輸出結果如第 14題圖 b所示。第 14題圖 a 第 14題圖 b請回答下列問題:(1)為統計分析各地市不同年齡段人口占本地市人口比例,編寫 Python代碼如下,劃線處①應填入的代碼為 (單選,填字母),劃線處②應填入的代碼為 。A.df.groupby("地市",as_index=False).count()B.df.groupby("地市",as_index=False).sum()C.df.groupby("地市",as_index=True).mean()import pandas as pd高三技術試題卷 第 6頁 共 14 頁import matplotlib.pyplot as pltdf = pd.read_excel("T14.xlsx")df1 = ① # 計算各地市不同年齡段的人數print ("地 市 17歲以下 18-34歲 35-59歲 60歲及以上")#“df1.values.tolist()”實現將 df1轉換為二維列表。列表中每個元素包含 5個數#據項,分別對應地市名稱和該地市 4個年齡段人數總計,如['麗水市', 501421, ...]df2=df1.values.tolist()x,y = [],[]for area in df2:for c in range(len(area)):if c == 0:x.append(area[0])print(area[0], end=" ")else: 第 14題圖 csm = sum(area[1:]) #sum函數實現對序列求和t= ②print('%.2f' %(t), end="% ") #按設置格式輸出if c == 4:y.append(t)print()plt.title("浙江省各地市 60歲以上人數占本地市總人口比例", fontsize=24)plt.bar(x, y) #繪制 60歲及以上人數占本地市總人口比例柱形圖#設置繪圖參數,顯示如第 14題圖 c所示,代碼略。(2)由第 14題圖 c可知,60歲及以上人數占本地市人口比例超過 25%的地市有 個。(3)小天編寫 mygroupby函數模擬實現上述分類匯總功能,計算各地市不同年齡段的人數,結果以列表形式返回。函數代碼如下,請在劃線處填入合適的代碼。#df1為二維列表,列表中每個元素包含 6個數據項,內容如第 14題圖 a所示;函數返回值 dfs格式同題(1)二維列表 df2def mygroupby(df1):dfs=[] #創建一個空列表 dfsfor row in df1:①if n>0:for j in range(n):if row[0]==dfs[j][0]:breakif n==0 or row[0] != dfs[j][0]:dfs.append([row[0],0,0,0,0])j=nfor k in range(2,len(row)):②return dfs【答案】高三技術試題卷 第 7頁 共 14 頁(1) ①B (2分)②area[c]/sm*100 (2分)(2) 5 (1分)(3) ①n=len(dfs) (2分)②dfs[j][k-1]=dfs[j][k-1]+row[k] (2分)【解析】本題考查 pandas數據處理和二維數組的應用。(1)本空計算各地市不同年齡段的人數,應采取分組求和的方式,即 df.groupby("地市",as_index=False).sum()df2是一個二維數組,area是 df2的一個元素,通過 c能訪問 area中的一個數據項。area包含 5個數據項,分別為對應地市名稱和該地市 4個年齡段人數總計。sm 是該地市總人口數量,t需要計算一個年齡段人口占比,area[c]訪問該年齡段人數總計。可知 t可以通過 area[c]/sm*100 計算得到(2)觀察圖 c可以看出,60歲及以上人數占本地市人口比例超過 25%的地市有嘉興、寧波、湖州、紹興、舟山,共 5個。(3)df1是一個二維數組,row是 df1的一個元素,包含 6個數據項,分別為對應地市名稱、轄區名稱和該轄區 4個年齡段人數。由后續兩段 if 語句可知,本空是對 n 的計算,而 n 是 dfs 中已有元素個數,可通過求長度得到,即n=len(dfs)dfs[j][k-1]=dfs[j][k-1]+row[k]或 dfs[j][k-1]+=row[k]if n>0: 查找當前讀取到的元素 area 的地市是否已for j in range(n): 存在于 dfs中,如果存在,找到該地市在 dfsif row[0]==dfs[j][0]: 中的索引位置 jbreakif n==0 or row[0] != dfs[j][0]: 如果沒有找到,在 dfs中新增一條關于該地dfs.append([row[0],0,0,0,0]) 市的記錄,各年齡段人數初始化為 0j=nfor k in range(2,len(row)): 在 dfs[j]的對應位置累加當前讀取到的記錄② row中對應年齡段的人數15.為分析數據中各元素的變化情況,進行如下定義:若在數組 d中滿足 d[a]< ... d[i+1]>...>d[b],則從下標 a到下標 b區間的數據稱為一個波峰,下標 a到 b的距離即為一個波峰的長度(長度≥3)。例如:數組 d元素為“78,46,50,37,5,42,6,6,23”,存在 2個波峰,分別是從 d[1]到 d[4]和 d[4]到 d[6],波峰長度分別為 4和 3。編寫程序分析數據,找出所有波峰,按波峰長度降序排序(若波峰長度相同,則按開始下標升序),并輸出波峰長度和開始到結束元素下標;若不存在,則輸出“不存在波峰”,運行結果如圖所示。第 15題圖請回答下列問題:(1)根據題意,若數組 d元素“23,14,35,31,13,20,3,40,10,10,9”,則最長的波峰長度為 。(2)執行該程序,若數組 d元素為“2,1,1,2”,則○A 處 while語句中循環體的執行次數是 。(3)實現上述功能的程序代碼如下,請在劃線處填入合適的代碼。高三技術試題卷 第 8頁 共 14 頁#讀取待處理數據,保存在數組 d中,并顯示輸出,代碼略mt,i,n=[],1,len(d)while iwhile ii+=1st=i-1while id[i-1]:i+=1if ① :continue #跳出本輪循環,然后繼續進行下一輪循環while ii+=1ln=i-stif len(mt)==0:mt.append([ln,st,-1]) #為 mt追加一個列表元素head=0;q=headelse:p=headwhile p!=-1 and ② :q=pp=mt[p][2]if p==head:mt.append([ln,st,head])head=len(mt)-1else:mt.append([ln,st,p])③if len(mt)==0:print("不存在波峰")else:print("輸出結果(長度:開始下標~結束下標):")p=headwhile p!=-1:print(mt[p][0],":",mt[p][1]," ~",mt[p][0]+mt[p][1]-1)p=mt[p][2](4)使用以下代碼替換加框處代碼,可以減少鏈表 mt遍歷次數的是 (單選,填字母)。A. if mt[q][0]>ln: B. if mt[q][0]p=mt[q][2] p =mt[q][2]else: else:p=head p=head【答案】(1)4 (1分)(2)2或 2次 (1分)高三技術試題卷 第 9頁 共 14 頁(3) ① i==n or d[i]==d[i-1]或等價表達式 (2分)②(lnmt[p][1]) (2分)若條件少括號,不得分③mt[q][2]=len(mt)-1 (2分)(4)A (1分)【解析一】本題考查鏈表應用和插入排序的算法實現。(1)波峰先上升后下降,最長波峰為“14,35,31,13”,長度為 4。(2)查找上升波段開始位置,當 i為 1時進入循環,累加 1次,當 i為 3時結束循環,找到開始位置為 2。(3)①無效上升段的條件。當條件 i下降段;當條件 d[i]件。當找到一個波峰,記錄波峰的長度 ln 和起點 st,并將這些信息寫入鏈表中,并采用插入排序對后面的波峰進行插入排序,按波峰長度降序排序(若波峰長度相同,則按開始下標升序),遍歷鏈表,當前節點為 p,若需插入的波峰長度小于當前節點的長度或者長度相等,但起點 st大于當前節點,則繼續向后查找。③將插入節點鏈入鏈表中。找到插入位置后,在當前節點 q前插入,因此需將該節點的前驅指向該節點。(4)變量 q記錄了上一次插入點的前驅,由于鏈表是非升序的,若 mt[q][0] > ln則 mt[head][0] > ln 一定成立,從 head到 q部分結點的遍歷是不必要的,因此可以直接從 q結點的后繼開始。【解析二】本題的原型是基礎的連續子序列問題。“波峰”、“波谷”這一描述并不新穎,在歷年的高考和地方聯考中經常出現,容易在考場上產生“親切”,也降低了對題意理解的難度。本題要求輸出排序后的“波峰”數據,其算法設計為:通過對數組子序列的遍歷尋找下一個波峰,并插入到有序鏈表中。這兩部分都是課堂里重點講授的內容。第(1)小題根據題意模擬,最長波峰為“14,35,31,13“,長度為 4。易錯點是錯把”3,40,10,10,9“作為答案。題干中明確了組成波峰的數據是連續且不重復的,所以此處的 10 不符合要求,當然這也與第(3)題中的代碼填空相關。第(2)小題既可以帶入全局理解代碼功能,也可以就該數據進行數據模擬,很容易得到答案 2,其功能為“刪除連續子序列中前導的連續重復元素“。第(3)小題程序填空可以將代碼分為兩部分:子序列“波峰“查找和波峰的鏈表插入。在第(2)題中已經分析了代碼#A處的功能是刪除前導的重復元素,循環結束后(排除 i == n)滿足:d[i – 1] < d[i]則此時 st = i – 1則標記了當前可能的“波峰“的起始位置:i – 1。在接下來的循環中遍歷了連續遞增的全部元素。即循環結束后(排除 i == n)滿足:d[i] <= d[i - 1]在代碼①處,設置條件直接進入下一次循環,即不再尋找波峰的遞減部分。只有兩種可能的情況:一是元素已經遍歷完,二是出現重復元素時不屬于波峰。即代碼①的答案為:i == n or d[i] == d[i – 1]。代碼②處是對波峰數據的有序鏈表插入,波峰結點的結構為[長度, 起點, 指針]。當指針 p非空時,訪問 p所指向的結點的數據域“長度“:mt[p][0],若 mt[p][0] > ln or (mt[p][0] == ln and st > mt[p][1])則繼續遍歷,其中 or后面的條件源于題干中的描述”若波峰長度相同則按開始下標升序“。又由于答案是代碼②所在的邏輯運算的一部分,用 and連接,所以必須加上括號,答案為:(mt[p][0] > ln or (mt[p][0] == ln and st > mt[p][1]))當然筆者認為,由于下標遍歷的方向是從小到大,那么后面出現的波峰的起點一定大于已出現和記錄的波峰,在波峰長度相等時無需判斷起始位置。因此答案 mt[p][0] >= ln也正確(未知是否作為評分細則,僅供參考)。高三技術試題卷 第 10頁 共 14 頁代碼③處是經典的鏈表插入,在②處的循環結束后,mt[p][0] < ln,則長度為 ln的新結點作為 p指針所在結點的前驅插入,即新結點的后繼為 p,q的后繼為新結點。因此答案為:mt[q][2] = len(mt) – 1第(4)小題是嘗試優化,減少插入時對插入點的查找次數。變量 q記錄了上一次插入點的前驅,由于鏈表是非升序的,若 mt[q][0] > ln 則 mt[head][0] > ln一定成立,從 head到 q部分結點的遍歷是不必要的,因此可以直接從 q結點的后繼開始。高三技術試題卷 第 11頁 共 14 頁 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫