資源簡介 湖州、衢州、麗水三地市教學質量檢測試卷高三技術(2023.04)第一部分 信息技術解析(50分)一、選擇題(本大題共 12 小題,每小題 2 分,共 24 分,每小題列出的四個備選項中只有一個是符合題目要求的,不選、錯選、多選均不得分)1.下列關于數據、信息和知識的說法,正確的是A.機器學習訓練的數據集可以是未經數字化的 B.數據的意義與其應用場景無關C.知識由信息的積累、歸納、總結得出 D.借助網絡搜索引擎可獲得海量知識【答案】C【解析】本題考查數據、信息與知識的概念選項A,自然界中的各種數據需要轉換成數字信號,這樣才能由計算機來處理選項B,數據放在某個語境或是真實場景中,數據就有了意義,因此有聯系選項D,知識不僅知道有什么,還得知道為什么,單純的搜索只是前者。2.下列有關大數據及其處理的說法,不.正.確.的是A.大數據支持動態跟蹤,提高了數據分析的即時性B.大數據要分析的是全體數據,而不是抽樣數據C.非結構化的文本數據更利于大數據處理和分析D.數據可視化可增強數據的解釋力和吸引力【答案】C【解析】本題考查大數據的概念與思維要從大量的文本中提取出有用的信息,需要將文本從無結構的原始狀態轉化為結構化的,便于計算機處理的數據閱讀以下材料,回答第3-4題:學校使用校園一卡通系統進行管理。校園卡基于RFID技術,可用于門禁開啟、食堂消費、圖書借閱等,建卡、掛失、充值及信息錯誤修正等工作由學校財務人員負責。3.下列有關該信息系統的組成,說法正確的是A.該系統的硬件由校園卡和刷卡機組成 B.使用記錄數據只存儲在校園卡的芯片中C.學校財務人員屬于信息系統的用戶 D.校園一卡通系統屬于系統軟件【答案】C【解析】本題考查信息系統的組成選項A,硬件還包括門禁,網絡設備,計算機等選項B,芯片中記錄了一部分數據,還有部分存儲在服務器的數據庫中選項D,一卡通系統是針對校園領域的實際問題開發的,屬于應用軟件4.為了提升信息系統的安全性,下列做法不.可.行.的是A.安裝防火墻同用戶設置相同的數據庫訪問權限人敏感信息進行加密處理服務器使用磁盤陣列進行數據冗余備份【答案】B【解析】本題考查信息系統的安全與防護系統管理員會通過對賬戶權限大小的設置來管理數據的安全,目的是保證訪問系統資源的用戶是合法的,不同權限的用戶所擁有的數據范圍不一樣。5.下列關于網絡技術的說法,正確的是A.網絡是由計算機系統和網絡軟件兩部分組成B.網絡操作系統只負責網絡中軟件資源的管理C.局域網通信不需要遵循TCP/IP協議D.移動終端可通過公共網絡設施訪問互聯網【答案】D【解析】本題考查網絡的組成與構建選項A,網絡由計算機系統,數據通信系統以及網絡軟件和網絡協議三個部分組成。選項B,網絡操作系統負責整個網絡軟、硬件資源的管理與網絡通信和任務的調度。選項C,網絡通信需要遵守協議6.某算法的部分流程圖如第6題圖所示,執行這部分流程,若輸入的x依次為4,5,9,14,0, 則輸出n的值是A.1 B.2 C.3 D.4【答案】B【解析】本題考查流程圖。a 0 4 5 9 14b 0 0 4 5 9c 0 0 0 4 5n 0 0 0 1 2x 4 5 9 14 07.用數組表示二叉樹的示意圖如下所示,則該二叉樹的中序遍歷序列為0 1 2 3 4 5 6 7 8 9 10 11 12 13 14A B C D E FA.BEDFAC B.ABDEFC C.DBEAFC D.BDAECF【答案】A【解析】本題考查二叉樹的創建與遍歷根據題意 創建如下所示的二叉樹,然后進行中序遍歷,可以得到答案為A。8.有下列Python程序段:a=[[1,3],[1,0],[7,1],[4,5],[1,-1],[6,4]]x=1p=head=2if x==a[p][0]:head=a[p][1]else:while p!=-1:if x==a[p][0]:a[pre][1]=a[p][1]else:pre=pp=a[p][1]運行該段程序后,a[2][1]的值為A.-1 B.0 C.1 D.3【答案】B【解析】本題考查鏈表的相關操作閱讀代碼可知,選擇結構部分的操作為當x為當前鏈表頭指針所指的節點的數據,那刪除頭節點,如果不是就遍歷后續節點并刪除節點數據為1的節點。因為刪除需要記錄鏈表的前驅,這里使用pre來存儲。原鏈表為7→1→1→4→6→1。故刪除了數據1的節點之后,7指向了數據4,即a[2][1]為39.約定:T 操作是指在隊列中1個元素出隊后再入隊,E操作是指將1個元素入隊,P 操作是指隊列中1個元素出隊,隊首指針head 和隊尾指針 tail 初始值均為 0。則經過 EETPETEP系列操作后,隊首指針 head 和隊尾指針tail的值分別為A.3 4 B.3 5 C.4 5 D.4 6【答案】D【解析】本題考查隊列的相關操作。根據題意T為出隊后入隊(head和tail都要+1),E為入隊(tail+1),P為出隊(head+1)。head=tail=0,經過 EETPETEP 系列操作后,head 加四次,tail加六次,故head=4,tail=610.數組a包含10個互不相同的元素,即a[0],a[1],…,a[9],其中a[0],a[2],…,a[8]稱為奇數位元素,a[1],a[3],…,a[9]稱為偶數位元素。有如下Python程序段:)ange(n//2-1):for j in range(n-2,2*i,-2):if a[j]a[j],a[j-2]=a[j-2],a[j]該程序段實現的功能是A.僅對奇數位元素升序排列 B.僅對偶數位元素升序排列C.奇數位元素升序,偶數位元素降序排列 D.奇數位元素降序,偶數位元素升序排列【答案】A【解析】本題考查冒泡排序算法知識。根據代碼“a[j]向是從后往前冒泡,且中間隔著一個數進行冒泡排序,最前面一個有序的是元素a[0],然后是a[2],a[4]…根據題目描述,這屬于奇數位元素,因此排序結束僅有奇數位元素實現升序,而偶數位置元素未被處理,依然保持原始狀態。故本題選A。11.定義如下函數:def move(n,a,b,c):if n==1:print(a,"->",c)returnmove(n-1,a,c,b)move(1,a,b,c)move(n-1,b,a,c)執行語句move(2,"A","B","C"),輸出的第一行內容是A.a -> c B.A -> C C.a -> b D.A -> B【答案】D【解析】本題考查遞歸算法及自定義函數知識。由代碼可知,此為漢諾塔的遞歸函數,遞歸結束條件是n==1。將move(2,”A”,”B”,”C”)中的條件代入模擬后可以發現,第一行是move(1,”A”,”C”,”B”),此時滿足遞歸函數的結束條件,因此執行print語句,按照參數的先后次序關系,第一行應該輸出A -> B,故選D。12.有如下Python程序段:import randoms=[3,2,7,6,9] ; st=[0]*len(s) ; top=-1 ; i=0while iop=random.randint(0,1)if top==-1 or op==0 and s[i]>st[top]:top+=1 ; st[top]=s[i]elif top>=1 and op==1 and s[i]>st[top-1]:st[top]=s[i]i+=1hil t p!=-1:nt(st[top] ,end=" ")-=1執行該程序段后,輸出的結果不.可.能.是A.3 B.9 6 2 C.9 6 3 D.9 7 3【答案】B【解析】本題考查棧以及棧的代碼實現知識。變量top的初值為-1,由代碼可知變量op的值只可能是0或1。因此根據邏輯可知,在第一個while循環中,此時i=0,無論op的值是多少,程序肯定進入第一個分支,因此第一個進棧的元素必定是數組s中的第一個元素3,且棧st至少有3這一個元素。而棧的規則是符合“先進后出”原則,3肯定是最后一個出棧的元素。觀察各選項可以發現只有選項B中沒有元素3,因此該選項不符合邏輯,故本題選項B不可能。二、非選擇題(本大題共 3題,其中第 13題 8分,第 14題 9分,第 15題 9分,共 26分)13.小王搭建了魚缸水質水位監測系統,基于Python的Flask Web框架進行開發,該系統結構示意圖如圖所示。第13題圖(1)客戶端通過瀏覽器訪問Web服務器,可獲得水質、水位信息,這一方案設計環節屬于信息系統搭建的 ▲ (單選,填字母。A.可行性分析 /B.開發模式選擇)。(2)系統定義water (act)函數用于發送操作指令,參數act為凈水或注水,系統根據水質變量q、水位變量w的值發送指令。操作規則如表所示,下列Python程序段中符合要求的是 ▲(多選,填字母)。(注:全部選對的得2分,選對但不全的得1分,不選或有選錯的得0分)(3)系統的“凈水”操作使用水質過濾器,該過濾器屬于 ▲ (單選,填字母)。A.傳感器 B.執行器 C.客戶端(4)該系統網站功能頁面規劃如表所示,當瀏覽器向Web服務器提交“凈水”操作指令,服務器端應實例app中,與該指令關聯的路由設置語句是@app.route(" ▲ ")。(5)系統數據庫中的數據表wstatus存儲魚缸的水質、水位信息,整型字段level存儲水位,字符型字段quality存儲水質,當前獲取的值分別存儲在水質變量q、水位變量w中,系統存儲數據時,執行的SQL語句是 ▲ (單選,填字母)。A. INSERT INT0 wstatus (level, quality) VALUES (w, q)B. INSERT INT0 wstatus (level, quality) VALUES (w,"q")C. SELECT * FROM wstatus WHERE level=w and quality=qD. SELECT * FROM wstatus WHERE level=w and quality="q"【答案】(1)B(2)BC(3)B(4)/water(5)A【解析】(1)客戶端通過瀏覽器訪問Web服務器,可獲得水質、水位信息,這一方案設計環節屬于信息系統搭建的開發模式的選擇。所以答案是B。(2)選項BC是正確的;選項A中的else,除了q == "優" and w < 50以外,還有其他條件,可執行語句water("注水"),故選項A是不正確的;選項D中的else,除了q == "差"外,還有其他條件,可執行語句water("凈水")。所以答案是BC。(3)系統的"凈水"操作使用水質過濾器,該過濾器是具體執行操作設備,故屬于執行器。所以答案是B。(4)該系統網站功能頁面規劃如表所示,當瀏覽器向Web服務器提交“凈水”操作指令,服務器端應用實例app中,再由表格中所示,與該指令關聯的路由設置語句是@app.route("/water")。(5)系統數據庫中的數據表wstatus存儲魚缸的水質、水位信息,整型字段level存儲水位,字符型字段quality存儲水質,當前獲取的值分別存儲在水質變量q、水位變量w中,系統存儲數據時,執行的SQL語句是INSERT INTO wstatus(level,quality) VALUES(w,q),水質的值已經存儲到字符串變量q中,故選項B是不正確的。所以答案是A。14.某學院投票評選學生會優秀干事,候選人共10人,選出3人,每張選票最多可勾選5人,超過5人則選票無效。經一輪投票后,若得票數前三的候選人超過3人,則需對得票數前三的候選人進行下一輪投票,直至投出結果。小洪用Python編寫投票系統,第一輪投票數據經處理后,保存在"vote2023.xlsx"文件中,部分數據如第14題圖a所示,請回答下列問題。第 14 題圖 a(1)定義check函數,功能為:讀取Excel文件返回有效票數據。函數代碼如下:def check( datafile) :df=pd.read_excel (datafile)df["票數"]=df.sum(axis=1)-df["序號"] # 統計每張選票的票選數df1=df[ ]return df1劃線處應填入的代碼為 ▲ (單選,填字母)。A.df.票數<=5 B.df[票數]<5 C.df.票數==5 D.df["票數"]>5(2)統計票數前三的候選人,若有并列也統計在內,并繪制的柱形圖如第14題圖b所示。部分Python程序如下,請在劃線處填入合適的代碼。df=check("vote2023.xlsx")df2=df.drop(["序號","票數"],axis=1) # 刪除序號列、票數列s=[];st=[]for i in df2.columns :s.append([i,int(df2[i].sum())])#統計每人選票數,格式如['李彤 ',377]for i in range(len(s)) :num=1for j in range(len(s)) :if ① :num+=1第14題圖bif ② :st.append(s[i]) #存儲前三名數據for i in range(len(st)) :plt.bar(st[i][0], ③ ) #繪制柱形圖#設置圖表的標題及圖例數據并顯示圖表,代碼略(3)若對第14題圖b中5人采用投票系統進行第二輪投票,最多可投3人,5人的票數結果分別為600,211,211,589,589,則投票結果的圖表中顯示的候選人有 ▲ 個。【答案】(1)A(2) ① s[j][1]>s[i][1]② num - 1<=2 或 num<=3③ s[i][1](3)3【解析】本題考查pandas模塊以及數據處理。題目要求“超過5人則選票無效”,這里要篩選出符合要求的選票。對應的篩選條件是:df.票數<=5,出得票數前3的候選人,要考慮到有得票相同的情況。結合給出的二個for循環的遍歷范圍均是range(len(s)),內循環這里是統計比當前候選人(i)得票數多的人數。條件是①:s[j][1]>s[i][1];如果比當前候選人得票數多的人數不超過2人,當前候選人肯定位列前3,考慮到num初值為1,條件②:num-1<=2 或num<=3。繪圖時,分別給出對應的候選人名字和票數,對應代碼③:s[i][1]。解析者的一點解題心得:num賦初值為0似乎更加合理。那么條件就是超過的人數不到3人:num<3。解題時看到num=1,確實卡了一下,所以一開始給出的答案num-1<=2。出題人的思路大概是算上候選人自己,小于等于3。(3)根據要求,得票600、589、589的三人符合條件。所以圖表顯示的就是3人。15.某工廠在流水線上設立轉盤緩沖裝置,該裝置示意圖如圖所示。轉盤共有12個孔位作為產品緩存區,產品在轉盤隊列中等待開關打開,當未包裝產品數量低于工人數的兩倍時開關打開,產品出隊進入包裝區,否則開關關閉。工人包裝產品的熟練度不同,熟練度是指工人包裝一件產品所花的時間(單位:秒)。系統運行期間,工人包裝完一件產品后立即包裝下一件,直至該批次產品包裝結束。現編寫Python程序統計工人的包裝件數,并從高到低輸出。(1)若有3個工人熟練度分別為2、3、4,現需包裝9件產品,則 3 個工人完成包裝后,包裝件數最多的工人完成了 ▲ 件。(2)定義 insort(status)函數,參數status每個元素由包裝開始時間、持續時間和件數共 3 項組成。函數功能實現將status按包裝件數由高到低排序,并返回status。def insort(status):for i in range(1,len(status)):current=status[i]j=i-1while j>=0 and current[2]>status[j][2]: # 語句 1status[j+1]=status[j] # 語句 2j-=1status[j+1]=currentreturn status①調用 insort(status)函數,若 status=[[36,37,9],[32,37,4],[36,37,6],[33,36,11]],則函數體內語句2處代碼執行次數為 ▲ 次。②若將函數體內語句 1 畫框處代碼刪除,調用該函數后程序提示錯誤,則錯誤原因可能是 ▲(單選,填字母)。A.變量未定義 B.索引超出范圍 C.數據類型錯誤(3)某批次共有 1000 件產品,產品包裝完成后,輸出工人的包裝件數,由高到低排列。實現該功能的部分Python程序如下,請在劃線處填入合適的代碼。d f in_que(num):points[1]+=1num_index=(points[1]+1)%max_que-1if num_index==-1:num_index=max_que-1queinfo[num_index]=numdef out_que():①num_index=points[0]%max_queoutdata=queinfo[num_index]queinfo[num_index]=-1return outdatamax_que=12 #轉盤容納產品件數packarea=[]worker=[['A',3],['B',7],['C',2],['D',4]] #每個工人編號及熟練度packmax=len(worker)*2 #未包裝產品數量最大值queinfo=[-1]*max_quepoints=[1,1]status=[[0,0,0] for i in range(len(worker))]i,n=0,1000while i0:if points[0]!=points[1] and len(packarea)packarea.append(out_que())if iin_que(i)②w=0while len(packarea)>0 and wif status[w][1]-status[w][0]>worker[w][1]: #一件產品包裝完成③status[w][2]+=1packarea=packarea[1:]status[w][1]+=1w+=1status=insort(status)# 輸出工人的包裝件數,由高到低排列,代碼略【答案】(1) 4 (1分)(2) ① 4 (2分)② B (2分)(3) ① points[0]+=1 (2分)② i+=1 (1分)③ status[w][0]=status[w][1] (2分)【解析】題選取的背景為流水線處理工件,題干中有幾處信息點需要明確,1.用轉盤模擬隊列,隊列長在程序中一定會有入隊、出隊的操作;2.當未包裝產品小于工人兩倍時,轉盤不打開,也就意味著不出隊,這里的未包裝產品與轉盤內的產品是兩個概念,未包裝產品從圖示看就是已經出了轉盤進入包裝區的產品;3.工人的熟練度是值包裝一件產品的時長。了解了這些關鍵信息后,我們看這道題的問題。(1)這是一道根據題干情境模擬數據題。3個工人包裝9件產品,熟練度分別為2,3,4,包裝示意圖如下:一個數字表示一個單位時間。工人1 00112233工人2 000111333工人3 00001111從示意圖可以看出,工人1包裝的產品最多,為4件產品。(2)從insort函數的介紹可以看出,insort函數用于按照包裝件樹進行降序排序。排序采用的算法為插入排序。當前的數據為status=[[36,37,9],[32,37,4],[36,37,6],[33,36,11]],問語句2執行的次數,語句2實現的功能為元素移位操作。i current j=i-1 current[2]>status[j][2 語句2是否執行 結果]1 4 0 否 否 [36,37,9],[32,37,4]2 6 1 是 是6 0 否 否 [36,37,9],[36,37,6],[32,37,4]3 11 2 是 是1 是 是0 是 是 [33,36,11],[36,37,9],[36,37,6],[32,37,4]因此,語句2一共執行4次。從程序段中可以看出j>0的作用是用于防止索引越界,因此第2小題答案選擇B。(3)此處程序解決的問題是輸出工人的包裝件數,由高到低排列。程序段較長,其中有2個新自定義函數。一個主程序。我們先來看主程序,主程序中涉及的變量和數據結構較多,我們羅列如下:變量或數據結構 含義或作用max_que 轉盤容納產品件數packarea 包裝區內未包裝的產品數組,每個元素存儲產品的序號worker 每個工人編號及熟練度packmax 未包裝產品數量最大值queinfo 轉盤隊列,每個元素存儲產品的序號(序號從0開始到999)points 轉盤隊列的頭指針疊加值,尾指針疊加值,用于計算轉盤隊列是否為空。status 工人包裝信息,一個元素表示一個工人,每個元素由包裝開始時間、持續時間和件數共 3 項組成i 表示產品的序號,從0開始n 表示產品的數量,為1000了解完變量及數據結構信息后,我們再來看程序解決問題的邏輯。通過外層while循環,當還有未進入轉盤隊列的產品或未包裝產品數組還有元素時說明包裝工作還未結束,程序還得運行,直到所有產品全部包裝完成。進入循環后,現判斷轉盤內是否有產品出隊,出隊條件為轉盤隊列內有元素且未包裝產品小于工人兩倍。通過out_que()函數讓轉盤隊列出隊,因此out_que()的作用是處理出隊,而in_que函數用于處理入隊。出入隊與points數組相關 一旦元素出隊,那么points[0]則累加。一旦元素入隊,則points[1]則累加,因此第1空答案為points[0]+=1,現累加再獲取產品序號,是因為入隊時先進行累加再入隊操作,因此出入隊在產品序號的存取上要保當出隊處理完畢后,再檢測入隊,入隊的條件是還有產品未進入轉盤且轉盤內還有空位。入隊完畢后,產品序號往后加1,當i==n時說明所有產品均已經入隊,后續只有出隊及包裝的事了。因此第2空答案為i=i+1。內層while結構用于處理包裝產品。w表示工人的序號。當未包裝產品數組有產品時就需要遍歷工人來繼續分配這些未包裝的產品。每次遍歷算經過1秒時間,因此當有工人手頭上的產品包裝完畢后,那么馬上開始下一個產品的包裝(前提是未包裝產品數組內有元素)。因此下一個產品的開始時間就是上一個產品的結束時間。因此第3空的答案為status[w][0]=status[w][1]。每次包裝一個產品時,status[w][2]累加。最后利用insort函數輸出工人包裝件數的降序排列。 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫