資源簡介 浙江省選考科目考試紹興市適應性試卷(2023 年 4 月)技術試題卷第一部分 信息技術解析(50 分)一、選擇題(本大題共 12小題,每小題 2分,共 24分,每小題列出的四個備選項中只有一個是符合題目要求的,不選、錯選、多選均不得分)閱讀下列材料,回答第 1至 2題。ChatGPT是一款聊天機器人,它能識別文本和語音信息,編寫和調試計算機程序,進行音樂和文學創作,回答問題等。ChatGPT是使用深度學習、強化學習等來實現的,它所使用的海量訓練數據主要來自于互聯網上的各種文本數據。1.關于聊天機器人 ChatGPT,下列說法不.正.確.的是A.它能處理不同表達形式的數據 B.訓練它所使用的海量數據屬于大數據C.它編寫的計算機程序內容是信息 D.它給出的問題答案一定是準確的【答案】D【解析】本題考查信息、數據、大數據及 AI的知識A.正確,它能識別文本和語音信息等B.正確,ChatGPT使用的海量訓練數據來源于互聯網,互聯網上的數據滿足大數據的 4特征C.正確,它編寫的程序內容具有一定的意義,是我們所需要的東西,是信息D.錯誤,它給出的答案不一定準確,因為它使用訓練的數據來源于互聯網,互聯網上的數據不一定 全部都是準確的。2.關于 ChatGPT中應用的人工智能技術,以下說法正確的是A.深度學習屬于符號主義 B.深度學習需要手工構造知識庫來進行C.強化學習體現的是一種自我學習的能力 D.通過強化學習提升能力無需經驗支持【答案】C【解析】本題考查人工智能的知識點A.錯誤,深度學習屬于是聯結主義B.錯誤,深度學習基于數據驅動,不需要事先手動構造知識庫C.正確,強化學習是讓學習者事先不知道最終答案,而是在學習過程中不斷嘗試各種解決問題的途徑,然后根據結果反饋來調整相應的學習方法,體現了一種自我學習的能力。D.錯誤,強化學習需要從過去的經驗中不斷學習,提升能力閱讀下列材料,回答第 3至 5題。師生通過校園網,利用移動終端登錄學校“電子圖書館系統”后,既能預約紙質書本借還時間,又可線上閱讀電子書籍。該系統服務器通過數據庫實時更新相關內容,并統計各項數據。3.下列關于該信息系統組成的說法,正確的是A.電子書籍屬于該系統的數據 B.該系統中的用戶只有師生C.服務器和數據庫均屬于該系統的硬件 D.校園網屬于該系統的軟件高三技術試題卷 第 1 頁 共 10 頁【答案】A【解析】本題考查信息系統的組成A.正確B.錯誤,系統的用戶范圍比較大,不僅包含開發人員、使用人員還有維護人員等C.錯誤,數據庫屬于是該系統的軟件D.錯誤,校園網屬于是該系統的網絡4.以下關于該信息系統功能的說法,不正確的是A.提交預約時間,體現了數據輸入功能 B.存儲電子書籍,體現了數據存儲功能C.更新數據庫內容,體現了數據查詢功能 D.統計借閱人數,體現了數據加工處理功能【答案】C【解析】本題考查信息系統的組成A.正確B.錯誤,系統的用戶范圍比較大,不僅包含開發人員、使用人員還有維護人員等C.錯誤,數據庫屬于是該系統的軟件D.錯誤,校園網屬于是該系統的網絡5.為保證該信息系統數據的安全性,下列做法中不.合.理.的是A.對該系統采取病毒防護措施 B.對師生登錄信息進行加密存儲C.及時更新系統防堵漏洞 D.通過共享賬戶高效管理數據【答案】D【解析】本題考查信息系統的安全信息系統的安全與防護一般主要是從以下幾個方面著手考慮。①硬件:磁盤陣列、異地容災②軟件:安裝并啟動防火墻、安裝殺毒軟件并經常殺毒、系統更新和升級、數據加密、備份等,原則是以防為主、查殺為輔所以 ABC均正確,D選項錯誤6.下列有關信息編碼的說法不.正.確.的是A.編碼是將信息進行形式轉換的過程B.不同信息在計算機內均以二進制方式進行存儲和處理C.相同數據經不同編碼方式后生成的文件容量一定相同D.文本、圖像、音頻、視頻文件的壓縮過程屬于編碼【答案】C【解析】本題考查信息編碼必修 1課本 P7:編碼(Encoding)是信息按照某種規則或格式,從一種形式轉換為另一種形式的 過程。解碼是編碼的逆過程。所以 A和 D正確。高三技術試題卷 第 2 頁 共 10 頁必修 1課本 P7: 數據的表現形式可以是文本、圖形、圖像、聲音、視頻等,但不管是哪種形式的數據,最終存儲在計算機中的都是經過一定規則編編碼后的二進制數字。 所以 B正確。選項 C: 字符串”111111”壓縮為 6個 1,可以存儲為”61”。很顯然兩者容量是不一樣。所以選項 C錯誤。7.某算法的部分流程圖如第 7題圖所示,執行這部分流程,若入輸 x的值為 29,依次輸入 a的值為 2, 3,4, 0,則輸出 c的值是A. 1 B.2 C.3 D.4【答案】B【解析】本題考查循環結構流程圖執行方法:列表法執行 循環次數 a x c29 0① 2 24 1② 3 17 2③ 4 8 2④ 08.某表達式樹如第 8題圖所示,則該樹的后序遍歷結果是A. 3+7*5-8/2 B. 8/2*5+37-C. 37+5*82/- D. 82/5-3+7*【答案】C【解析】本題考查樹的后序遍歷: 左子樹 右子樹 父結點排除法: 根結點最后訪問,“-”是根結點,最后輸出,故排除 AD ;“*”是左子樹的根,左子樹遍歷最后輸出,故排除 B。9.有如下 Python程序:def f(n):if n==1:return "*"else:return n*f(n-1)print(len(f(4)))執行該程序,輸出結果為A.4 B.6 C.10 D.24【答案】D【解析】本題考查遞歸函數的執行。高三技術試題卷 第 3 頁 共 10 頁遞推過程 回歸過程f(4) = 4*f(3) f(4)="************************"f(3)= 3*f(2) f(3)="******"f(2)= 2*f(1) f(2)="**"f(1) =”*”所以 len(f(4)) = 24 , 該算法是階乘遞歸算法的變形。10.有如下 Python程序:a = [13, 7, 10, 21, 16, 9, 7, 25]k, p = a[0], 0for i in range(1, len(a)):if a[i] <= k:p = ik = a[p]print(p, k)執行該程序,輸出結果為A. 7 6 B. 6 7 C. 1 7 D. 7 1【答案】B【解析】本題考查代碼的分析與理解能力。本題程序,是標準的查找列表中最小值的代碼。其中 p是最小值的下標,k是最小值。再根據條件:a[i] <=k。最小值的下標是 6,值是 7。正確選項 B。11.有如下Python程序:s = input()sq = [""] * 100head, tail, flag, res = 0, 0, True, ""for i in range(len(s)):if s[i] == "-":while head != tail:res += sq[head]head = head + 1if flag:sq[tail] = sq[head]tail, head = tail + 1, head + 1flag = not flagelse:sq[tail] = s[i]tail = tail + 1如輸入的s為"Python-2023-",執行該程序,則變量res的值為A. "Pthony2230" B. "Ptoynh2203" C. "tPyhno2302" D. "yPntho2023"【答案】A【解析】本題考查隊列的基本操作。代碼基本邏輯,遇到'-'字符前,字符入隊。遇到'-'字符后,隊列中的元素按照一定的規則出隊。其中關鍵在于對 flag 變量的把握。好在 4個選項差異較大,排除法可以較快選出正確答案。首先第一個出隊的元素沒高三技術試題卷 第 4 頁 共 10 頁有受到影響,一定是字符'P',排除選項 C、D。此時 flag==True,字符'y'重新進入隊尾。接下來't'出隊,此時,flag==False,對應重新入隊的代碼不執行。那么接下來就是'h'出隊。正確答案 A12.有如下Python程序:import randomtarget = random.randint(20, 70)nums = [11,23,35,44,57,68,76,89] # 隨機生成[20,70]區間內的一個正整數left, right, lst = 0, len(nums) - 1, []while left <= right:lst.append([left, right]) #為 lst追加一個元素mid = (left + right) // 2if nums[mid] == target:breakelif nums[mid] < target:left = mid + 1elif nums[mid] > target:right = mid - 1該程序段運行后,列表lst的長度不.可.能.為A. 1 B. 2 C. 3 D. 4【答案】D【解析】本題考查二分查找分析代碼,所謂列表長度其實就是本段二分代碼的查找次數。列表共 8個元素,最少 1次(有 break),最多 4次。根據中點取值 mid = (left + right) // 2,整個二分判定樹第 4層節點出現在判定樹的最右邊,考慮到 target<=70,查找到 76時,不可能繼續往右查找。所以 4次是不可能的。選 D其實這段二分代碼有 break中斷語句,也只可能是 4。二、非選擇題(本大題共 3題,其中第 13題 8分,第 14題 9分,第 15題 9分,共 26分)13.小明為水培蔬菜實驗室搭建了環境溫濕度監測系統,該系統結構示意圖如第 13題圖所示。該系統可實時監測實驗室環境溫濕度數據,數據由智能終端經 IoT模塊發送至Web服務器,若環境溫濕度監測值超過設定閾值區間,則控制執行器調節溫濕度,用戶可通過移動終端訪問 URL查看實時數據。(1)根據該系統的功能要求,第 13題圖中①②③處的設備分別為 (單選,填字母)。A.①Web服務器 ②電源 ③執行器高三技術試題卷 第 5 頁 共 10 頁B.①路由器 ②Web 服務器 ③傳感器C.①執行器 ②傳感器 ③Web服務器(2)該系統Web 服務器端程序采用 Flask Web框架開發,服務器 IP為 100.168.30.11,端口號為 8080,采用 GET形式提交數據,各子頁面功能如下表所示:序號 子頁面路徑 功能說明1 / 實時顯示溫度數據2 /set 提交溫濕度數據并返回提示信息3 /data 統計顯示歷史數據若某一時刻傳感器監測到環境溫度值為 24.5,濕度值為 36,則提交數據至Web 服務器的 URL為(單選,填字母)。A. http:// 100.168.30.11:8080/data temp=24.5&hum=36B. http:// 100.168.30.11:8080/set temp=24.5&hum=36C. http:// 100.168.30.11:8080/set 24.5&36D. http:// 100.168.30.11:8080/ temp=24.5&hum=36(3)已知系統設有 m個監測點,服務器能正常接收數據,現抽取某一時刻的一組監測值進行異常監測。若某監測點溫度與室內平均溫度 avg 的差值超過正數 t,即為異常點。各監測點編號為 1~m, 其溫度值存儲于數組元素 a[0]~a[m-1]中,檢測并輸出異常點編號的 Python程序部分代碼如下,加框處語句有誤,請改正。i=0while i<= m- 1;if a[i]-avg >=t :print(“異常點編號為”,i+1)i=i+1(4)正確修改程序后,在系統調試過程中,發現僅有一處監測點一直存在異常,簡要說明系統中可能造成上述問題的原因 。(本系統中通信網絡、傳感器與智能終端的連接均不存在問題。注:回答 2項,1項正確得 1分)【答案】(1)C(2)B(3)abs(a[i]-avg)>t(4)傳感器故障、監測環境問題、數據傳輸問題(數據處理軟件)、算法問題(閾值設定的合理性)【解析】本題考查信息系統的相關知識。(1)智能終端里主要有兩類設備,分別是執行器和傳感器,傳感器獲取數據執行器執行相關操作。另外數據庫的數據肯定是和服務器建立起聯系的,從第③空就可以判斷出答案選 C。(2)根據題干描述得知采用的是 GET的形式來提交數據,結合表格中可觀察到提交數據的子頁面路由是/set則可確定選項在 B、C中間,其中 C選項沒有利用變量很明顯錯誤,故答案選 B。(3)根據題目描述中“若某監測點溫度與室內平均溫度 avg 的差值超過正數 t,即為異常點”可得兩數相減有可能出現負數,故需要利用函數 abs來進行取絕對值。(4)有一處檢測點一直存在異常,結合通信網絡、傳感器與智能終端的連接均不存在問題的前提下,我們可以推測可能是以下幾種常見的錯誤類型網絡 IOT模塊出現故障、傳感器采集數據發生故障、服務器對應的數據管理軟件出現問題、閾值 t的取值不合理等。③app.run(host=“192.168.10.1”,port=8080) 服務器對外開放,訪問地址為 http:// 192.168.10.1:8080高三技術試題卷 第 6 頁 共 10 頁④app.run(host=“0.0.0.0”,port=8080) 服務器對外開放,本機訪問服務器,②和③兩種都可,其他設備訪問用③;如果不寫 host和 port,依次對應兩個參數。14.社區舉行紅歌比賽。本次比賽共設四首比賽曲目,每位選手隨機抽選其中一首,作為自己的參賽曲目。活動負責人統計了本次比賽的相關數據并存儲于“match.csv”文件中,文件部分內容如第 14題圖 a所示。為分析本次比賽的結果情況,編寫 Python程序。請回答下列問題:(1)定義 j函數,功能為:讀取文件 file,返回每位參賽選手的總得分并填入數據表中(總得分=專家分*0.6+投票分*0.4)。函數代碼如下,劃線處應填入的代碼為 。import pandas as pddef tj(file):df=pd.read_csv(file)for i in df.index: # df.index是 df對象的行索引df.at[i,"總得分"]= # at方法根據行、列標簽選擇單個值retum df(2)為查找得到每首比賽曲目的選手最高總得分,部分 Python程序如下,請在劃線處填入合適的代碼。df= ① #讀取文件并計算總得分df=df.sort_values("總得分",ascending=False) #根據總得分進行降序排序dic={}for m in["曲目 1","曲目 2","曲目 3","曲目 4"]:j=0while j<=len(df)-1:if ② :dic[m]=dfatti,"參賽選手編號]break③print(dic)(3)統計每首參賽曲目的選手平均總得分,并繪制圖表顯示,如第 14題圖 b所示。部分 Python程序如下,劃線處應填入的代碼為 。import matplotlib.pyplot as pltdf1=df.groupby("參賽曲目",as_index=False).mean() #分組并求平均值高三技術試題卷 第 7 頁 共 10 頁x = dfl.參賽曲目y =plt.bar(x,y)plt.xlabecl("曲目名稱")plt.ylabel("平均得分")plt.show()【答案】(1) df.at[i,"專家分”]*0.6+df.at[i,"投票分"]*0.4或 df["專家分"][i]*0.6+df["投票分"][i]*0.4(2) ①tj("match.csv") ②df.at[j,"參賽曲目"]==m或 df["參賽曲目"][j]==m ③j=j+1(3)dfl.總得分【解析】本題考查 pandas數據處理相關知識(1)由題干可知:總得分=專家分*0.6+投票分*0.4,故(1)處填:df.at[i,"專家分"]*0.6+df.at[i,"投票分"]*0.4(2)①tj函數對傳的文件求總分,此處調用函數,傳入參數應為文件名,注意要加雙引號,填:tj("match.csv")對 df對象按總分降序排序后,要查找每首曲目的最高得分,可以從上向下依次遍歷 df的每一行。本題利用雙循環,外循環枚舉曲目 m,內循環從上到下遍歷 df,若找到某一行參賽曲目與 m相同,即為該曲目最大值,此時添加入字典 dic即可。②處填:df.at[j,"參賽曲目"]==m③空與 while循環有關,此處為循環變量的增加,j=j+1(3)由題意與圖 b可知,y軸數據為總得分的平均值,即 dfl.總得分15.操作系統管理 n個連續的內存單元,地址編號為 0 ~ n-1,可動態分配給多項作業使用。現有一個作業隊列,其中記錄了各項作業申請的內存單元數量、作業請求等情況。某作業執行時,會向系統請求分配一.段.連.續.的.內.存.單.元.(簡稱“塊”),執行完后由系統回收該空閑塊(回收后若存在連續的多個空閑塊,則合并為一塊)。系統分配內存的方法是:按作業請求從所有空閑單元中盡可能地挑選一個能滿足要求的最小空閑塊,當有多塊滿足要求時,選擇起始地址編號最小的空閑塊(能分配時則從該空閑塊的起始地址開始分配:不能分配時則提示內存不足)。編寫 Python程序模擬動態分配過程。請回答下列問題:(1)設有 500個內存單元,地址編號為 0 ~ 499,初始全部空閑。某隊列作業順序執行情況如第 15題圖所示,則作業“J6”申請到的內存塊起始地址編號為 。(2)定義如下函數 sortbysize(free),參數 free鏈表的各節點由空閑塊的起始地址、塊大小、鏈接地址描述,并按起始地址升序。函數功能是保持 free的鏈接結構不變,返回列表 lst,lst是 free中各節點按塊大小升序、塊大小相同按起始地址升序的索引序列。def sortbysize(free):#對鏈表 free進行排序,free[0]描述了鏈表的頭指針、空閑塊個數lst = []p = free[0][0] #free[0][0]為鏈表的頭指針while p != -1:lst.append(p) #為 lst追加一個元素p = free[p][2]高三技術試題卷 第 8 頁 共 10 頁m = free[0][1] #free[0][1]為空閑塊個數stk = [-1] * m; top =-1j = m – 1while j >= 0:tmp = lst[j]while top != -1 and free[tmp][1] > free[stk[top]][1]:lst[j] = stk[top]; j += 1; top -= 1top += 1; stk[top] = tmp; j -= 1while top > -1:j += 1; lst[j] = stk[top]; top -= 1return lst執行語句 lst = sortbysize([[1, 4], [0, 160, 2], [200, 120, 3], [350, 70, 4], [442, 70, -1]]),執行過程中變量top的值最大為 ,執行后 lst的值為 。(3)實現內存分配功能的代碼如下,請在劃線處填上合適的代碼。def alloc(size, free): #分配內存,無法分配時返回-1,否則返回分配內存塊的起始地址#檢查 free鏈表,若有地址連續的多個空閑塊則合并為一個空閑塊,代碼略if free[0][1] == 0: #free[0][1]為空閑塊個數return -1lst = sortbysize(free)i = 0while i < len(lst) and ① :i += 1if i == len(lst):return -1prev = 0curr = free[0][0] #free[0][0]為鏈表的頭指針while curr != lst[i]:prev = currcurr = free[curr][2]②if free[curr][1] == size: #分配空閑塊,并更新鏈表 freeif prev != 0:free[prev][2] = free[curr][2]else:free[prev][0] = free[curr][2]free[0][1] -= 1else:③free[curr][1] -= sizereturn address'''讀取并處理作業隊列,free鏈表的各節點由空閑塊的起始地址、塊大小、鏈接地址描述,并按起始地址升序,代碼略。若當前作業需要分配 size大小的內存塊,則進行如下處理'''高三技術試題卷 第 9 頁 共 10 頁address = alloc(size, free)if address == -1:print("無法分配,內存不足!")else:print(address)【答案】(1)224(2)3 [3,4,2,1](3)① free[lst[i]][1] < size② address = free[curr][0] 或 address = free[lst[i]][0]③ free[curr][0] += size【解析一】(1)作業編號 內存塊大小 作業請求 處理結果 分配/回收后空閑塊鏈表狀態J1 160 分配 分配 0~159 160~499J2 64 分配 分配 160~223 224~499J3 120 分配 分配 224~343 345~499J4 86 分配 分配 334~429 430~499J1 160 回收 回收 0~159 0~159、430~499J3 120 回收 回收 224~343 0~159、224~343、430~499J5 70 分配 分配 430~499 0~159、224~343J6 64 分配 分配 224~287 0~159、288~343(2)①題中已經說明了函數 sortbysize(free)的返回值是列表 lst,lst是 free中各節點按塊大小升序、塊大小相同按起始地址升序的索引序列。則容易得出 lst的值為[3,4,2,1]。②題中 stk是輔助棧,lst列表中原先為[1,2,3,4],stk輔助 lst列表中的值進行排序。在整個過程中當 top為最大值 3的時候,stk的值為[1,2,4,3]。(3)①#遍歷空閑塊列表 lst,找到第一個大小不小于 size的空閑塊的索引,因此此處填 free[lst[i]][1] < size②當 curr等于 lst[i]時,說明找到了可以容納大小為 size 的空閑內存塊。因此,代碼執行 address =free[curr][0],將該內存塊的起始地址存儲在變量 address 中。變量 address 存儲了可以分配給請求的內存塊的起始地址。③在找到大小為 size的空閑塊后,如果該塊內存的大小大于 size,則將該塊的大小減去 size,以便在剩余空間中分配其他內存。【解析二】本題內存分配為背景總和考察了棧、鏈表的使用。第(1)小題可以畫數軸或列出當前的“塊”來思考。對于作業 J1~J4的內存依次分配為[0,159],[160, 223],[224,343],[344, 429],最后剩余空閑內存[430, 499],長度為 69。隨著作業 J1和 J3的回收,最小能存放長度為高三技術試題卷 第 10 頁 共 10 頁70的塊是原作業 J3的內存,即起始編號 224。第(2)小題要求從代碼中讀懂算法,當然在數據量不大的情況下也可以手動模擬。根據題意排序后的結果是一個索引序列,排序規則是塊大小升序、起始地址升序,則 lst = [3, 4 , 2, 1]。執行過程中輔助棧的最大元素個數是 3。實際上這是雙棧模擬排序算法,模擬排序時牢記兩個原則:“原始棧當前元素個數 + 輔助棧當前元素個數 = 總元素個數”“維護一個降序的輔助棧”具體模擬過程不做展開。第(3)小題實現具體的內存分配。由于 lst是已排序的空閑內存起始位置索引列表,從頭開始遍歷列表 lst,保證找到最小的課容納長度為 size 的空閑內存,即第①問答案 free[lst[i]][1] < size。第②問初始化 address,由于 if語句的特性只執行一個分支,即返回值 address可能未被賦值,所以需要提前對 address賦值,address = free[curr][0],即當前空閑內存的起點。將該長度為 size 的內存分配給新的作業后,這部分空閑內存減少了 size 長度,即起點后移 size,第③問答案 free[curr][1] += size。高三技術試題卷 第 11 頁 共 10 頁 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫