資源簡介 非選擇題專項(五)二、非選擇題(本大題共3小題,其中第13題8分,第14題9分,第15題9分,共26分)13.小陳在學習歷史時,從公元1000年至今,發現有的日期特別的“優美”,如1010年01年01日,2021年12月02日,小陳把它們稱為“對稱日”。為了尋找指定年份中的“對稱日”,小陳編寫了如下的Python程序,程序運行結果如圖所示,請在劃線處填入合適的代碼。(1)Python程序如下,請在劃線處填入合適的代碼。(2)程序加框處代碼有錯,請改正。def check(k): check=True y=int(k[0:4]); m=int(k[4:6]); d=int(k[6:8]) flag=0 if m<1 or m>12: check=False if (y%4==0 and y %100!=0 or y%400==0) and ① : #判斷閏年時的相應情況 flag=1 if ② : check=False ③ ks=int(input(″請輸入開始年份″))js=int(input(″請輸入結束年份″))lst=[31,28,31,30,31,30,31,31,30,31,30,31]for i in range(ks,js+1): k1=str(i) if check(k1)==True: print(k1)14.某蔬菜大棚需要搭建自動化溫濕度調節系統。該系統通過溫濕度傳感器采集數據,由智能終端經IoT模塊發送到Web服務器,存儲在數據庫中,同時根據服務器內設定的閾值控制噴水裝置或控溫裝置的開關,系統結構如圖a所示。用戶可通過瀏覽器打開相關網頁查看實時或歷史數據。請回答下列問題:圖a(1)該系統中IoT模塊無法實現的功能是________(單選,填字母:A.連接無線網絡/B.發送來自于智能終端的數據/C.將局域網接入互聯網)。(2)互聯網用戶查看溫濕度歷史數據這一過程中,沒有涉及到的系統硬件設備有________(多選,填字母:A.溫濕度傳感器/B.智能終端/C.無線路由器/D.調制解調器/E.Web服務器)(3)該系統服務器端程序由Flask Web框架編寫,下列表格中描述了相關路由及其功能,已知用戶計算機IP為“192.168.0.3”,Web服務器IP為“192.168.0.2”,端口號為5000,則用戶使用計算機查看實時溫濕度數據時,應訪問的URL是http:∥____________________________。序號 路由 功能1 / 訪問系統首頁2 /readh 查看歷史溫濕度數據3 /readt 查看實時溫濕度數據(4)已知溫度大于30且濕度小于50時,大棚環境處于異常狀態。現將系統中某天24小時的溫濕度記錄導出,如圖b所示(時間格式為“時:分”),每小時設置60個監測時間點,每個監測時間點會監測大棚的溫度與濕度數據,現分析每小時大棚環境異常的監測時間點數量,線形圖如圖c所示,部分Python程序如下,請在程序中劃線處填入合適的代碼。import pandas as pdimport matplotlib.pyplot as pltdf=pd.read_excel(″data.xlsx″) #讀取文件data.xlsx中的數據for i in range(len(df)) : if i%2==0 and df.at[i,″監測值″]>30: df.at[i,″狀態″]=1 if i%2==1 and df.at[i,″監測值″]<50: df.at[i,″狀態″]=1dfg=df.groupby(″時間″, as_index=False).狀態.sum()time=[] ; data=[]for t in range (24): s=str(t) ; c=0 if t<10: s='0'+s time.append(s) dft= dfg[① ] for j in dft.index: if dft.at[j,″時間″][:2]==s: ② data.append(c)plt.plot(time, data)#設置繪圖參數,顯示如圖c所示線形圖,代碼略15.某大型活動慶典排練中,有10000名演員參加方陣演出的訓練,每個演員的序號依次編號為1到10000,經過淘汰篩選后,剩下n名演員參加最后的表演。入場時導演指揮所有演員按序號升序排序,入場后分化成若干個方陣。方陣的分化方式為:(1)按序號順序將演員分割成若干個區間,每個區間有m×m個演員,m最大值為100,最小值為1。每次分化時按盡可能大的區間進行分割;(2)對每個分割出的區間按先行后列的順序依次分化成m×m的方陣;(3)依次給各個方陣分配不同的顏色的演出服,同一方陣內的顏色相同,各個方陣的衣服顏色按方陣從大到小的順序,依次用大寫字母“A”到“Z”表示。(4)給每個演員編制新的編號,編號方法為在其原序號前加上表示顏色的字母。例如n=21時,可依次分化成3個方陣,元素的個數分別為16(4×4)、4(2×2)、1(1×1),排序后的編號依次為2,3,5,6,9,11,14,15,16,19,22,23,24,25,27,29,31,33,36,37,39,則分化成的如圖所示的3個方陣:為檢驗排練的正確性,導演會隨機抽取某個序號的演員,查詢其在第幾個方陣的第幾行第幾列,以及其編碼。例如序號19的演員在第1個方陣的第3行第2列,編碼是A19。(1)按題中所給的例子,增加一個序號為40的演員,則其編碼為________。(2)區間分割,依次記錄每個區間的人數,以及每個區間第1個人的編號。defcut():size =[]x = int(n ** 0.5) + 1for m in range(x,0,- 1):while n >= m * m:①_______size+=[m]q=len(size)id=[0]*q;val=[0]*qid[0]=0;val[0]=a[0]for i in range(1,q):id[i]=②val[i]=a[id[i]]請完成劃線部分的代碼。(3)查詢:查找演員的序號所在的方陣,若返回值為-1表示找不到Def search(key):left=0;right=q- 1;while left <= right:mid=(left+right) ∥ 2if key == val[mid]:return midif key>val[mid]:left= mid + 1else:right=mid - 1return right按題目所給例子,執行該查找代碼,若函數返回結果為-1,則輸入的key值為________(填寫一個整數,表示演員的序號)。(4)主程序n=int(input(″請輸入演員的數量″))#抽取n個演員,編號存入a數組,代碼略sort() #調用排序函數,按演員序號升序排序cut() #調用分割函數key = int(input(″請輸入要查詢的演員序號″))pos = search(key)flag = Falseif pos!=-1:for i inrange(size[pos] * size[pos]):if a[id[pos]+i]== key:print(″編號為″+str(key)+″的演員在第″+str(pos+1)+″個方陣:″)print(I ∥ size[pos]+1,_______) #輸出行號和列號print(chr(pos+ord(″A″))+str(key))#輸出該演員的編碼flag = Truebreakif not flag:print(″該編號的演員不在排列名單中″)上述代碼中,劃線部分應填入代碼為????。非選擇題專項(五)13.(1)①m==2 ②check==True and d>lst[m-1]+flag或check==True and (d<1 or d>lst[m-1]+flag) ③return check (2)k1=k1+k1[::-1]解析 遍歷開始年份至結束年份,先創建一個對稱的日期,再調用函數去檢測這個日期是否合理。(1)①flag是否是閏年的標志,如果是其值為1,表示2月份加1天。因此還需加一個條件是否是2月份。②在check是真的前提下,檢查日期是否有效。③函數返回檢測的結果check。(3)將字符串k1反向后重新連接到新字符串k1后面。14.(1)C (2)AB (3)192.168.0.2:5000/readt(4)①dfg.狀態==2或dfg['狀態']==2 ②c+=1解析 (1)C選項是路由器的功能。(2)用戶查看溫濕度歷史數據的過程為:打開瀏覽器,向服務器發送請求,由于是互聯網用戶,接入互聯網需經過路由器和調制解調器。數據來自數據庫,因此不需經過智能終端和采感器。(3)查看實時溫濕度數據的路由為readt。(4)①溫度大于30且濕度小于50時,大棚環境處于異常狀態。每個監測時間點溫度、濕度如果異常,則該點的狀態值為1,若要同時異常,則狀態值相加為2。篩選出狀態異常的記錄。②若當前時間點有異常,進行記數,c的值增加1。15.(1)D40 (2)①n-=m*m ②id[i-1]+size[i-1]*size[i-1] (3)1 (4)i%size[pos]+1解析 (1)增加一個序號為40的演員,n值為22,分成4個方陣,元素的個數分別為16,4,1,1,排序后的編號依次為2,3,5,6,9,11,14,15,16,19,22,23,24,25,27,29,31,33,36,37,39,40,最后編號為 D40。(2)cnt函數確定每個方陣的大小和起始編號。①size列表存儲每個方陣的大小,在確定一個方陣后,從總數n中減去這個方陣的演員數量。②計算每個區間的第1個演員的編號。id[i]是第i個方陣的第一個演員在原始數組a的下標,a[id[i]]就是該區間的第一個演員的編號。第i個方陣的第一個演員的下標是前一個方陣最后一個演員的下標(即id[i-1])加上前一個方陣的大小(即size[i-1]*size[i-1])。(3)若函數返回值為-1,說明沒有找到演員的序號所在的方陣,一定是右邊界right,且返回時left=0,right=-1,則查找的演員序號應小于第一個演員的編號2,則輸入的key值為1。(4)i是演員在方陣中的相對序號,例如在計算序號19的演員的行號和列號時,i=9。該演員所在行號是i∥size[pos]+1=3,列號為i%size[pos]+1=2。(共20張PPT)非選擇題專項(五)第四部分 考前題型特訓二、非選擇題(本大題共3小題,其中第13題8分,第14題9分,第15題9分,共26分)13.小陳在學習歷史時,從公元1000年至今,發現有的日期特別的“優美”,如1010年01年01日,2021年12月02日,小陳把它們稱為“對稱日”。為了尋找指定年份中的“對稱日”,小陳編寫了如下的Python程序,程序運行結果如圖所示,請在劃線處填入合適的代碼。答案 (1)①m==2 ②check==True and d>lst[m-1]+flag或check==True and (d<1 or d>lst[m-1]+flag) ③return check (2)k1=k1+k1[::-1]解析 遍歷開始年份至結束年份,先創建一個對稱的日期,再調用函數去檢測這個日期是否合理。(1)①flag是否是閏年的標志,如果是其值為1,表示2月份加1天。因此還需加一個條件是否是2月份。②在check是真的前提下,檢查日期是否有效。③函數返回檢測的結果check。(3)將字符串k1反向后重新連接到新字符串k1后面。14.某蔬菜大棚需要搭建自動化溫濕度調節系統。該系統通過溫濕度傳感器采集數據,由智能終端經IoT模塊發送到Web服務器,存儲在數據庫中,同時根據服務器內設定的閾值控制噴水裝置或控溫裝置的開關,系統結構如圖a所示。用戶可通過瀏覽器打開相關網頁查看實時或歷史數據。請回答下列問題:圖a(1)該系統中IoT模塊無法實現的功能是 (單選,填字母:A.連接無線網絡/B.發送來自于智能終端的數據/C.將局域網接入互聯網)。(2)互聯網用戶查看溫濕度歷史數據這一過程中,沒有涉及到的系統硬件設備有 (多選,填字母:A.溫濕度傳感器/B.智能終端/C.無線路由器/D.調制解調器/E.Web服務器)(3)該系統服務器端程序由Flask Web框架編寫,下列表格中描述了相關路由及其功能,已知用戶計算機IP為“192.168.0.3”,Web服務器IP為“192.168.0.2”,端口號為5000,則用戶使用計算機查看實時溫濕度數據時,應訪問的URL是http:∥___________________________________________________________________。序號 路由 功能1 / 訪問系統首頁2 /readh 查看歷史溫濕度數據3 /readt 查看實時溫濕度數據(4)已知溫度大于30且濕度小于50時,大棚環境處于異常狀態。現將系統中某天24小時的溫濕度記錄導出,如圖b所示(時間格式為“時:分”),每小時設置60個監測時間點,每個監測時間點會監測大棚的溫度與濕度數據,現分析每小時大棚環境異常的監測時間點數量,線形圖如圖c所示,部分Python程序如下,請在程序中劃線處填入合適的代碼。答案 (1)C (2)AB (3)192.168.0.2:5000/readt (4)①dfg.狀態==2或dfg['狀態']==2 ②c+=1解析 (1)C選項是路由器的功能。(2)用戶查看溫濕度歷史數據的過程為:打開瀏覽器,向服務器發送請求,由于是互聯網用戶,接入互聯網需經過路由器和調制解調器。數據來自數據庫,因此不需經過智能終端和采感器。(3)查看實時溫濕度數據的路由為readt。(4)①溫度大于30且濕度小于50時,大棚環境處于異常狀態。每個監測時間點溫度、濕度如果異常,則該點的狀態值為1,若要同時異常,則狀態值相加為2。篩選出狀態異常的記錄。②若當前時間點有異常,進行記數,c的值增加1。15.某大型活動慶典排練中,有10000名演員參加方陣演出的訓練,每個演員的序號依次編號為1到10000,經過淘汰篩選后,剩下n名演員參加最后的表演。入場時導演指揮所有演員按序號升序排序,入場后分化成若干個方陣。方陣的分化方式為:(1)按序號順序將演員分割成若干個區間,每個區間有m×m個演員,m最大值為100,最小值為1。每次分化時按盡可能大的區間進行分割;(2)對每個分割出的區間按先行后列的順序依次分化成m×m的方陣;(3)依次給各個方陣分配不同的顏色的演出服,同一方陣內的顏色相同,各個方陣的衣服顏色按方陣從大到小的順序,依次用大寫字母“A”到“Z”表示。(4)給每個演員編制新的編號,編號方法為在其原序號前加上表示顏色的字母。例如n=21時,可依次分化成3個方陣,元素的個數分別為16(4×4)、4(2×2)、1(1×1),排序后的編號依次為2,3,5,6,9,11,14,15,16,19,22,23,24,25,27,29,31,33,36,37,39,則分化成的如圖所示的3個方陣:為檢驗排練的正確性,導演會隨機抽取某個序號的演員,查詢其在第幾個方陣的第幾行第幾列,以及其編碼。例如序號19的演員在第1個方陣的第3行第2列,編碼是A19。答案 (1)D40 (2)①n-=m * m ②id[i-1]+size[i-1]* size[i-1](3)1(4)i%size[pos]+1解析 (1)增加一個序號為40的演員,n值為22,分成4個方陣,元素的個數分別為16,4,1,1,排序后的編號依次為2,3,5,6,9,11,14,15,16,19,22,23,24,25,27,29,31,33,36,37,39,40,最后編號為D40。(2)cnt函數確定每個方陣的大小和起始編號。①size列表存儲每個方陣的大小,在確定一個方陣后,從總數n中減去這個方陣的演員數量。②計算每個區間的第1個演員的編號。id[i]是第i個方陣的第一個演員在原始數組a的下標, a[id[i]]?就是該區間的第一個演員的編號。第i個方陣的第一個演員的下標是前一個方陣最后一個演員的下標(即id[i-1])加上前一個方陣的大小(即size[i-1]* size[i-1])。(3)若函數返回值為-1,說明沒有找到演員的序號所在的方陣,一定是右邊界right,且返回時left=0,right=-1,則查找的演員序號應小于第一個演員的編號2,則輸入的key值為1。(4)i是演員在方陣中的相對序號,例如在計算序號19的演員的行號和列號時,i=9。該演員所在行號是i∥size[pos]+1=3,列號為i%size[pos]+1=2。 展開更多...... 收起↑ 資源列表 非選擇題專項(五).pptx 非選擇題專項(五)(含解析).docx 縮略圖、資源來源于二一教育資源庫