資源簡介 絕密★考試結束前(23年 12月)金麗衢十二校 2023 學年高三第一次聯考技術試題第一部分 信息技術(共 50 分)一、選擇題(本大題共 12 小題,每小題 2 分,共 24 分。每小題列出的四個備選項中只有一個是符合題目要求的,不選、多選、錯選均不得分)1.下列關于數據和信息的說法,正確的是A.計算機中的視頻以十六進制形式存儲B.付款碼在一段時間后會失效,說明信息具有真偽性C.盲文是數據的一種表現形式D.通過無線網絡傳輸的信息不需要依附于載體【答案】C【解析】選項 A,計算機內部所有數據都是以二進制形式存儲,該選項錯誤;選項 B,付款碼會失效,主要是體現信息的時效性,也是提高安全性的手段,該選項錯誤;選項 D,信息必須依附于載體才能存在,無線傳輸時的載體就是電磁波,雖然看不見,但不代表不存在,該選項錯誤。2.下列關于人工智能和大數據的說法,正確的是A.某學籍管理系統中的幾十萬條數據是大數據B.電商平臺的個性化推薦是基于大數據分析了用戶購買商品的原因C.人工智能的發展不會威脅到人類的安全D.利用神經網絡解決分類問題的方法屬于人工智能的聯結主義【答案】D【解析】選項 A,學籍管理系統的數據不能算大數據,因為每個數據都非常重要,缺一不可,大數據中的數據允許個別數據的不準確或缺失,該選項錯誤;選項 B個性化推薦是基于大數據的相關性分析,而不是因果關系分析,該選項錯誤;選項 C,人工智能技術推動人類社會進步的同時,也可能威脅人類安全,該選項錯誤。閱讀以下材料,回答 3—5 題。在建設智慧校園時,不少學校引入電子班牌系統。該系統的主要應用場景:簽到、測溫、請假、家校溝通、信息發布等,學生可以通過電子班牌與家長聊天,教師可以發布班級公告等,所有的數據都存儲在云服務器上。該電子班牌的主要參數和功能如下:3.下列關于該信息系統組成的說法,正確的是A.測溫模塊屬于該系統的硬件 B.電子班牌僅支持有線網絡接入金麗衢 12校 技術選考試題 第 1 頁 共 11 頁C.Android 屬于該系統的應用軟件 D.該信息系統中的用戶只有教師和學生【答案】A【解析】選項 B,電子班牌也支持無線網絡來接入,該選項錯誤;選項 C,Android是操作系統,屬于系統軟件,該選項錯誤;選項 D,信息系統中的用戶除了教師和學生,還有程序設計員、維護人員等,該選項錯誤。4.下列關于該信息系統功能和應用的說法,不.正.確.的是A.學生數據可以存儲在云服務器的數據庫中B.學校停電導致該系統無法使用,說明信息系統本身具有安全隱患C.學生通過電子班牌與家長聊天,說明該系統具有數據傳輸功能D.該系統的請假功能規范了工作流程,提高學校的工作效率【答案】B【解析】文件、數據庫、云存儲是數據存儲的常見方式,選項 A正確;選項 B,停電導致信息系統不能使用說明信息系統對外部環境有依賴性,該選項錯誤;選項 C、選項 D均正確。5.下列關于信息系統安全和信息社會責任的說法,正確的是A.學生不能審批請假單是由于學生沒有通過該系統的身份認證B.若將電子班牌的操作系統升級為最新版本,則該系統就不存在漏洞C.系統管理員可以將學生信息出售給第三方機構D.在服務器上安裝防火墻可以有效阻擋外來的網絡攻擊【答案】D【解析】選項 A,學生不能審批請假單是因為訪問控制的權限問題,學生帳號沒有審批的權限;選項 B,新版本的操作系統也可能存在漏洞;選項 C,學生信息屬于個人隱私信息或重要信息,出售信息會侵犯個人隱私。只有選項 D是正確的。6.下列關于網絡系統的說法,不.正.確.的是A.客戶端和服務器之間能夠正常通信需要遵循 TCP/IP 協議B.連接網絡的智能設備不一定都有 IP 地址C.無線路由器是組建家庭網絡的常用設備D.各部門可以通過網絡共用一臺打印機,體現網絡的資源共享功能【答案】B【解析】選項 B,IP地址是用于標識網絡上設備的唯一地址,連接到網絡的智能設備都需要有 IP地址(動態地址或靜態地址),否則不能正常上網,所以選項 B是不正確的。選項 A、C、D均正確。7.某位圖圖像最多需要表示 500種顏色,若采用十六進制給每種顏色編號,至少需要的編碼位數是A.4 B.3 C.2 D.1金麗衢 12校 技術選考試題 第 2 頁 共 11 頁【答案】B【解析】本題考查信息的編碼。500種顏色,編碼精度為 16n >= 500,即 n=3,所以選 B。8.某二叉樹如第 8 題圖所示,下列說法正確的是A.該二叉樹是完全二叉樹B.該二叉樹有 4 個葉子節點C.該二叉樹的中序遍歷結果為 BDACFED.該二叉樹用一維數組表示為['A','B','C','D','E','F']【答案】B【解析】本題考查二叉樹。A.錯誤,一棵完全二叉樹至多只有最下面兩層的結點的度數可以小于 2,并且最下層的結點都集中在該層最左邊的若干位置上。B.錯誤,葉子節點有 2個C.正確D.錯誤,該樹用數組表示為['A','B','C',None,'D',None,'E',None,None,None,None,None,None,'F']9.有如下 Python程序段:a="Python"; q=[0]*6head,tail=0,0i=len(a)-1while i>=0:if i%3!=0:q[tail]=a[i]else:q[tail]=q[head]head+=1tail+=1i-=1print(q[head:tail])當執行該程序段后,輸出的結果是( ▲ )A.['n', 't', 'y', 'o'] B.['n', 't', 'y'] C.['n', 'o', 'n', 't', 'y'] D.['n', 'o', 'n', 't', 'y', 'o']【答案】A【解析】本題考查隊列。根據題意可知,當索引 i為 3的倍數時,隊首元素出隊并入隊尾,否則 a[i]入隊。即['n']-->['n','o']-->['o','n']-->['o','n','t']-->['o','n','t','y']-->['n','t','y','o'],故選 A。10.有如下 Python程序段:def f(s):金麗衢 12校 技術選考試題 第 3 頁 共 11 頁if len(s)==2:return selse:return f(s[len(s)//2+1:]+s[:len(s)//2])print(f("abcde"))當執行該程序段后,顯示的結果是A.eb B.be C.da D.ad【答案】A【解析】本題考查遞歸函數f('abcde')f('deab')f('bde')f('eb')所以答案 A。11.某二分查找算法的 Python程序段如下:import randomkey=random.randint(1,4)*2a=[2,3,4,4,4,6,7,10]ans=0;i=0;j=len(a)-1while i<=j:m=(i+j)//2if key>=a[m]:i=m+1else:j=m-1ans+=a[m]print(ans)執行該程序段后,ans的值不.可.能.是A.27 B.14 C.11 D.9【答案】C【解析】本題考查二分查找。43 62 4 4 710根據題意 key的值可能是 2,4,6,8。程序查找的是 key的右邊界,即當 key=2時,ans=4+3+2=9;當 key=4時,ans=4+6+4=14;當 key=6時,ans=4+6+7=17;金麗衢 12校 技術選考試題 第 4 頁 共 11 頁當 key=8時,ans=4+6+7+10=27。所以不可能的是 C。12.有如下 Python程序段:num="1433218"; k=3n=len(num); ans=""s= [""]*n; top=-1;for i in num:while k>0 and top>-1 and s[top]>i:top-=1k-=1top+=1s[top]=iif k > 0:top-=kwhile top > -1:ans=s[top]+anstop-=1print(ans)執行該程序段后,輸出的內容是A.1321 B.1322 C.3121 D.1218【答案】D【解析】本題考查棧。根據題意代碼 'while k>0 and top>-1 and s[top]>i:'可以判斷,棧中的元素必須是遞增的,且最多出棧 3 次;即['1']-->['1','4']-->['1','3']-->['1','3','3']-->['1','2']-->['1','2','1']-->['1','2','1','8']'4'出棧 兩個'3'所以最后結果為'1218'二、非選擇題(本大題共 3 小題,其中第 13 小題 8 分,第 14 小題 8 分,第 15 小題 10 分)13.某校圖書館提供 3類自習室,A類最多容納 2人,B類最多容納 4人,C類最多容納 8人,以 1小時為單位進行預約,每.人.每.天.只.能.預.約.一.次.,.每.次.預.約.僅.限.個.人.,規定預約時間結束之前必須離開。圖書館每天 6點開館,22點閉館。編寫程序,輸入某自習室號牌,根據已預約情況,輸出該自習室還能被預約的時間段。例:讀取“A102”已預約情況[[6,11], [15,18], [8,12], [15,22]],其中“A102”表示為 A類 102號自習室,[6,11]表示某個人預約 6:00開始,11:00前必須離開,時間占用如第 13題圖所示,則該自習室還能預約的時間段為[[6,8],[11,15],[18,22]]。請回答下列問題:第 13題圖(1)若“B101”的已預約情況為[[6,11],[8,12],[8,11],[6,12]],則該自習室還能預約的時間段是 。(時間段格式參照題中樣例)(2)實現上述功能的部分 Python 代碼如下,請在劃線處填入合適的代碼。r = input("輸入自習室號牌: ")金麗衢 12校 技術選考試題 第 5 頁 共 11 頁# 根據自習室號牌 r,獲取該自習室可容納的人數上限和預約情況分別存入 ceil和 time中,代碼略# 如 time = [[6,11],[15,18],[8,12],[15,22]]bucket = [0]*24 #記錄該自習室每個時刻被預約的人數for period in time:for i in range(period[0], ① ):bucket[i]+= 1ans = []; rec = []for i in range(6,22):if bucket[i]rec.append(i)if len(rec)==0:print("該自習室目前沒有可預約時段")else:left,right = 0,0i=1while iif rec[i]==rec[i-1]+1:②else:ans.append([rec[left],rec[right]+1])left,right=i,i③ans.append([rec[left], rec[right]+1])print(r,"可預約的時間:", ans)【答案】(1)[[6,8], [11,22]] 或等價描述(若括號沒有寫全,也可給分) (1分)(2) ①period[1] (2分)② right=i或 right+=1 (2分)③ i+=1或 i=i+1 (2分)【解析】本題考查 Python語言基礎及簡單算法知識。(1)由于 B自習室能容納 4個同學,因此“B101”的已預約情況為[[6,11],[8,12],[8,11],[6,12]],則表明[8,11]已經被占用,而其他時段都可以預約,故該自習室還能預約的時間段是[[6,8],[11,22]]。(2)①根據代碼可知該處的代碼應該是 period[1],因為 time是一個二維列表,列表 bucket記錄該自習室每個時刻被預約的人數。需要說明的是,為什么答案不是 period[1]+1,是因為右邊界的值不統計在 bucket中(如第 13題圖所示)。②代碼 rec[i]==rec[i-1]+1表示可預約教室的時段是連續的,例如 8點可以預約,9點也可以預約,因此可以將這兩個時間點進行合并,此時應該將右邊界加 1,或者直接將下標 i作為右邊界,故答案是 right+=1或 right=i 。③由于統計是以每個小時為單位進行的,因此 while 循環語句的步長 i每次應該加 1,i代表小時數,故答案是 i+=1或 i=i+1。金麗衢 12校 技術選考試題 第 6 頁 共 11 頁14.小李在臥室搭建了一個簡易的室內濕度監測系統,系統通過濕度傳感器獲取室內的環境濕度,濕度超過閾值時自動打開除濕器(執行器);用戶可以通過瀏覽器查看實時濕度(主頁)、歷史濕度數據和設置濕度閾值。每隔一段時間記錄一次濕度數據。該系統的架構圖如第 14題圖 a所示。(1)下列有關該系統數據傳輸的說法,不正確的是 。(單選,填字母)A. 用戶的請求通過瀏覽器傳輸到 Web 服務器B. Web 服務器將接收到的濕度數據寫入數據庫C. IoT 模塊將 Web 服務器的歷史濕度數據傳輸給智能終端(2)基于 Flask Web框架編寫服務器端程序,則服務器端應用實例 app中與設置閾值頁面相關聯的路由置語句是@app.route(' ')。(3)室內適宜的濕度范圍是 hmin~hmax(含 hmin、hmax 且 hmin適宜、偏高時,將 sta的值對應設為 0、1、2。下列 Python程序段中符合要求的有 。(多選,填字母)。(注:全部選對得 2 分,選對但不全得 1 分,不選或有選錯得 0 分)(4)該系統正常工作一段時間后,小李發現用瀏覽器訪問服務器能正常顯示實時濕度,但是當實時濕度超過閾值時,執行器并沒有工作,結合第 14 題圖 a,簡要說明該系統中可能造成上述問題的原因:。(注:回答 2 項,1 項正確得 1 分)(5)將該年 1—10 月濕度數據導出,部分數據如第 14 題圖 b 所示,分析 1—10 月中每天 8 時刻的月平均濕度值并繪制線形圖如第 14 題圖 c 所示。程序如下,請在劃線處填入合適的代碼。#其他代碼略df = pd.read_csv("humidity.csv")df["月份"] = 0 #新增一列for i in df.index:金麗衢 12校 技術選考試題 第 7 頁 共 11 頁df.at[i, "月份"] = df.at[i, "日期"][5:7] #通過行、列確定單個值并修改dfh = df[ ① ] #篩選出每天 8 時刻的數據g = dfh.groupby(" ② ").mean() #分組求平均值plt.plot(g.index, g.相對濕度)plt.ylabel("每月 8:00 時刻的平均相對濕度")plt.xlabel("月份")plt.show()【答案】(1)C (1分)(2)/sethum (1分)(3)AD (2分)(4) 硬件故障:執行器或智能終端異常 (2分)連接故障:執行器和智能終端連接故障(5) ①df.時刻==8或 df['時刻']==8或 df.時刻=='8'或 df['時刻']== '8' (2分)②月份 (2分)【解析】(1)WEB服務器中的歷史數據是保存在數據庫中,并不是通過 IOT模塊傳遞給智能終端,故 C選項錯誤。(2)題目中要求的是服務器端應用實例 app與設置閾值頁面的路由關系,通過觀察圖 a可知該頁面的路由是“/sethum”(3)B選項中,如果 h的值小于 hmin,由于兩個 if語句存在兩個入口,故最后 sta的值為 1(適宜)而不是 0(偏低),所以 B選項錯誤;C選項中,如果 h的值等于 hmax根據題目要求是適宜的濕度范圍,但是從 C選項出發 sta的值是 2屬于偏高,所以 C選項也錯誤。故答案選 AD。(4)根據題意,小李訪問服務器是能正常顯示濕度(說明服務器方面沒有沒有什么問題,包括瀏覽器的顯示,數據庫的保存),但超過閾值時,執行器無法工作(說明問題出在智能終端方面),結合圖 a的系統架構圖,可從以下幾個方面分析。硬件方面:執行器發生故障、智能終端發生故障。連接方面:執行器和智能終端的連接故障。代碼方面:服務器返回值參數錯誤導致執行器無法啟動工作。(5)第 1小空考察的是 pandas篩選的知識點,要求篩選出每天 8時刻的數據,結合圖 b可知要篩選的是時刻列故答案是“df.時刻==8”,第 2小空也是常規的知識點,考察的是根據哪列進行分組求平均值,結合圖 c中 x軸的參數可知要參加分組的列是“月份”,亦可從代碼中得知新增的“月份”列,故答案是“月份”15.某音樂平臺的曲庫中共有 n首(編號為 0~n—1)歌曲,每首歌曲初始的熱度值均為 0。歌曲列表分為熱榜區和非熱榜區,熱榜區按熱度值降序排列,若熱度值相同則按歌曲編號升序排列;非熱榜區按歌曲編號升序排列,某時刻的榜單如第 15題圖 a所示。用戶對歌曲的操作會改變其熱度值,規則如第 15題圖 b所示。初始狀態時,n首歌曲都在非熱榜區,若某歌曲的熱度值大于等于預設的閾值時,則將其移至熱榜區;相反,若熱榜區中某歌曲的熱度值小于預設的閾值時,則將其移至非熱榜區。現有一段時間內的操作記錄存儲在"operation.csv"文件中,部分數據如第 15題圖 c所示,編寫 Python程序模擬兩個榜區歌曲的實時更新功能。金麗衢 12校 技術選考試題 第 8 頁 共 11 頁(1)若該曲庫中有三首歌曲,編號分別為 0、1、2,初始熱度值均為 0,熱榜閾值為 3。經過第 15題圖c所示的若干個操作后,最終熱榜區顯示的歌曲編號依次為 ▲ 。(2)定義函數 printsongs(headA,headB),其功能是輸出某次操作后 songs中的歌曲榜單信息。如第 15題圖a所示的歌曲榜單,該曲庫中共有 10首歌。此時 headA和 headB的值分別為 6和 0;編號 8、9的歌曲數據在列表中分別表示為 songs[8]、songs[9],其值分別為[8,-2,"懸溺",-1]、 [9,8,”如果這就是愛”,0]。函數 printsongs代碼如下,請在劃線處填入合適的代碼。def printsongs(headA,headB):print("###熱榜歌曲###")p=headAwhile p!=headB :print("歌曲編號:",songs[p][0],"歌曲名:",songs[p][2],"熱度值:",songs[p][1])▲print("###非熱榜歌曲###")while p!=-1:#其他代碼略(3)實現曲庫從非熱榜區移至熱榜區或更新熱榜區的部分 Python程序如下,請在劃線處填入合適的代碼。#讀取曲庫和操作數據,分別存入列表 songs和 op中。songs中的每個元素包含三個數據項,分別對應#歌曲的編號、熱度值、名稱。op中每個元素包含兩個數據項,分別對應歌曲編號和操作編號。代碼略inc=[0,1,3,-5] #操作編號對應的數值變化val=int(input('請輸入熱榜閾值')) #閾值設置for i in range(0, len(songs) - 1):songs[i].append(i + 1)songs[len(songs) - 1].append(-1)headA,headB=0,0for x in op:p,q=headA,headAwhile q!=-1 and songs[q][0]!=x[0]:p=qq=songs[q][3]if q==-1:print("未找到該歌曲")else:tmp=songs[q][1] #修改前的熱度值songs[q][1]+= ① #修改后的熱度值if (tmp=val) or (songs[q][1]>=tmp>=val): #上熱榜或升榜px,py=headA,headAwhile py!=-1 and (songs[py][1]>songs[q][1] or ② ):px=pypy=songs[py][3]if q==headB:headB=songs[headB][3]if py != q:金麗衢 12校 技術選考試題 第 9 頁 共 11 頁songs[p][3] = songs[q][3]③if py == headA or headA == headB:headA=qelse:songs[px][3]=qprintsongs(headA,headB) #輸出當前操作后的榜單#其他情況代碼略【答案】(1)0,2(不按順序不給分) (1分)(2)p = songs[p][3] (2分)(3) ① inc[x[1]] (2分)② songs[py][1]==songs[q][1] and songs[py][0]③ songs[q][3] = py (2分)【解析】本題考查鏈表遍歷、查找、插入和刪除等基本操作及算法的綜合應用能力。(1)經過操作后,0號歌曲熱度值為 6,2號為 4,1號為-5,閾值為 3,則 0號、2號歌曲上熱榜并按熱度值降序排序,熱榜區顯示的歌曲編號為:0,2(2)從代碼的注釋語句可以看出幾個重要變量的結構:歌曲庫:songs:[[“歌曲編號”,熱度值,名稱,指針域]....]操作: op:[[“歌曲編號”,操作編號].....](3)處的代碼用于從表頭 headA開始遍歷熱榜鏈表,此空為指針 p的跳轉:p = songs[p][3]⑶本題的任務比較簡單,通過操作 op計算相應歌曲的熱度值,再依據熱度值判斷是否進入熱榜,若是,找到插入位置進行插入。涉及到鏈表的增、刪、查、改,主要考查鏈表的基本操作。以下為代碼的模塊結構及部分語句解釋:inc=[0,1,3,-5] #操作編號對應的數值變化val=int(input('請輸入熱榜閾值')) #閾值設置for i in range(0, len(songs) - 1):songs[i].append(i + 1) 數組 songs轉鏈表songs[len(songs) - 1].append(-1)headA,headB=0,0for x in op: #遍歷操作 opp,q=headA,headAwhile q!=-1 and songs[q][0]!=x[0]:在 songs中找操作 op中的歌曲編號 x[0]p=qq=songs[q][3]if q==-1:print("未找到該歌曲")找到后,該歌曲的熱度累加當前操作else: #若熱榜中有歌曲 x[0]tmp=songs[q][1] # 值。通過操作編號 x[1],在列表 inc中修改前的熱度值songs[q][1]+= # 找到對應的熱度值,填:inc[x[1]]① 修改后的熱度值if (tmp=val) or (songs[q][1]>=tmp>=val): #上熱榜或升榜 根據修改以后的熱度值,處理是px,py=headA,headA 否進入熱榜,若進入需在降序while py!=-1 and (songs[py][1]>songs[q][1] or ② ):序列中查找插入位。依題意首px=py先按熱度值降序排序,若熱度py=songs[py][3]值相同,按編號升序排序,②處填:金麗衢 12校 技術選考試題 第 10 頁 共son1g1s[p頁y][1]==songs[q][1] andsongs[py][0]出循環后 q插在 px與 py之間if q==headB:headB=songs[headB][3]if py != q:songs[p][3] = songs[q][3] #從原鏈表刪除 q節點③if py == headA or headA == headB: #若插在頭節點之前headA=q #修改頭節點指針else:songs[px][3]=qprintsongs(headA,headB) #輸出當前操作后的榜單金麗衢 12校 技術選考試題 第 11 頁 共 11 頁 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫