資源簡介 金華十校 2023 年 4 月高三模擬考試技術試題第一部分 信息技術(共 50 分)一、選擇題(本大題共 12小題,每小題 2分,共 24分,每小題列出的四個備選項中只有一個是符合題目要求的,不選、錯選、多選均不得分)1.關于數據與大數據的說法,正確的是A.人類對于數據的利用不需要依賴載體B.數據具有價值,且價值不會發生變化的C.能用傳統算法和數據庫系統處理的海量數據不能算“大數據”D.電商平臺的“個性化推薦”是基于大數據精確分析了用戶購買商品的原因【答案】C【解析】本題考查數據和大數據的相關知識。A、B數據是對客觀事物的符號表示,單純的數據是沒有意義的,信息才具有價值性,但信息的價值是相對的,對于不同的人群、不同的時間,其價值可能有所不同。C.數據量大并不一定就是大數據,用傳統算法和數據庫系統可以處理的海量數據不能算“大數據”D.大數據不再追求精確性,也不一定強調對事物因果關系的探求2.下列關于人工智能的說法,不.正.確.的是A.深度學習是需要人工構造知識庫的人工智能方法B.強化學習是問題引導下的人工智能學習方法C.符號主義人工智能需要構建知識庫和推理引擎,需要對知識進行精確編碼D.跨領域人工智能依賴已有數據和規則,舉一反三、觸類旁通,開展深度推理【答案】A【解析】本題考查人工智能的相關知識。需要人工構造知識庫的人工智能方法是符號主義人工智能閱讀以下材料,回答第 3-5題。某智能家居系統——美居,是基于鴻蒙的全場景智能家居操作軟件。各種智能家居設備連接到美居系統后,家庭成員都可以在手機、平板、電腦上使用“美居 APP”登錄美居系統,遠程實現“查詢家中空調檢測到實時溫度、遠程控制各類家居設備”等多種功能。3.下列關于該信息系統的說法,正確的是A.“美居 APP”可控制家中智能設備屬于系統軟件B.該系統中的用戶包括“美居 APP”的開發人員C.該系統的硬件設備是指安裝有美居 APP的手機D.該系統的運行對外部環境不存在任何依賴【答案】B金華十校高三模擬考(信息技術) 第 1頁 共 14頁【解析】本題考查信息系統的相關知識A.“美居 APP”是應用軟件B.信息系統中的用戶范圍很廣,包括開發人員C.信息系統的硬件包括計算機硬件、移動終端硬件和通信網絡硬件D.信息系統的運行需要借助各類硬件,對外部環境的依賴是其最大的局限性4.下列關于該系統中數據與數據傳輸的說法,正確的是A.該系統用于“智能家居操控”,系統本身無需數據存儲功能B.用戶使用手機“美居 APP”控制智能家居,所有數據都將保存在手機上C.系統要實現“手機查詢家中的實時溫度”,可使用傳感器獲取環境溫度D.用戶在手機上用“美居 APP”的控制家居設備,數據傳輸過程無需連接因特網【答案】C【解析】本題考查信息系統中數據的獲取、傳輸、存儲的相關知識A.一個完整的信息系統需要具備數據存儲功能B.在信息系統中,數據一般存儲在數據庫里C.信息系統通過傳感器從外部世界采集信息D.信息系統需要借助網絡,實現遠程協作5.為了提升智能家居系統的安全性,下列說法正確的是A.在該系統中為所有的用戶設置相同的訪問控制權限B.建議用戶將密碼設置成由“數字、大小寫字母和特殊符號”組成的強密碼C.在家人外出時,關閉家里的計算機網絡,可確保系統的穩定運行D.該系統可以用指紋識別登錄系統,這是一種常用的訪問控制策略【答案】B【解析】本題考查信息系統安全的相關知識A.為所有的用戶設置相同的訪問控制權限對信息系統的安全是不利的B.組成密碼的字符種類多,密碼強度大C.關閉網絡,信息系統將無法運行D.利用指紋識別登錄是依靠生物特征識別的身份認證技術6.下列關于網絡系統的說法,正確的是A.將局域網接入互聯網時,必須用交換機將私有地址轉化為公有地址B.路由器開啟 DHCP服務后,局域網中的設備聯網可自動獲取 IP地址C.網絡由數據通信系統、網絡軟件、網絡協議三部分組成D.手機可以直接鏈接無線網絡,所以無線網絡傳輸數據不需要傳輸介質【答案】B【解析】本題考查網絡的相關知識。金華十校高三模擬考(信息技術) 第 2頁 共 14頁A.將局域網接入互聯網,必須通過路由器將局域網的私有地址轉化為公有地址B.動態主機配置協議 DHCP,主要作用是集中管理和分配 IP地址C.網絡是由計算機系統、數據通信系統、網絡軟件和網絡協議三部分組成D.無線網絡的傳輸介質是無線電微波信號、紅外信號等7.如第 7題圖所示的流程圖 a和 b的算法功能相同(x,y為不同的值),則圖 b中①②③處應填入的內容是A.①m=y-x ②xB.①m=x-y ②x>y ③m=y-xC.①m=y-x ②x>y ③m=y-xD.①m=x-y ②x【答案】D【解析】本題考查流程圖的相關知識圖 a和圖 b的功能相同,由圖 a知,該流程圖的功能是求變量 x和 y的差值的絕對值,因此可以先假設 x>y,則 m=x-y,如果 x8.下列 Python 表達式用于表示“一棵 n(n≥3,n為奇數)個節點的二叉樹的葉子節點最大可能數量”,正確的是A.n-1 B.n//2 C.n//2+1 D.n/2【答案】C【解析】葉子節點個數 n0=分支為 2的節點個數 n2+1,又因二叉樹的總結點個數=葉子節點個數 n0+分支為 1的節點個數 n1+分支為 2的節點個數 n2;當一棵二叉樹分支為 1的節點個數 n1為 0時,葉子節點個數 n0達到最多。n0+0+n0-1=n,得到 n0=(n+1)//2,分支為 1的節點個數 n1為 0時,是滿二叉樹,總節點個數是奇數個,(n+1)//2等價于 n//2+1。9.下列關于線性表的描述,正確的是A.鏈表在訪問、插入、刪除節點操作時,算法效率比數組高B.棧是一種“先進先出,后進后出”的線性表結構C.循環隊列是首尾相連的隊列,數據入隊時無需考慮是否會“溢出”D.字符串是元素個數有限的線性表結構【答案】D【解析】鏈表在訪問時從頭節點開始遍歷,數組通過索引訪問,所以遍歷時鏈表相對數組要低。A選項錯誤;棧是一種先進后出,后進先出的線性表結構,B選項錯誤;循環隊列解決了數據入隊時的“假溢出”,對于真溢出情況是仍然存在的,C選項錯誤;D選項是正確的。10.有如下 Python程序:a=[0,20,23,23,24,24,31,48,49,73,75]key=int(input())金華十校高三模擬考(信息技術) 第 3頁 共 14頁c=0i,j=1,10while i<=j:m=(i+j)//2if a[m]<=key:i=m+1else:j=m-1c+=1print(c)若程序運行后,輸出的結果是 3,則輸入的 key可能是A.20 或 73 B.24 或 49 C.23 或 24 D.23 或 49【答案】B【解析】本題考查二分查找。注意點是原始查找范圍是閉區間【1,10】而不是【0,10】,同時當找到==key的值時仍要往右邊查找,結合二分查找判定樹如下,當 key=20、24、49時,查找的次數是 3,當 key=23、31、73時,查找的次數是 4。所以正確答案為 B。11.計算“字符串 s1 在字符串 s2 中出現的次數”,是常見的字符串匹配問題。如下 Python程序用于解決這一問題,程序運行效果如第 11題圖所示。s1=input()s2=input()n1,n2=len(s1),len(s2)c,i=0,0while (1) :for j in range(n1):if (2) :breakelse: 第 11題圖c+=1print("第",c,"個在",i)(3)i+=1print("共有個數:",c)上述程序段中方框處可選代碼為:①i<=n2-n1 ②i<=n1-n2 ③s1[i+j]!=s2[j]④s2[i+j]!=s1[j] ⑤i+=n1-1 ⑥i+=n1,則(1)(2)(3)處代碼依次為A.②③⑥ B.①③⑤ C.②④⑥ D.①④⑤【答案】D【解析】本題算法思想是查找 s2中的每段長度為 n1的子串,是否與 s1同。while語句的條件是枚舉 s2中每段的起點位置 i,有效范圍是 0~n2-n1。s2每一段子串從起點位置 i開始逐一與 s1的每個字符比較,比較 n1次,金華十校高三模擬考(信息技術) 第 4頁 共 14頁途中一旦有不同字符,則直接退出比較,選取下一段的起點 i+1;當全部比較結束都相同說明字符串 s1在字符串 s2中出現了,統計出現次數 c+=1;然后輸出且改變下一次比較的起點位置為 i+=n1,因為后面有語句i+=1,所以起點位置 i+=n1-1。所以 D選項正確。12.有如下 Python程序段:import randomq=["A","B","C","D","#"]head,tail=0,4s=[0]*5top=-1for i in range(5):t=random.randint(0,1) #隨機生成 0 或 1if t==0 and headtop+=1;s[top]=q[head]head+=1elif t==1 and top!=-1:s[top]=0;top-=1執行該程序后,s 的值不.可.能.的是A.['A', 'B', 'C', 'D', 0] B.['D', 0, 0, 0, 0]C.[0, 0, 0, 0, 0] D.['A', 'C', 'D', 0, 0]【答案】B【解析】本題考查循環語句結合數據結構隊列和棧的基本操作。A選項是:t依次產生 0,0,0,0,0時 q中隊列元素依次出隊入棧,最后 t=0且 head==tail時,沒有任何操作。C選項是:t依次產生 1,1,1,1,1時 q中隊列元素不出隊也不入棧,因為一開始棧為空。D選項是:t依次產生 0,0,1,0,0時'A'、 'B'先后入棧,然后'B'出棧,再 'C'、 'D'依次入棧。B選項不可能。要是棧中第一個元素是'D',那么前面'A', 'B', 'C'都已經入棧且出棧了,那么執行的次數已經超過 5次了,'D'不可能再進棧。二、非選擇題(本大題共 3 小題,其中第 13 小題 8分,第 14 小題 9 分,第 15 小題 9 分,共 26 分)13.小單設計并搭建了一個智能魚缸系統。此系統可以對照明時長、水溫、水位等數據進行監測與控制。小單搭建水位檢測功能時,采用水位傳感器實現低于預設水位時報警并自動加水,到達最高水位時停止加水的功能。系統支持遠程訪問,結構如第 13-1圖所示。第 13-1 圖(1)關于控制與反饋流程如第 13-2圖所示,①②③處填空正確的是 (單選,填字母)。金華十校高三模擬考(信息技術) 第 5頁 共 14頁第 13-2圖A.傳感器 控制器 執行器 B.控制器 執行器 傳感器C.傳感器 執行器 控制器 D.控制器 傳感器 執行器(2)根據本系統網絡應用的軟件架構,編寫程序時需要編寫 的程序(單選,填字母:A.服務器端/ B.客戶端/ C.服務器端與客戶端)。(3)用 Flask Web 框架編寫網頁實現“顯示水位”,路由和視圖函數如下所示,訪問該網頁的 URL是 。app=Flask(_name_)server=Server(host="172.168.0.1",port=80,threaded=True)@app.route('/show')def get():(4)魚缸正常水位范圍是 wmin~wmax,用 state=0,1,2分別表示水位正常、偏低和偏高,用程序實現根據當前水位 wl 設置相應的 state,符合要求的 。(多選,填字母。注:全部選對的得 2 分,選對但不全的得 1 分,不選或有選錯的得 0 分)A.if wl> wmax: B.if wl< wmin: C.state=0 D.if wlstate=2 state=1 if wlelif wl< wmin: if wl> wmax: state=1 else:state=1 state=2 if wl>wmax: if wl>wmax:else: else: state=2 state=2state=0 state=0 else:state=0(5)系統運行一段時間后,有一次發現水位到達 wmin 值時,系統沒有報警與自動加水。經檢查 WEB服務器能訪問數據庫,Wi-Fi 也正常,原因可能是 。(注:回答兩項,多答僅前兩項有效。全對 2 分,1 對 1 錯或僅有 1 項正確得 1 分)【答案】(1)B (1 分)(2)A (1 分)(3)http://172.168.0.1/show 或 http://172.168.0.1:80/show (2 分)(4)ACD (2 分)(5) ①水位傳感不能檢測水位高低 (水位傳感器故障) (2 分)②執行器故障,自動加水設備不受控制③智能終端損壞,數據不能正常處理與反饋④物聯網 IOT 模塊損壞,數據不能正常傳輸 或其它合理答案。注:回答兩項,多答僅前兩項有效。全對 2 分,1 對 1 錯或僅有 1 項正確得 1 分【解析】本題考察信息信息系統搭建(1)現實世界的數據通過傳感器傳入信息系統中,通過控制器對執行器發出相關指令,作用于受控對象。故①為控制器、②為執行器、③為傳感器,選 B。(2)由圖 13-1可知,該系統通過互聯網讓瀏覽器與服務器連接,采用的是 B/S架構,故僅需開發服務器端金華十校高三模擬考(信息技術) 第 6頁 共 14頁程序,故選 A選項。(3) 由程序代碼可知,服務器的 IP地址為:172.168.0.1,端口號為 80,路由為:/show,故該網頁的 URL為:http://172.168.0.1:80/show,由于 80端口是 http默認端口號,可以忽略不寫。(4)本題考察分支語句的使用,根據題干,水位 wl>wmax 時,state的值應為 2,wl應為 1,介于二者之間時應為 0,B選項只分出了 wl>wmax和 wl<=wmax 兩個范圍,故選 ACD。(5)系統能正常運行,檢查 WEB 服務器能訪問數據庫,Wi-Fi 也正常。只能從傳感器、執行器去考慮。①水位傳感不能檢測水位高低 (水位傳感器故障) (2 分)②執行器故障,自動加水設備不受控制③智能終端損壞,數據不能正常處理與反饋④物聯網 IOT 模塊損壞,數據不能正常傳輸 或其它合理答案。14.李老師收集了 2022 級學生“七選三”選課意愿數據,每個班的數據分別保存以’xk’+班級為命名的 xlsx文件中,如第 14-1圖所示,每個文件記錄了該班每位學生的選考科目選課情況,如第 14-2圖所示。第 14題圖 1 第 14題圖 2為統計分析全年級“七選三”選課意愿數據,編寫 Python 程序,請回答下列問題:(1)讀取各班 xlsx 文件,并合并到一個 DataFrame 對象。程序代碼如下,請在劃線處填入合適的代碼。def data(i):i=i+1if ① :t='0'+str(i)else:t=str(i)df_t=pd.read_excel('xk'+t+'.xlsx')return df_tn=12df=pd.DataFrame()for i in range(n):df=df.append( ② ,ignore_index=True) #在 df 末尾追加一個 DataFrame(2)統計“技術”選課人數占總人數的比例,并作出各個科目選課人數的柱形圖。km={'物理':0,'化學':0,'生物':0,'政治':0,'歷史':0,'地理':0,'技術':0}for i in range(len(df)):xk=df['選課'][i].split(',') #將'選課'字符串以逗號分割出來for j in xk:金華十校高三模擬考(信息技術) 第 7頁 共 14頁①print('選考技術占比: '+str(round( ② *100,2))+'%')df_km=pd.DataFrame({'科目':km.keys(),'人數':km.values()}) #轉換為 DataFrameplt.title('選考各科目人數對比圖')plt.bar( ③ ,df_km['人數'],label='各科目人數')plt.legend()plt.show()(3)分析第 14-3 圖可知,選課人數最多的三門科目是_____________。【答案】(1) ① i<10 或者 i<=9 或其他等價答案② data (i)(2) ① km[j]+=1 或其他等價答案② km[’技術’]/len(df) 或其他等價答案③ df_km['科目’] 或其他等價答案(3)物理、化學、地理 (不分順序)【解析】本題考查 pandas與 matplotlab模塊相關知識。(1)① 空在班號前補 0,觀察 14-1 圖的文件名,可知當 i值介于 1—9之間時需要補 0,可填:i<10或 i<=9。② 自定義函數 data的功能是:代入班號,生成班級文件名,用 pd_read將對應文件轉換為 dataframe 對象返回。②空填:data (i)。(2)①循環語句:for j in xk:遍歷學生所選學科,統計各科選課人數,以科目為鍵將結果存入字典 km,填km[j]+=1。②空統計技術選考人數占總人數的比例,而總人數可以通過 len(df)得到,故填:km[’技術’]/len(df)③觀察圖表 14-3圖,可知 x軸數據為科目,填:df_km['科目’]。(3)觀察圖表可知,選課人數最多的是物理、化學、地理。15.餐廳叫號系統是現代化餐廳常用的信息管理系統,小明設計了一款模擬餐廳叫號系統的程序。該程序在讀取當天就餐信息(數據格式如 15-1圖所示)后,可以模擬餐廳叫號的順序,并計算出當天所有客人的等待時間。餐廳共有 3種不同類型座位,數量分別是 30、10、10。客人到達餐廳后,若對應類型的座位有空位,則直接安排客人點餐;若對應類型的座位沒有空余,則需要排隊等待其他客人離開后才能安排點餐。小明將原始數據讀取后將時間格式“HH:MM”換算成分鐘,然后按分鐘數升序排列,再依次模擬餐廳叫號的過程,同時計算客人的等待時間,程序運行結果如第 15-2圖所示。第 15-1圖 第 15-2圖(1)“data.csv”中的原始數據需要進行換算和排序后才能進一步處理,讀取與排序的程序如下。a=[]金華十校高三模擬考(信息技術) 第 8頁 共 14頁def read_data(): #讀取數據并排序df=pd.read_csv("data.csv")for row in df.values: #逐行讀取數據到列表 rows=row[1] #將時間數據賦值到 sb,c=map(int,s.split(':')) #以“:”分割小時到 b,分鐘到 cs=b*60+c #將 b 小時、c 分鐘換算成 s 分鐘a.append([row[0],s,row[2]]) #a 追加一個元素[row[0],s,row[2]]n=len(a)for i in range(n-1):for j in range(n-1,i,-1):if a[j][1]a[j],a[j-1]=a[j-1],a[j]①若“data.csv”文件中有 10 條記錄,則上述程序中語句“if a[j][1]。(填數字)②若將上述程序中的語句“s=b*60+c”刪除,僅以第 15-1 圖可見的 6 條數據運行上述程序后,列表 a中元素依次為 。(2)實現模擬叫號程序并統計所有客人等待時間的部分 Python 程序如下,請在劃線處填入合適的代碼;read_data() #調用 read_data()函數完成數據讀取及排序n=len(a)b=[0,30,10,10] #初始 3 種類型的座位數分別是 30,10,10h=[]q=[]for i in range(4):h.append([-1,-1]) #h 末尾追加一個元素[-1,-1]c=0①for i in range(n):m=a[i][0]if a[i][2]=="OUT":b[m]+=1if h[m][0]!=-1:total+= ②h[m][0]=q[h[m][0]][2]b[m]-=1print("類別為",m,"的客人在",a[i][1],"分點餐")else:if b[m]>0:b[m]-=1print("類別為",m,"的客人在",a[i][1],"分點餐")金華十校高三模擬考(信息技術) 第 9頁 共 14頁else:q.append([m,a[i][1],-1])if h[m][0]==-1:h[m][0]=cif h[m][1]!=-1:③h[m][1]=cc+=1print("所有客人等待時間:",total,"分鐘")【答案】(1) ①45 (1分)②B (2分)(2) ①tota1=0 (2分)②a[i][1]-q[h[m][0]][1] (2分)③q[h[m][1]][2]=c (2分)【解析】本題考查冒泡排序、隊列的鏈表存儲和二維數組的應用。(1)①10 條記錄冒泡排序的比較次數為 10*(10-1)/2=45。②刪除“s=b*60+c”語句,s的值為字符串類型,按時間進行升序排列,比較的關鍵字是字符串。(2)程序的功能是用一個二維數組來模擬 3個隊列,分別存儲 3種不同類型客人的入隊和出隊情況。①tota1賦初值。最后輸出等待時 total分鐘,程序中進行 total+操作,因此需對該變量賦初值 0。②計算等待時間。從語句 q.append([m,a[i][1],-1])來看,q 是一個鏈表,存儲的每位客人的類型和到達餐廳的時間;從條件 ifh[m][0]!=-1 和語句 h[m][0]=q[h[m][0]][2](下一個客人的位置),h列表的第 1個值是隊首位置,第 2個值是隊尾位置。對每個客人進行遍歷,當前客人的等待時間是達到餐廳時間減去隊首出隊時間。③更新隊尾在鏈表的位置。語句 q.append([m,a[i][1],-1])表示在 q鏈表最后加入一個節點,c表示入隊的客人位置,因此需將上一個隊尾的客人指向新入隊的位置。金華十校高三模擬考(信息技術) 第 10頁 共 14頁 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫