資源簡(jiǎn)介 2023年高三基礎(chǔ)檢測(cè)技術(shù)試題卷(2023.9)考生須知:本試題卷分信息技術(shù)與通用技術(shù)兩部分。滿分100分,考試時(shí)間90分鐘。1.考生答題前,務(wù)必將自己的姓名、準(zhǔn)考證號(hào)用黑色字跡的簽字筆或鋼筆填寫在答題紙上。2.選擇題的答案須用2B鉛筆將答題紙上對(duì)應(yīng)題目的答案標(biāo)號(hào)涂黑,如要改動(dòng),須將原填涂處用橡皮擦凈。3.非選擇題的答案須用黑色字跡的簽字筆或鋼筆寫在答題紙上相應(yīng)區(qū)域內(nèi),作圖時(shí)可先使用2B鉛筆,確定后須用黑色字跡的簽字筆或鋼筆描黑,答案寫在本試題卷上無效。第一部分 信息技術(shù)(共50分)一、選擇題(本大題共12小題,每小題2分,共24分。每小題列出的四個(gè)備選項(xiàng)中,只有一個(gè)是符合題目要求的,不選、多選、錯(cuò)選均不得分)1. 下列關(guān)于數(shù)據(jù)、信息和知識(shí)的說法,正確的是( )A. 數(shù)據(jù)即數(shù)字B. 人類在搜索引擎的幫助下就可以擁有海量的知識(shí)C. 人們?cè)诶脭?shù)據(jù)的同時(shí),自身的行為不會(huì)產(chǎn)生數(shù)據(jù)D. 人們接收同樣的信息后,建構(gòu)的知識(shí)也是有區(qū)別的【答案】D【解析】【詳解】本題考查的是數(shù)據(jù)、信息和知識(shí)。信息是加工了的數(shù)據(jù),數(shù)據(jù)是記錄客觀事物的、可鑒別的符號(hào)。數(shù)據(jù)常見類型有文字、圖像、聲音、視頻等,故選項(xiàng)A說法錯(cuò)誤;知識(shí)是符合文明方向的,人類對(duì)物質(zhì)世界以及精神世界探索的結(jié)果總和,故選項(xiàng)B說法錯(cuò)誤;人們?cè)诶脭?shù)據(jù)的同時(shí),自身的行為也會(huì)產(chǎn)生數(shù)據(jù),故選項(xiàng)C說法錯(cuò)誤;人們接收同樣的信息后,建構(gòu)的知識(shí)也是有區(qū)別的,選項(xiàng)D說法正確。故本題應(yīng)選D。2. 考生入場(chǎng)時(shí),經(jīng)安檢門時(shí)對(duì)手機(jī)等電子設(shè)備進(jìn)行檢查并截留,監(jiān)考教師用金屬探測(cè)儀對(duì)學(xué)生再次進(jìn)行檢查,身份識(shí)別儀采集身份證與人臉信息進(jìn)行驗(yàn)證,無誤后方可入場(chǎng)考試。上述描述中,體現(xiàn)人工智能技術(shù)的是( )A. 識(shí)別儀對(duì)考生進(jìn)行人臉識(shí)別B. 監(jiān)考教師用金屬探測(cè)儀進(jìn)行檢查C. 安檢門處對(duì)手機(jī)等電子設(shè)備的檢測(cè)和截留D. 身份識(shí)別儀讀卡處讀取身份證信息【答案】A【解析】【詳解】本題考查的是人工智能應(yīng)用。人工智能領(lǐng)域的研究包括機(jī)器人、語言識(shí)別、圖像識(shí)別、自然語言處理和專家系統(tǒng)等。識(shí)別儀對(duì)考生進(jìn)行人臉識(shí)別應(yīng)用了模式識(shí)別。故本題應(yīng)選A。3. 閱讀下列材料,回答下面小題。智慧家居報(bào)警系統(tǒng)由報(bào)警主機(jī)和各種探測(cè)器組成。探測(cè)器包括門磁、窗磁、煤氣探測(cè)器、煙感探測(cè)器、紅外探頭等。若有特定情況便會(huì)觸發(fā)相應(yīng)的探測(cè)器,家庭報(bào)警主機(jī)會(huì)立即觸發(fā)警鈴,并將相關(guān)數(shù)據(jù)傳送至小區(qū)管理中心,同時(shí)小區(qū)管理中心的報(bào)警主機(jī)將會(huì)記錄下這些信息,并發(fā)送到用戶指定的電話,以備查閱。下列關(guān)于該系統(tǒng)的組成及應(yīng)用說法正確的是( )A. 該系統(tǒng)運(yùn)行不需要軟件支持B. 該系統(tǒng)的用戶是指各家庭成員C. 該系統(tǒng)可以不借助通信網(wǎng)絡(luò)獨(dú)立運(yùn)行D. 該系統(tǒng)具備數(shù)據(jù)采集、處理和查詢等功能【答案】D【解析】【詳解】本題考查智能家居相關(guān)內(nèi)容。智慧家居報(bào)警系統(tǒng)由軟件、硬件等組成,系統(tǒng)的運(yùn)行離不開軟件,A選項(xiàng)錯(cuò)誤;該系統(tǒng)用戶除了家庭外,還有小區(qū)管理中心,B選項(xiàng)錯(cuò)誤;數(shù)據(jù)的采集、傳送離不開通信網(wǎng)絡(luò)的支持,C錯(cuò)誤;故本題答案為D選項(xiàng)。4. 閱讀下列材料,回答下面小題。智慧家居報(bào)警系統(tǒng)由報(bào)警主機(jī)和各種探測(cè)器組成。探測(cè)器包括門磁、窗磁、煤氣探測(cè)器、煙感探測(cè)器、紅外探頭等。若有特定情況便會(huì)觸發(fā)相應(yīng)的探測(cè)器,家庭報(bào)警主機(jī)會(huì)立即觸發(fā)警鈴,并將相關(guān)數(shù)據(jù)傳送至小區(qū)管理中心,同時(shí)小區(qū)管理中心的報(bào)警主機(jī)將會(huì)記錄下這些信息,并發(fā)送到用戶指定的電話,以備查閱。下列關(guān)于該系統(tǒng)安全和防護(hù)說法正確的是( )A. 登錄系統(tǒng)時(shí)的身份驗(yàn)證可提升系統(tǒng)安全性B. 該系統(tǒng)只是在有人非法入侵時(shí)會(huì)發(fā)出警報(bào)C. 該系統(tǒng)安裝防火墻后,不存在信息泄露風(fēng)險(xiǎn)D. 用戶登錄認(rèn)證最適合采用USB Key認(rèn)證技術(shù)【答案】A【解析】【詳解】本題考查智慧家居相關(guān)知識(shí)點(diǎn)。登錄系統(tǒng)時(shí)的身份驗(yàn)證可提升系統(tǒng)安全性;該系統(tǒng)在有人非法入侵時(shí)會(huì)發(fā)出警報(bào),在其他情況下也會(huì)發(fā)出警報(bào),如檢測(cè)到煤氣泄露等;該系統(tǒng)安裝防火墻后,仍會(huì)存在信息泄露風(fēng)險(xiǎn);用戶登錄認(rèn)證最適合采用密碼認(rèn)證技術(shù)。故本題答案為A選項(xiàng)5. 閱讀下列材料,回答下面小題。智慧家居報(bào)警系統(tǒng)由報(bào)警主機(jī)和各種探測(cè)器組成。探測(cè)器包括門磁、窗磁、煤氣探測(cè)器、煙感探測(cè)器、紅外探頭等。若有特定情況便會(huì)觸發(fā)相應(yīng)的探測(cè)器,家庭報(bào)警主機(jī)會(huì)立即觸發(fā)警鈴,并將相關(guān)數(shù)據(jù)傳送至小區(qū)管理中心,同時(shí)小區(qū)管理中心的報(bào)警主機(jī)將會(huì)記錄下這些信息,并發(fā)送到用戶指定的電話,以備查閱。關(guān)于該系統(tǒng)的硬件作用,下列說法不正確的是( )A. 紅外探頭主要是防止非法入侵B. 煙感探測(cè)器采用了人工智能技術(shù)C. 該系統(tǒng)中家庭報(bào)警主機(jī)承擔(dān)控制器的功能D. 煤氣探測(cè)器安裝廚房,可以通過無線網(wǎng)絡(luò)進(jìn)行通信【答案】B【解析】【詳解】本題考查的是物聯(lián)網(wǎng)應(yīng)用。煙霧探測(cè)器就是通過監(jiān)測(cè)煙霧的濃度來實(shí)現(xiàn)火災(zāi)防范的,煙霧探測(cè)器內(nèi)部采用離子式煙霧傳感,離子式煙霧傳感器是一種技術(shù)先進(jìn),工作穩(wěn)定可靠的傳感器,被廣泛運(yùn)用到各種消防報(bào)警系統(tǒng)中,性能遠(yuǎn)優(yōu)于氣敏電阻類的火災(zāi)報(bào)警器。故本題應(yīng)選B。6. 下列關(guān)于網(wǎng)絡(luò)組成與構(gòu)建的說法中,正確的是( )A. 智能家居設(shè)備一般通過有線方式聯(lián)網(wǎng)B. 常見的網(wǎng)絡(luò)互聯(lián)設(shè)備主要包括調(diào)制解調(diào)器、路由器和交換機(jī)等C. 不同網(wǎng)絡(luò)之間一般采用HTTP協(xié)議互聯(lián)D. 計(jì)算機(jī)網(wǎng)絡(luò)分為局域網(wǎng)、廣域網(wǎng)與廣播電視網(wǎng)【答案】B【解析】【詳解】本題考查網(wǎng)絡(luò)技術(shù)相關(guān)知識(shí)。A選項(xiàng),智能家居設(shè)備一般通過無線、藍(lán)牙、紅外連接,故A錯(cuò)誤;B選項(xiàng),常見的網(wǎng)絡(luò)互聯(lián)設(shè)備主要包括調(diào)制解調(diào)器、路由器和交換機(jī)等,故B正確;C選項(xiàng),不同網(wǎng)絡(luò)之間一般采用TCP/IP協(xié)議互聯(lián),故C錯(cuò)誤;D選項(xiàng),計(jì)算機(jī)網(wǎng)絡(luò)分為局域網(wǎng)、城域網(wǎng)與廣域網(wǎng),故D錯(cuò)誤。本題正確答案為B選項(xiàng)。7. 某算法的流程圖如下圖所示,關(guān)于該算法下列說法正確的是( )圖1A. 執(zhí)行這部分流程后,變量i的值為7B. k的值為1*2*3*4*5*6*7的結(jié)果C. 該流程圖是雙重循環(huán)結(jié)構(gòu)D. 將“i≤x/2”改成“i【答案】D【解析】【詳解】本題考查算法表示相關(guān)內(nèi)容。A選項(xiàng),在執(zhí)行完流程后,i的值變?yōu)?,A錯(cuò)誤;B選項(xiàng),k的值為1*2*7,結(jié)果為14,B錯(cuò)誤;C選項(xiàng),通過觀察流程圖,可知該流程圖為單循環(huán)結(jié)構(gòu),C錯(cuò)誤;D選項(xiàng),將將“i≤x/2”改成“i”后,輸出k的值變?yōu)?,D正確。故本題答案為D選項(xiàng)。8. 下列Python表達(dá)式運(yùn)算結(jié)果為True的是( )A. 3 ** 2 < 8 and 2 % 5 > 1B. 25 // 4 > 4 and 3 / 2 < 1C. not 7 < 8 or 9 > 6 + 2D. not (2 ** 3 < 9 or 6 % 4 < 2)【答案】C【解析】【詳解】本題考查算術(shù)、關(guān)系、邏輯運(yùn)算符的綜合應(yīng)用。A選項(xiàng),3 ** 2<8 結(jié)果為False,2 % 5 > 1結(jié)果為True,F(xiàn)alse and True結(jié)果為False,A選項(xiàng)錯(cuò)誤;B選項(xiàng),25 // 4 > 4結(jié)果為True,3 / 2 < 1結(jié)果為False,F(xiàn)alse and True結(jié)果為False,B選項(xiàng)錯(cuò)誤;C選項(xiàng),not 7 < 8 結(jié)果為Falsee,9 > 6 + 2結(jié)果為Truese,F(xiàn)alse or True結(jié)果為True,C選項(xiàng)正確;D選項(xiàng),25 // 4 > 4結(jié)果為True,3 / 2 < 1結(jié)果為False,F(xiàn)alse and True結(jié)果為False,D選項(xiàng)錯(cuò)誤;故本題答案為C選項(xiàng)。9. 有如下Python程序段:s= " A-b2c" ;ch= " "list=[4,3,1,5,2]for i in range(len(s) ) :if "A"<=s[i]<="Z":ch=ch+chr(ord(s[i])+list[i] )elif "a"<=s[i] <="z":ch=ch+chr(ord(s[i])-list[i])else:ch=s[i]+chprint(ch)該程序運(yùn)行后,輸出的結(jié)果是( )A. 2-Eaa B. 2-ECE C. E-c2e D. E-a2b【答案】A【解析】【詳解】本題考查Python程序設(shè)計(jì)相關(guān)內(nèi)容。該代碼段執(zhí)行過程:將字符串s與列表相關(guān)數(shù)值進(jìn)行運(yùn)算,若s中第i個(gè)字符為大寫字母,則將其對(duì)應(yīng)的ASCII 數(shù)值與列表第i個(gè)元素相加求和,再轉(zhuǎn)換成字符型;若第i個(gè)字符為小寫字母,則將其對(duì)應(yīng)的ASCII 數(shù)值與列表第i個(gè)元素相減求差,再轉(zhuǎn)換成字符型;其余字符不變,逆序拼接到字符ch中。即字符A、b、c分別變?yōu)镋、a、a,字符-、2拼接順序是2、-,因此得到結(jié)果是2-Eaa,故本題答案為A。10. 下面有關(guān)數(shù)據(jù)結(jié)構(gòu)的說法不正確的是( )A. 在程序設(shè)計(jì)中,數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)時(shí)主要考慮對(duì)象之間邏輯關(guān)系的實(shí)現(xiàn)B. 鏈表結(jié)構(gòu)適用于初始規(guī)模確定但在處理過程中頻繁進(jìn)行插入、刪除操作的數(shù)據(jù)C. 數(shù)組結(jié)構(gòu)中采用下標(biāo)訪問數(shù)據(jù),訪問效率要高于鏈表結(jié)構(gòu)D. 大多數(shù)軟件中都有“撤銷”功能,實(shí)現(xiàn)此功能應(yīng)采用隊(duì)列結(jié)構(gòu)【答案】D【解析】【詳解】本題考查的是數(shù)據(jù)結(jié)構(gòu)。隊(duì)列先進(jìn)先出,棧先進(jìn)后出,故大多數(shù)軟件中都有“撤銷”功能,實(shí)現(xiàn)此功能應(yīng)采用棧結(jié)構(gòu)。故本題應(yīng)選D。11. 長(zhǎng)度為5的循環(huán)隊(duì)列que,que[0] 至que[4]的值依次為'a','b','c','d','e',執(zhí)行如下程序段后,輸出的最后一個(gè)字符為n=5head = 0tail= 4que=['a','b','c','d','e']while head!=tail:if head%4==0:print(que[head] )else:tail=(tail+1) %nque[tail] =que[head]head=(head+1)%nprint(que[head])A. b B. c C. d D. e【答案】B【解析】【詳解】本題考查循環(huán)隊(duì)列的基本操作。分析代碼段得知:head在0、4時(shí)輸出que[head],head在1、2、3時(shí),tail會(huì)發(fā)生移動(dòng),que會(huì)循環(huán)左移。經(jīng)過多輪操作后,其輸出序列是'a'、'e'、'b'、'd、'c'。輸出的最后一個(gè)字符是'c'。本題正確答案為B。12. 待入棧的序列a有多種出棧序列,以下函數(shù)用于判斷序列b是否是a的出棧序列,代碼如下:python 12.py [2,5,4,3,1]是[1,2,3,4,5]的出棧序列 python 12.py [5,2,3,1,4]不是[1,2,3,4,5]的出棧序列圖2def judge(a,b):n=len(a);st=[-1] *ntop=-1;i=j= 0while itop+=1①i+=1while top>-1 and ② :top-=1j+=1return top==-1from random import shufflea=[1,2,3,4,5]b=[1,2,3,4,5]shuffle(b) #將序列b的元素隨機(jī)排序if judge(a,b):print(b,'是',a,'的出棧序列')else:print(b,'不是',a,'的出棧序列')程序運(yùn)行結(jié)果如第12題圖所示。劃線處應(yīng)填寫的語句是A. ①st[top]=a[i] ②st[top]==b[j] B. ①st[top]=a[i] ②st[-1]==b[j]C. ①st[top]=b[i] ②st[top]=a[j] D. ①st[top]=b[i] ②st[-1]==a[j]【答案】A【解析】【詳解】本題考查棧的相關(guān)知識(shí)。根據(jù)題干、代碼段可以得出:序列b進(jìn)行隨機(jī)排序,a序列借助順序棧st進(jìn)行入棧、出棧操作,過程中,將出棧元素與隨機(jī)排序后的序列b進(jìn)行對(duì)比,若對(duì)應(yīng)兩個(gè)元素相等,則輸出b序列是a的出棧序列,否則輸出b序列不是a的出棧序列。故①處操作應(yīng)該是對(duì)a序列元素入棧,即st[top]=a[i],②處是判斷棧頂元素與b序列對(duì)應(yīng)位置元素是否相等,即st[top]==b[j]。正確答案是A選項(xiàng)。二、非選擇題(本大題共3小題,其中第13小題8分,第14小題9分,第15小題9分,共26分)13. 小李設(shè)計(jì)了一個(gè)會(huì)員管理系統(tǒng),用戶通過瀏覽器在相應(yīng)頁面可進(jìn)行會(huì)員注冊(cè)、在線充值、線上查詢消費(fèi)記錄等操作。該系統(tǒng)服務(wù)器端程序采用Flask Web框架編寫,框架結(jié)構(gòu)如圖a所示。圖a其中會(huì)員注冊(cè)子頁面如圖b所示。存儲(chǔ)會(huì)員信息的users表中共3個(gè)字段,依次保存序號(hào)、用戶名和密碼,如圖c所示。會(huì)員注冊(cè)時(shí)需滿足以下條件:①用戶名不重復(fù);②密碼長(zhǎng)度大于5。服務(wù)器端部分代碼如下。圖b圖cfrom flask import Flask,render_template,requestimport sqlite 3def check(name,pwd):conn=sqlite 3.connect("account.db")cur=conn.cursor()cur.execute("select*from users where name='%s' '' %val=cur.fetch all()flag=Trueif len(val)== 0 and ① :sql="insert into users(name,password)values('%s','%s')''%(name,pwd)cur. execute(sql)conn. commit()else:flag=Falsecur. close()conn. close()return flagapp=Flask(__name__)@app. route("/reg")def reg():name=request.args.get("xm")pwd=request.args.get("psd")if ② :return "注冊(cè)成功! "else:return "請(qǐng)重新注冊(cè)!"#其它代碼略if __name__=="__main__":app. run(host="192.168.1.10",port=80,debug=True)(1)在搭建“會(huì)員管理系統(tǒng)”的前期準(zhǔn)備過程中,選定系統(tǒng)物理配置的過程屬于___________(單選,填字母:A.需求分析/B.概要設(shè)計(jì)/C.詳細(xì)設(shè)計(jì))。(2)該系統(tǒng)網(wǎng)絡(luò)應(yīng)用軟件實(shí)現(xiàn)架構(gòu)是__________(單選,填字母:A.B/S架構(gòu)/ B.C/S架構(gòu))。(3)分析程序可知,該系統(tǒng)中存儲(chǔ)會(huì)員用戶名和密碼數(shù)據(jù)的數(shù)據(jù)庫文件名為__________。(4)分析程序,①處應(yīng)填寫的代碼為__________,②處應(yīng)填寫的代碼為__________。(5)下列關(guān)于該信息系統(tǒng)的描述正確的是__________(多選,填字母)。A服務(wù)器采用GET方式接收用戶名和密碼數(shù)據(jù)B.程序代碼中debug=True語句的作用是打開調(diào)試功能,在實(shí)際的網(wǎng)站應(yīng)用環(huán)境中,也可以打開該功能,方便調(diào)試程序。C.注冊(cè)新會(huì)員時(shí),用戶名為admin03,密碼為123abc,提交數(shù)據(jù)到Web服務(wù)器的URL為http://192.168.1.10/check xm=admin03&psd=123abcD.對(duì)users表中的密碼進(jìn)行加密, 可以提高該信息系統(tǒng)的安全性【答案】 ①. B ②. A ③. account.db ④. len(pwd)>5 ⑤. check(name,pwd)或check(name,pwd)==True ⑥. AD【解析】【詳解】本題考查的是Flask Web框架應(yīng)用。(1)概要設(shè)計(jì)是一個(gè)設(shè)計(jì)師根據(jù)用戶交互過程和用戶需求來形成交互框架和視覺框架的過程,其結(jié)果往往以反映交互控件布置、界面元素分組以及界面整體板式的頁面框架圖的形式來呈現(xiàn)。在搭建“會(huì)員管理系統(tǒng)”的前期準(zhǔn)備過程中,選定系統(tǒng)物理配置的過程屬于概要設(shè)計(jì)。(2)通過網(wǎng)頁來訪問,故該系統(tǒng)網(wǎng)絡(luò)應(yīng)用軟件的實(shí)現(xiàn)架構(gòu)是B/S架構(gòu),選A。(3)由代碼conn=sqlite 3.connect("account.db")可知該系統(tǒng)中存儲(chǔ)會(huì)員用戶名和密碼數(shù)據(jù)的數(shù)據(jù)庫文件名為account.db。(4)會(huì)員注冊(cè)時(shí)需滿足以下條件:①用戶名不重復(fù);②密碼長(zhǎng)度大于5,故①處代碼為:len(pwd)>5;由代碼return "注冊(cè)成功! ",可知②處為:check(name,pwd)或check(name,pwd)==True。(5)程序代碼中debug=True語句的作用是打開調(diào)試功能,在實(shí)際的網(wǎng)站應(yīng)用環(huán)境中,不要打開該功能,故選項(xiàng)B說法錯(cuò)誤;注冊(cè)新會(huì)員時(shí),用戶名為admin03,密碼為123abc,提交數(shù)據(jù)到Web服務(wù)器的URL為http://192.168.1.10:80/check xm=admin03&psd=123abc,故選項(xiàng)C說法錯(cuò)誤。本題應(yīng)選AD。14. 某地高中的技術(shù)選考數(shù)據(jù),保存在“jsxk.xls”文件中,如圖a所示。圖a 圖b請(qǐng)回答下列問題:(1)統(tǒng)計(jì)各學(xué)校技術(shù)選考人數(shù)占本校總?cè)藬?shù)的比例,找出占比最高的前5所學(xué)校并繪制柱形圖,如圖b所示。部分Python程序如下,請(qǐng)?jiān)趧澗€處填寫合適的代碼。import pandas a spdimport matplotlib.py plot as plt#圖表支持中文字體顯示,代碼略df=pd.read_excel("jsx k.xls",dtype={'學(xué)校代碼':'string'}) #學(xué)校代碼列為字符串df1=df. groupby("____",as_index=False)0.count() #按學(xué)校統(tǒng)計(jì)人數(shù)df 1=df1. rename(columns={'姓名':'學(xué)生總數(shù)'}) #重命名列df1['技術(shù)比例'] =round(____/df1['學(xué)生總數(shù)']*100,2)dfl=dfl. sort_values('技術(shù)比例',ascending=False).head(5)plt.title('技術(shù)選考比例前5的學(xué)校')plt.bar(____)plt. show()(2)在本問題的解決中,為了探究函數(shù)groupby(),某同學(xué)編寫了自定義函數(shù)zdygroupby(),其功能為統(tǒng)計(jì)各校技術(shù)選考總?cè)藬?shù),并以字典的形式返回。函數(shù)代碼如下,請(qǐng)?jiān)趧澗€處填寫合適的代碼。(注:代碼中1st為二維列表,列表中每個(gè)元素包含3個(gè)數(shù)據(jù)項(xiàng),格式如[['201901','顧筱揚(yáng)',NaN],['201901','俞凱睿',1.0],['201901',陳丹祺',1.0]……])def zdygroupby(1st):dic={}for row in lst:if row[2] ==1:if____:dic[row[0] ] = 1else:dic[row[0] ] += 1____【答案】 ①. 學(xué)校代碼 ②. df1[‘技術(shù)’] ③. df1.學(xué)校代碼,df1.技術(shù)比例 ④. row[0] not in dic或not row[0] in dic ⑤. return dic【解析】【詳解】本題考查Python程序綜合應(yīng)用。①處要求按學(xué)校統(tǒng)計(jì)人數(shù),分析圖表,可以得出,學(xué)校是以學(xué)校代碼進(jìn)行區(qū)分的,故此處填寫:學(xué)校代碼;②處需要統(tǒng)計(jì)技術(shù)比例,可以用技術(shù)選考人數(shù)/學(xué)生總數(shù)去計(jì)算比例,故此處填寫:df1[‘技術(shù)’];③處要根據(jù)技術(shù)比例生成柱狀圖,故此處填寫df1.學(xué)校代碼,df1.技術(shù)比例;④處需要判斷數(shù)據(jù)是否在字典中,故此處填寫not row[0] in dic;⑤處需要返回字典,故此處填寫return dic。15. 最短路徑問題。以m*n個(gè)邊長(zhǎng)為1的正方形組成的矩形,各頂點(diǎn)按行優(yōu)先從0開始編號(hào),如圖a所示為3*2的矩形及頂點(diǎn)編號(hào)。從頂點(diǎn)x(起點(diǎn))經(jīng)由各正方形的邊移動(dòng)到頂點(diǎn)y(終點(diǎn))有多種移動(dòng)路徑,編程求解所有的最短路徑。圖a 圖b(1)分析問題,將矩形轉(zhuǎn)換為計(jì)算機(jī)可處理的數(shù)據(jù)。可采用列表存儲(chǔ)矩形中各頂點(diǎn)的相鄰關(guān)系,如圖b所示。編寫函數(shù)init,根據(jù)橫向和縱向的正方形數(shù)量,返回所有頂點(diǎn)及其所有的相鄰頂點(diǎn)數(shù)據(jù)。完善程序,在劃線處填入合適的代碼。def init(m,n):tot=(m+1)*(n+1) #頂點(diǎn)總數(shù)1st=[[ ] for i in range(tot)]for i in range(tot):if i > m:1st[i].append(i-m-1)if i<(m+1)*n:1st[i] .append(i+m+1)if i%(m+1)!=0:1st[i].append(i-1)if i%(m+1)!=m:____return lst(2)分析問題,查找所有從起點(diǎn)到終點(diǎn)的最短路徑。例如:査找從起點(diǎn)1到終點(diǎn)10的所有最短路徑,可先查找終點(diǎn)10的所有相鄰頂點(diǎn)(6,9,11),然后再逐個(gè)查找頂點(diǎn)6、9、11的相鄰頂點(diǎn),直到查找到起點(diǎn)1,獲得所有最短路徑,如圖c所示,共有3條長(zhǎng)度為3的最短路徑,分別為1→2→6→10,1→5→6→10,1→5→9→10。若從起點(diǎn)4到終點(diǎn)11,共有____條最短路徑。圖c(3)分析問題,存儲(chǔ)查詢到的路徑。可采用鏈表結(jié)構(gòu)保存路徑數(shù)據(jù),例如:查找從起點(diǎn)1到終點(diǎn)10的所有最短路徑,首先將終點(diǎn)10的數(shù)據(jù)[10,0,-1]保存在path[0]中,然后將其相鄰頂點(diǎn)6、9、11的數(shù)據(jù)保存到path中,path[i] [0]保存頂點(diǎn)的編號(hào),path[i] [1]保存當(dāng)前頂點(diǎn)到終點(diǎn)的距離,path[i] [2]保存下一頂點(diǎn)在path中的位置,其值為-1表示當(dāng)前頂點(diǎn)為終點(diǎn)。編寫函數(shù)print_path,輸出所有最短路徑。完善程序,在劃線處填入合適的代碼。def print_path(x,path,length):#x為起點(diǎn)編號(hào),length為Path中有效元素個(gè)數(shù)。cnt=0for i in range(length):if path[i] [0] =x:cnt+= 1s="最短路徑"+str(cnt)+":"v=path[i]while____s=s+str(v[0])+","v=path[v[2]]s=s+str(v[0])+"。"print(s)(4)實(shí)現(xiàn)上述功能的Python程序如下,運(yùn)行結(jié)果如圖d所示。請(qǐng)?jiān)趧澗€處填入合適的代碼。請(qǐng)輸入起點(diǎn):0 請(qǐng)輸入終點(diǎn):10 最短路徑1:0,1,2,6,10。 最短路徑2:0,1,5,6,10。 最短路徑3:0,4,5,6,10。 最短路徑4:0,1,5,9,10。 最短路徑5:0,4,5,9,10 最短路徑6:0,4,8,9,10。圖dm=3 #橫向正方形數(shù)量n=2 #縱向正方形數(shù)量mtx=in it(m, n)x=int(input("請(qǐng)輸入起點(diǎn):"))y=int(input("請(qǐng)輸入終點(diǎn):"))path=[[] for i in range(999)]passed=[False] *len(mtx) #保存頂點(diǎn)是否已途經(jīng)____dis= 0head = 0tail= 0path[tail] =[y, 0, -1]tail+= 1passed[y] =Truewhile not found:dis+= 1pass_dis=[False] *len(mtx)tmp=tailfor i in range(head,tail):v=path[i]for d in mtx[v[0] ] :if not passed[d] :path[tail] =____tail+= 1pass_dis[d] =Trueif d==x:found=Truehead=tmpfor i in range(len(mtx)): #標(biāo)記已途經(jīng)的頂點(diǎn)if____passed[i] =True#輸出結(jié)果print_path(x,path,tail)【答案】 ①. 1st[i].append(i+1) ②. 3③. v[2]!=-1或v[2]>=0 ④. found=False ⑤. [d,dis,i] ⑥. pass_dis[i]或pass_dis[i]==True【解析】【詳解】本題考查Python應(yīng)用。(1)在矩形中,如果一個(gè)頂點(diǎn)不在最后一列(不在矩形的右側(cè)邊),那么它可以向右移動(dòng)到相鄰的頂點(diǎn)。因此,我們需要將這個(gè)相鄰的頂點(diǎn)添加到1st[i]中。具體來說,當(dāng) i % (m+1) != m 時(shí),表示該頂點(diǎn)不在矩形的最右列,因此可以向右移動(dòng),所以我們將 i+1(右側(cè)的頂點(diǎn))添加到1st[i]中,以表示這兩個(gè)頂點(diǎn)之間的相鄰關(guān)系。這是為了構(gòu)建一個(gè)圖,其中每個(gè)頂點(diǎn)與其右側(cè)的頂點(diǎn)相鄰。故答案為:1st[i].append(i+1)。(2)我們需要查找從起點(diǎn)到終點(diǎn)的所有最短路徑。首先,我們要找到終點(diǎn)的所有相鄰頂點(diǎn),然后逐個(gè)查找這些相鄰頂點(diǎn)的相鄰頂點(diǎn),以此類推,直到查找到起點(diǎn)。這個(gè)過程將找到從起點(diǎn)到終點(diǎn)的所有路徑。通過逐步查找所有可能的路徑而得出的結(jié)果。在這種情況下,從起點(diǎn)4到終點(diǎn)11的最短路徑有3條,即為4→5→6→10→11、4→5→9→10→11、4→8→9→10→11。這些路徑可以是從4到11經(jīng)過不同的頂點(diǎn)組合,但它們都是最短路徑,因?yàn)樗鼈兊拈L(zhǎng)度是相同的。故答案為:3。(3)v[2] != -1 表示當(dāng)前頂點(diǎn)不是終點(diǎn),也就是說它還有下一個(gè)相鄰頂點(diǎn)。另外, v[2] >= 0 表示下一個(gè)頂點(diǎn)在路徑列表 path 中的位置是有效的。在這個(gè)問題中,我們要輸出所有的最短路徑。我們使用一個(gè)鏈表結(jié)構(gòu) path 來保存路徑數(shù)據(jù)。路徑中的每個(gè)元素都包含三個(gè)值:頂點(diǎn)的編號(hào)、當(dāng)前頂點(diǎn)到終點(diǎn)的距離、下一個(gè)頂點(diǎn)在路徑中的位置。我們需要遍歷 path,找到所有從起點(diǎn)到終點(diǎn)的最短路徑。當(dāng) v[2] 不等于 -1 且大于等于 0 時(shí),表示還有下一個(gè)相鄰頂點(diǎn),因此我們可以繼續(xù)沿著路徑前進(jìn),輸出路徑上的各個(gè)頂點(diǎn)。故答案為:v[2]!=-1或v[2]>=0。(4)在此處,我們?cè)O(shè)置 found 變量為 False,表示尚未找到最短路徑。這是在初始化的時(shí)候使用的,故答案為:found=False。找到的新頂點(diǎn)的信息,包括新的頂點(diǎn)的編號(hào) d、當(dāng)前路徑的距離 dis(當(dāng)前距離等于上一個(gè)頂點(diǎn)的距離加1,因此 dis 會(huì)增加),以及 i 表示新的頂點(diǎn)在 path 中的位置。故答案為:[d,dis,i]。pass_dis[i] 或 pass_dis[i] == True 表示標(biāo)記 pass_dis 中的 i 為已途經(jīng),即這個(gè)頂點(diǎn)已經(jīng)被加入到路徑中。這是為了確保不重復(fù)加入相同的頂點(diǎn)到路徑中。這個(gè)條件在遍歷相鄰頂點(diǎn)時(shí)使用,防止將同一個(gè)頂點(diǎn)多次加入路徑。故答案為:pass_dis[i]或pass_dis[i]==True。2023年高三基礎(chǔ)檢測(cè)技術(shù)試題卷(2023.9)考生須知:本試題卷分信息技術(shù)與通用技術(shù)兩部分。滿分100分,考試時(shí)間90分鐘。1.考生答題前,務(wù)必將自己的姓名、準(zhǔn)考證號(hào)用黑色字跡的簽字筆或鋼筆填寫在答題紙上。2.選擇題的答案須用2B鉛筆將答題紙上對(duì)應(yīng)題目的答案標(biāo)號(hào)涂黑,如要改動(dòng),須將原填涂處用橡皮擦凈。3.非選擇題的答案須用黑色字跡的簽字筆或鋼筆寫在答題紙上相應(yīng)區(qū)域內(nèi),作圖時(shí)可先使用2B鉛筆,確定后須用黑色字跡的簽字筆或鋼筆描黑,答案寫在本試題卷上無效。第一部分 信息技術(shù)(共50分)一、選擇題(本大題共12小題,每小題2分,共24分。每小題列出的四個(gè)備選項(xiàng)中,只有一個(gè)是符合題目要求的,不選、多選、錯(cuò)選均不得分)1. 下列關(guān)于數(shù)據(jù)、信息和知識(shí)的說法,正確的是( )A 數(shù)據(jù)即數(shù)字B. 人類在搜索引擎的幫助下就可以擁有海量的知識(shí)C. 人們?cè)诶脭?shù)據(jù)的同時(shí),自身的行為不會(huì)產(chǎn)生數(shù)據(jù)D. 人們接收同樣的信息后,建構(gòu)的知識(shí)也是有區(qū)別的2. 考生入場(chǎng)時(shí),經(jīng)安檢門時(shí)對(duì)手機(jī)等電子設(shè)備進(jìn)行檢查并截留,監(jiān)考教師用金屬探測(cè)儀對(duì)學(xué)生再次進(jìn)行檢查,身份識(shí)別儀采集身份證與人臉信息進(jìn)行驗(yàn)證,無誤后方可入場(chǎng)考試。上述描述中,體現(xiàn)人工智能技術(shù)的是( )A. 識(shí)別儀對(duì)考生進(jìn)行人臉識(shí)別B. 監(jiān)考教師用金屬探測(cè)儀進(jìn)行檢查C. 安檢門處對(duì)手機(jī)等電子設(shè)備的檢測(cè)和截留D. 身份識(shí)別儀讀卡處讀取身份證信息3. 閱讀下列材料,回答下面小題。智慧家居報(bào)警系統(tǒng)由報(bào)警主機(jī)和各種探測(cè)器組成。探測(cè)器包括門磁、窗磁、煤氣探測(cè)器、煙感探測(cè)器、紅外探頭等。若有特定情況便會(huì)觸發(fā)相應(yīng)的探測(cè)器,家庭報(bào)警主機(jī)會(huì)立即觸發(fā)警鈴,并將相關(guān)數(shù)據(jù)傳送至小區(qū)管理中心,同時(shí)小區(qū)管理中心的報(bào)警主機(jī)將會(huì)記錄下這些信息,并發(fā)送到用戶指定的電話,以備查閱。下列關(guān)于該系統(tǒng)的組成及應(yīng)用說法正確的是( )A. 該系統(tǒng)運(yùn)行不需要軟件支持B. 該系統(tǒng)的用戶是指各家庭成員C. 該系統(tǒng)可以不借助通信網(wǎng)絡(luò)獨(dú)立運(yùn)行D. 該系統(tǒng)具備數(shù)據(jù)采集、處理和查詢等功能4. 閱讀下列材料,回答下面小題。智慧家居報(bào)警系統(tǒng)由報(bào)警主機(jī)和各種探測(cè)器組成。探測(cè)器包括門磁、窗磁、煤氣探測(cè)器、煙感探測(cè)器、紅外探頭等。若有特定情況便會(huì)觸發(fā)相應(yīng)的探測(cè)器,家庭報(bào)警主機(jī)會(huì)立即觸發(fā)警鈴,并將相關(guān)數(shù)據(jù)傳送至小區(qū)管理中心,同時(shí)小區(qū)管理中心的報(bào)警主機(jī)將會(huì)記錄下這些信息,并發(fā)送到用戶指定的電話,以備查閱。下列關(guān)于該系統(tǒng)安全和防護(hù)說法正確的是( )A. 登錄系統(tǒng)時(shí)的身份驗(yàn)證可提升系統(tǒng)安全性B. 該系統(tǒng)只是在有人非法入侵時(shí)會(huì)發(fā)出警報(bào)C. 該系統(tǒng)安裝防火墻后,不存在信息泄露風(fēng)險(xiǎn)D. 用戶登錄認(rèn)證最適合采用USB Key認(rèn)證技術(shù)5. 閱讀下列材料,回答下面小題。智慧家居報(bào)警系統(tǒng)由報(bào)警主機(jī)和各種探測(cè)器組成。探測(cè)器包括門磁、窗磁、煤氣探測(cè)器、煙感探測(cè)器、紅外探頭等。若有特定情況便會(huì)觸發(fā)相應(yīng)的探測(cè)器,家庭報(bào)警主機(jī)會(huì)立即觸發(fā)警鈴,并將相關(guān)數(shù)據(jù)傳送至小區(qū)管理中心,同時(shí)小區(qū)管理中心的報(bào)警主機(jī)將會(huì)記錄下這些信息,并發(fā)送到用戶指定的電話,以備查閱。關(guān)于該系統(tǒng)的硬件作用,下列說法不正確的是( )A. 紅外探頭主要是防止非法入侵B. 煙感探測(cè)器采用了人工智能技術(shù)C. 該系統(tǒng)中家庭報(bào)警主機(jī)承擔(dān)控制器的功能D. 煤氣探測(cè)器安裝在廚房,可以通過無線網(wǎng)絡(luò)進(jìn)行通信6. 下列關(guān)于網(wǎng)絡(luò)組成與構(gòu)建的說法中,正確的是( )A. 智能家居設(shè)備一般通過有線方式聯(lián)網(wǎng)B. 常見的網(wǎng)絡(luò)互聯(lián)設(shè)備主要包括調(diào)制解調(diào)器、路由器和交換機(jī)等C. 不同網(wǎng)絡(luò)之間一般采用HTTP協(xié)議互聯(lián)D. 計(jì)算機(jī)網(wǎng)絡(luò)分為局域網(wǎng)、廣域網(wǎng)與廣播電視網(wǎng)7. 某算法的流程圖如下圖所示,關(guān)于該算法下列說法正確的是( )圖1A. 執(zhí)行這部分流程后,變量i的值為7B. k的值為1*2*3*4*5*6*7的結(jié)果C. 該流程圖是雙重循環(huán)結(jié)構(gòu)D. 將“i≤x/2”改成“i8. 下列Python表達(dá)式運(yùn)算結(jié)果為True的是( )A. 3 ** 2 < 8 and 2 % 5 > 1B. 25 // 4 > 4 and 3 / 2 < 1C. not 7 < 8 or 9 > 6 + 2D not (2 ** 3 < 9 or 6 % 4 < 2)9. 有如下Python程序段:s= " A-b2c" ;ch= " "list=[4,3,1,5,2]for i in range(len(s) ) :if "A"<=s[i]<="Z":ch=ch+chr(ord(s[i])+list[i] )elif "a"<=s[i] <="z":ch=ch+chr(ord(s[i])-list[i])else:ch=s[i]+chprint(ch)該程序運(yùn)行后,輸出的結(jié)果是( )A. 2-Eaa B. 2-ECE C. E-c2e D. E-a2b10. 下面有關(guān)數(shù)據(jù)結(jié)構(gòu)的說法不正確的是( )A. 在程序設(shè)計(jì)中,數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)時(shí)主要考慮對(duì)象之間邏輯關(guān)系的實(shí)現(xiàn)B. 鏈表結(jié)構(gòu)適用于初始規(guī)模確定但在處理過程中頻繁進(jìn)行插入、刪除操作的數(shù)據(jù)C. 數(shù)組結(jié)構(gòu)中采用下標(biāo)訪問數(shù)據(jù),訪問效率要高于鏈表結(jié)構(gòu)D. 大多數(shù)軟件中都有“撤銷”功能,實(shí)現(xiàn)此功能應(yīng)采用隊(duì)列結(jié)構(gòu)11. 長(zhǎng)度為5的循環(huán)隊(duì)列que,que[0] 至que[4]的值依次為'a','b','c','d','e',執(zhí)行如下程序段后,輸出的最后一個(gè)字符為n=5head = 0tail= 4que=['a','b','c','d','e']while head!=tail:if head%4==0:print(que[head] )else:tail=(tail+1) %nque[tail] =que[head]head=(head+1)%nprint(que[head])A. b B. c C. d D. e12. 待入棧的序列a有多種出棧序列,以下函數(shù)用于判斷序列b是否是a的出棧序列,代碼如下:python 12.py [2,5,4,3,1]是[1,2,3,4,5]的出棧序列 python 12.py [5,2,3,1,4]不是[1,2,3,4,5]的出棧序列圖2def judge(a,b):n=len(a);st=[-1] *ntop=-1;i=j= 0while itop+=1①i+=1while top>-1 and ② :top-=1j+=1return top==-1from random import shufflea=[1,2,3,4,5]b=[1,2,3,4,5]shuffle(b) #將序列b的元素隨機(jī)排序if judge(a,b):print(b,'是',a,'的出棧序列')else:print(b,'不是',a,'的出棧序列')程序運(yùn)行結(jié)果如第12題圖所示。劃線處應(yīng)填寫的語句是A. ①st[top]=a[i] ②st[top]==b[j] B. ①st[top]=a[i] ②st[-1]==b[j]C. ①st[top]=b[i] ②st[top]=a[j] D. ①st[top]=b[i] ②st[-1]==a[j]二、非選擇題(本大題共3小題,其中第13小題8分,第14小題9分,第15小題9分,共26分)13. 小李設(shè)計(jì)了一個(gè)會(huì)員管理系統(tǒng),用戶通過瀏覽器在相應(yīng)頁面可進(jìn)行會(huì)員注冊(cè)、在線充值、線上查詢消費(fèi)記錄等操作。該系統(tǒng)服務(wù)器端程序采用Flask Web框架編寫,框架結(jié)構(gòu)如圖a所示。圖a其中會(huì)員注冊(cè)子頁面如圖b所示。存儲(chǔ)會(huì)員信息的users表中共3個(gè)字段,依次保存序號(hào)、用戶名和密碼,如圖c所示。會(huì)員注冊(cè)時(shí)需滿足以下條件:①用戶名不重復(fù);②密碼長(zhǎng)度大于5。服務(wù)器端部分代碼如下。圖b圖cfrom flask import Flask,render_template,requestimport sqlite 3def check(name,pwd):conn=sqlite 3.connect("account.db")cur=conn.cursor()cur.execute("select*from users where name='%s' '' %val=cur.fetch all()flag=Trueif len(val)== 0 and ① :sql="insert into users(name,password)values('%s','%s')''%(name,pwd)cur. execute(sql)conn. commit()else:flag=Falsecur. close()conn. close()return flagapp=Flask(__name__)@app. route("/reg")def reg():name=request.args.get("xm")pwd=requestargs.get("psd")if ② :return "注冊(cè)成功! "else:return "請(qǐng)重新注冊(cè)!"#其它代碼略if __name__=="__main__":app. run(host="192.168.1.10",port=80,debug=True)(1)在搭建“會(huì)員管理系統(tǒng)”的前期準(zhǔn)備過程中,選定系統(tǒng)物理配置的過程屬于___________(單選,填字母:A.需求分析/B.概要設(shè)計(jì)/C.詳細(xì)設(shè)計(jì))。(2)該系統(tǒng)網(wǎng)絡(luò)應(yīng)用軟件的實(shí)現(xiàn)架構(gòu)是__________(單選,填字母:A.B/S架構(gòu)/ B.C/S架構(gòu))。(3)分析程序可知,該系統(tǒng)中存儲(chǔ)會(huì)員用戶名和密碼數(shù)據(jù)的數(shù)據(jù)庫文件名為__________。(4)分析程序,①處應(yīng)填寫的代碼為__________,②處應(yīng)填寫的代碼為__________。(5)下列關(guān)于該信息系統(tǒng)的描述正確的是__________(多選,填字母)。A.服務(wù)器采用GET方式接收用戶名和密碼數(shù)據(jù)B.程序代碼中debug=True語句的作用是打開調(diào)試功能,在實(shí)際的網(wǎng)站應(yīng)用環(huán)境中,也可以打開該功能,方便調(diào)試程序。C.注冊(cè)新會(huì)員時(shí),用戶名為admin03,密碼為123abc,提交數(shù)據(jù)到Web服務(wù)器的URL為http://192.168.1.10/check xm=admin03&psd=123abcD.對(duì)users表中的密碼進(jìn)行加密, 可以提高該信息系統(tǒng)的安全性14. 某地高中的技術(shù)選考數(shù)據(jù),保存在“jsxk.xls”文件中,如圖a所示。圖a 圖b請(qǐng)回答下列問題:(1)統(tǒng)計(jì)各學(xué)校技術(shù)選考人數(shù)占本校總?cè)藬?shù)的比例,找出占比最高的前5所學(xué)校并繪制柱形圖,如圖b所示。部分Python程序如下,請(qǐng)?jiān)趧澗€處填寫合適的代碼。import pandas a spdimport matplotlib.py plot as plt#圖表支持中文字體顯示,代碼略df=pd.read_excel("jsx k.xls",dtype={'學(xué)校代碼':'string'}) #學(xué)校代碼列為字符串df1=df. groupby("____",as_index=False)0.count() #按學(xué)校統(tǒng)計(jì)人數(shù)df 1=df1. rename(columns={'姓名':'學(xué)生總數(shù)'}) #重命名列df1['技術(shù)比例'] =round(____/df1['學(xué)生總數(shù)']*100,2)dfl=dfl. sort_values('技術(shù)比例',ascending=False).head(5)plt.title('技術(shù)選考比例前5的學(xué)校')plt.bar(____)plt show()(2)在本問題解決中,為了探究函數(shù)groupby(),某同學(xué)編寫了自定義函數(shù)zdygroupby(),其功能為統(tǒng)計(jì)各校技術(shù)選考總?cè)藬?shù),并以字典的形式返回。函數(shù)代碼如下,請(qǐng)?jiān)趧澗€處填寫合適的代碼。(注:代碼中1st為二維列表,列表中每個(gè)元素包含3個(gè)數(shù)據(jù)項(xiàng),格式如[['201901','顧筱揚(yáng)',NaN],['201901','俞凱睿',1.0],['201901',陳丹祺',1.0]……])def zdygroupby(1st):dic={}for row in lst:if row[2] ==1:if____:dic[row[0] ] = 1else:dic[row[0] ] += 1____15. 最短路徑問題。以m*n個(gè)邊長(zhǎng)為1的正方形組成的矩形,各頂點(diǎn)按行優(yōu)先從0開始編號(hào),如圖a所示為3*2的矩形及頂點(diǎn)編號(hào)。從頂點(diǎn)x(起點(diǎn))經(jīng)由各正方形的邊移動(dòng)到頂點(diǎn)y(終點(diǎn))有多種移動(dòng)路徑,編程求解所有的最短路徑。圖a 圖b(1)分析問題,將矩形轉(zhuǎn)換為計(jì)算機(jī)可處理的數(shù)據(jù)。可采用列表存儲(chǔ)矩形中各頂點(diǎn)的相鄰關(guān)系,如圖b所示。編寫函數(shù)init,根據(jù)橫向和縱向的正方形數(shù)量,返回所有頂點(diǎn)及其所有的相鄰頂點(diǎn)數(shù)據(jù)。完善程序,在劃線處填入合適的代碼。def init(m,n):tot=(m+1)*(n+1) #頂點(diǎn)總數(shù)1st=[[ ] for i in range(tot)]for i in range(tot):if i > m:1st[i].append(i-m-1)if i<(m+1)*n:1st[i] .append(i+m+1)if i%(m+1)!=0:1st[i].append(i-1)if i%(m+1)!=m:____return lst(2)分析問題,查找所有從起點(diǎn)到終點(diǎn)的最短路徑。例如:査找從起點(diǎn)1到終點(diǎn)10的所有最短路徑,可先查找終點(diǎn)10的所有相鄰頂點(diǎn)(6,9,11),然后再逐個(gè)查找頂點(diǎn)6、9、11的相鄰頂點(diǎn),直到查找到起點(diǎn)1,獲得所有最短路徑,如圖c所示,共有3條長(zhǎng)度為3的最短路徑,分別為1→2→6→10,1→5→6→10,1→5→9→10。若從起點(diǎn)4到終點(diǎn)11,共有____條最短路徑。圖c(3)分析問題,存儲(chǔ)查詢到的路徑。可采用鏈表結(jié)構(gòu)保存路徑數(shù)據(jù),例如:查找從起點(diǎn)1到終點(diǎn)10的所有最短路徑,首先將終點(diǎn)10的數(shù)據(jù)[10,0,-1]保存在path[0]中,然后將其相鄰頂點(diǎn)6、9、11的數(shù)據(jù)保存到path中,path[i] [0]保存頂點(diǎn)的編號(hào),path[i] [1]保存當(dāng)前頂點(diǎn)到終點(diǎn)的距離,path[i] [2]保存下一頂點(diǎn)在path中的位置,其值為-1表示當(dāng)前頂點(diǎn)為終點(diǎn)。編寫函數(shù)print_path,輸出所有的最短路徑。完善程序,在劃線處填入合適的代碼。def print_path(x,path,length):#x為起點(diǎn)編號(hào),length為Path中有效元素個(gè)數(shù)。cnt=0for i in range(length):if path[i] [0] =x:cnt+= 1s="最短路徑"+str(cnt)+":"v=path[i]while____s=s+str(v[0])+","v=path[v[2]]s=s+str(v[0])+"。"print(s)(4)實(shí)現(xiàn)上述功能的Python程序如下,運(yùn)行結(jié)果如圖d所示。請(qǐng)?jiān)趧澗€處填入合適的代碼。請(qǐng)輸入起點(diǎn):0 請(qǐng)輸入終點(diǎn):10 最短路徑1:0,1,2,6,10。 最短路徑2:0,1,5,6,10。 最短路徑3:0,4,5,6,10。 最短路徑4:0,1,5,9,10。 最短路徑5:0,4,5,9,10。 最短路徑6:0,4,8,9,10。圖dm=3 #橫向正方形數(shù)量n=2 #縱向正方形數(shù)量mtx=in it(m, n)x=int(input("請(qǐng)輸入起點(diǎn):"))y=int(input("請(qǐng)輸入終點(diǎn):"))path=[[] for i in range(999)]passed=[False] *len(mtx) #保存頂點(diǎn)是否已途經(jīng)____dis= 0head = 0tail= 0path[tail] =[y, 0, -1]tail+= 1passed[y] =Truewhile not found:dis+= 1pass_dis=[False] *len(mtx)tmp=tailfor i in range(head,tail):v=path[i]for d in mtx[v[0] ] :if not passed[d] :path[tail] =____tail+= 1pass_dis[d] =Trueif d==x:found=Truehead=tmpfor i in range(len(mtx)): #標(biāo)記已途經(jīng)的頂點(diǎn)if____passed[i] =True#輸出結(jié)果print_path(x,path,tail) 展開更多...... 收起↑ 資源列表 浙江省嘉興市2023-2024學(xué)年高三9月基礎(chǔ)測(cè)試技術(shù)試題 Word版含解析.docx 浙江省嘉興市2023-2024學(xué)年高三9月基礎(chǔ)測(cè)試技術(shù)試題 Word版無答案.docx 縮略圖、資源來源于二一教育資源庫