資源簡介 登錄二一教育在線組卷平臺 助您教考全無憂浙江省臺州市八校 2021-2022學年高二下學期信息技術期末聯考試卷一、選擇題(本大題共12小題,每小題2分,共24分)1.(2022高二下·臺州期末)下列關于數據、信息和知識及大數據的說法正確的是( )A.信息的價值是相對的, 對于不同的人群、不同的時間, 其價值可能有所不同B.大數據改變的不僅是數據,還有人們的思維,大數據強調對事物因果關系的探求C.互聯網技術的發展,加速了數據的傳輸與處理, 計算機不再是數據處理的主要工具D.知識的獲得是人利用自身已有的知識對信息進行加工重構得到新知,知識就是對信息的積累2.(2022高二下·臺州期末)下列關于人工智能的說法不正確的是( )A.深度學習是聯結主義的典型代表B.圖靈測試是測試機器是否具有智能的一種方法C.依賴于領域知識和數據的人工智能稱為跨領域人工智能D.人工智能技術對經濟發展、社會進步都有巨大的推動作用(2022高二下·臺州期末)閱讀下列材料,回答下面小題。智能農業大棚通過傳感器、控制器、網絡設施和計算機程序來實現大棚的自動化管理。例如,自動溫度控制系統中的溫度傳感器每隔一定時間采集大棚中的溫度,一旦溫度超過預設的最高溫度40℃,控制系統會啟動通風和噴水系統實現降溫;如果溫度低于預設的最低溫度18℃,控制系統會啟動加熱器,給大棚升溫。3.關于信息系統下列說法正確的是( )A.信息系統本質上是一個工作系統, 信息系統無法處理復雜問題B.信息系統由五個關鍵要素組成,分別是硬件、軟件、數據、通信網絡和傳感器C.計算機硬件主要由運算器、控制器、存儲器、輸入設備和輸出設備五大部件組成D.安裝防火墻能夠防止黑客或病毒入侵系統, 因此無需再安裝防病毒軟件和系統丁4.用算法來解決上述問題,以下說法不正確的是( )A.可以通過抽象與建模、設計算法、描述算法三步來解決問題B.根據傳感器獲取的值, 需要進行不同的處理,這是通過控制轉移來實現的C.自動溫度控制系統進行溫度控制的算法只能使用流程圖來描述D.該智能農業大棚的網絡設施中可能需要無線路由器進行數據通訊5.(2022高二下·臺州期末)某網吧的網絡拓撲結構如下圖所示。該網絡中①②處的設備依次為( )A.路由器 交換機 B.交換機 路由器C.防火墻 交換機 D.防火墻 路由器6.(2022高二下·臺州期末)在日常幻燈片(如使用PowerPoint制作的講稿)的放映中,可以通過超鏈接的方式進行幻燈片之間的任意跳轉。與這種幻燈片的組織方式相似的數據結構是( )A.鏈表 B.隊列 C.棧 D.樹7.(2022高二下·臺州期末)在某餐廳點餐系統中,利用隊列來儲存當前正在排隊顧客的編號,head指向隊首元素,tail指向隊尾元素的下一個位置,若tail=head+3,則現在排隊的顧客數量為( )A.2 B.3 C.4 D.58.(2022高二下·臺州期末)下列 Python 表達式中值最小的是( )A.2**2+5%13//9 B.8//3*7/2C.len(range(7))/3 D.int("1"+"4")//abs(-7)9.(2022高二下·臺州期末)使用Python語言對SQLite數據庫進行操作,實現創建名為my.db的數據庫文件以及user表的語句如下。①import sqlite3;②conn.commit( );③c.execute(sql);④c.close( );⑤conn.close();⑥c = conn.cursor( );⑦conn = sqlite3.connect("my.db")⑧sql = "CREATE TABLE user(username TEXT,password TEXT)"語句執行的先后順序正確的是( )A.①⑦②⑧③④⑤⑥ B.①②⑦⑥⑧③④⑤C.①②⑦③⑥⑧④⑤ D.①⑦⑥⑧③②④⑤10.(2022高二下·臺州期末)某 Python 程序段如下:b = [[92,2],[98,4],[91,1],[88,0],[95,3]]head=0p=0while b[p][1]!=head:print(b[p][0],end=",")p=b[p][1]print(b[p][0])運行該程序段, 輸出的內容為( )A.88,91,92,95,98 B.98,95,88,92,91C.92,91,98,95,88 D.98,95,92,91,8811.(2022高二下·臺州期末)有如下 Python 程序段:c = "1/23//45///6"t = ""flag = Trues=0for i in range(len(c)):if c[i]=="/":if flag:s+=int(t)t=""flag = not flagelse:t+=c[i]執行上述程序段后,變量s的值是( )A.1 B.24 C.69 D.48012.(2022高二下·臺州期末)有如下 Python 程序段:import randoma = [8,6,1,3,2,9]k = random.randint(1,3)for i in range(k,k+2):if a[i]a[i],a[i-1]=a[i-1],a[i]執行該程序段后,a 對象的內容不可能是( )A.[6, 1, 8, 3, 2, 9] B.[8, 6, 1, 2, 3, 9]C.[8, 1, 3, 6, 2, 9] D.[6, 9, 1, 3, 2, 8]二、非選擇題(本大題共4小題,5+6+7+8,共26分)13.(2022高二下·臺州期末)小王要對這10篇作文隨機抽取1篇進行分詞處理,并進行頻率統計,在統計頻率時需要去除單個的文字,請回答下列各題。文章收集后存放目錄如圖a所示,生成的詞云如圖b所示。import import importpandas as pdos,jieba,re,random,wordcloudmatplotlib.pyplot as pltfrom PIL import Imagewzdir = "./2021 浙江高考滿分作文/"wz = os.listdir(wzdir) #獲得文件夾中所有文件的名稱列表wzrd = ①f=open(wzdir+wzrd[0],encoding="utf-8")dd=f.read ()f.close()#使用正則表達式去除文章中的標點符號ss = re.sub("[、,。:“”;?\n]","",dd)wb = jieba.lcut(ss,cut_all=True)word = {}for i in wb:t =i.strip()if len(t)>1:if t in word:word[t]+=1else:②wc = wordcloud.WordCloud(font_path="msyh.ttc", width=800, height=600) wc.background_color="white"wc.fit_words (word)img = wc.to_array()plt.rcParams['font.sans-serif']=['SimHei'] plt.figure()plt.imshow(img)plt.axis(False)plt.title(wzrd[0].split(".")[0])③#支持中文顯示(1)為實現上述功能①處代碼為A.random.sample(wz,1) B.random.shuffle(wz) C.random.randint(1,10)(2)請將②③處代碼補充完整② ③ 14.(2022高二下·臺州期末)小王開發基于Python的FlaskWeb框架開發室內光線強度監測信息系統,系統程序及相關的子系統都部署在Web服務器端,網站框架如圖所示。該系統的客戶端無需專門的應用程序,用戶工作界面通過瀏覽器來實現,應用程序基本上都集中于服務器端。(1)由上述材料可知,服務器端的IP地址為 ,該系統的實現架構屬于 (選填:C/S 架構、B/S架構)。(2)實現上述系統的服務器端Python程序如下:from flaskimport Flask, render_template,request#導入Flask庫函數app=Flask(_name_)@app.route("/")def index():#獲取采集的數據并存儲到列表變量data,代碼略returnrender_template("index.html",data= )@app.route("/ ",methods=["GET"]) #數據采集子頁面路由命令def get():id=int(request.args.get("id"))d=float( )#獲取 URL 中“id=1”后的數據“1”#變量 d 存儲采集到的光線數據#打開數據庫, 并將接收的數據存儲到數據庫中,代碼略return "數據存儲成功!"#其他系統子頁面路由, 代碼略if_name_=='_main_':app.run ( )15.(2022高二下·臺州期末)某數據壓縮方法描述如下:①原始數據中,某數不為0且相鄰無重復,壓縮數據用該數據表示;②原始數據中,某數為0且相鄰無重復,壓縮數據用兩個數表示,第1個為0,第2個為0;③原始數據中,某數據相鄰有重復,壓縮數據用3個數表示:第1個為0,第2個為重復數的個數,第3個為該數本身。根據上述壓縮方法,對應的解壓縮方法示例如圖所示。小明學習了Python的PIL、matplotlib和numpy等模塊知識后,現有圖像文件“臺州.bmp”,該文件的顏色模式為RGB,將該圖像文件的每個像素點轉換成灰度值(值為整數)后,使用上述壓縮方法進行壓縮并保存為文本文件。顏色RGB值轉灰度值的公式如下:灰度值=0.299×紅色顏色分量+0.587×綠色顏色分量+0.114×藍色顏色分量(1)如果壓縮數據為“23,0,21,66,0,0,77,0,5,0”,則解壓縮數據的個數是 。(2)實現上述功能的Python程序如下。請在劃線處填入合適代碼。from PIL importImageimport numpy asnpimport matplotlib.pyplotas pltimg =np.array(Image.open("臺州.bmp"))row,cols,rgb =img.shapes=[]for i inrange(row):for j inrange(cols):r,g,b =img[i,j]hdz = s.append(hdz)ss = []:j = 0whilejifs[j]!=s[j+1]:if s[j]!=0:ss.append(s[j])else:ss.extend( ) #extend 函數用于在列表末尾一次性追加另一個序列中的多個值j+=1else:c = s[j]for k inrange(j+1,len(s)) :if c!=s[k]:breakelse: ss.extend([0,k-j,s[j]])j=kif j!=len(s):ss.append(s[j])f = open("臺州255.txt","w+")f.write(",".join(map(str,ss)))f.close()16.(2022高二下·臺州期末)為四則運算式“6+(8-2)*2÷3”轉逆波蘭表達“682-2*3÷+”設計算法,編程實現。分析:在數學運算表達式中,運算符總是置于與之相關的兩個運算對象之間,在計算結果時,要考慮括號、運算符號的優先性。為了程序實現的方便,波蘭邏輯學家J.Lukasiewicz提出了另一種表示法,將運算符置于其運算對象之后,沒有括號,不用考慮運算符號的優先性。這種表達式稱為后綴表達式,又叫逆波蘭表達式。如表達式“682-2*3÷+”是四則運算式“6+(8-2)*2÷3”的逆波蘭表達式。為了處理方便, 規定表達式中的數均為小于 10 的正整數, 運算符為+ - * ÷。⑴抽象建模設計兩個棧bds、fh,棧bds用來存放表達式,棧fh用來暫時存放運算符。從左往右掃描四則運算式,遇到數字時,入棧bds;遇到運算符號時,根據運算符號的優先級設計進棧與出棧。四則運算式“6+(8-2)*2÷3”轉換規則的模擬過程如表1所示:表 1結合表1的操作過程,用棧bds和棧fh記錄每個操作后的棧內情況(見下圖),那么在操作2中棧fh里有內容為 (請從棧底到棧頂順序書寫)。⑵設計算法基于問題的抽象與建模,解決該問題的主要算法描述如下:從左往右遍歷四則運算式s(設中間變量為ch):1)當ch是數字,直接入棧bds;2)當ch是運算符:a.若ch為左括號時,直接入棧fh;b.若ch為右括號時,則將棧fh元素彈出,壓入棧bds,直到遇到左括號(左括號只彈出,不壓入棧bds);c.若ch為其它運算符時,如果運算符ch優先級大于棧fh中棧頂元素的優先級(或棧fh為空),直接入棧fh;否則,將棧fh元素依次彈出,并壓入棧bds,直到運算符ch優先級大于棧fh中棧頂元素的優先級(或棧fh為空);3)將棧bds中元素依次出棧,即為該四則運算s的后綴表達式。⑶編寫程序實現上述功能的 Python 代碼如下,請在劃線處填入合適代碼。yxj = {"+":1,"-":1,"*":2,"÷":2} #運算規則的優先級s = input("請輸入四則運算式: ")fh = [""]*100 #存儲運算符topfh = -1bds = [""]*100 #存儲表達式top=-1for ch in s:if ch.isdigit(): #字符串只包含數字則返回 True 否則返回 Falsetop+=1bds[top]=chelif ch == "(":topfh +=1fh[topfh]=chelif ch == ")":while True:tmp = fh[topfh]topfh-=1if tmp=="(": top+=1bds[top]=tmpelif ch in yxj:if topfh==-1 or fh[topfh]=="(":topfh += 1fh[topfh]=chelif :topfh+=1fh[topfh]=chelse:while fh[topfh]!="(" and topfh!=-1:if yxj[fh[topfh]]>=yxj[ch]:top+=1bds[top]=fh[topfh]topfh-=1else:breaktopfh+=1 while topfh!=-1:top+=1bds[top]=fh[topfh]topfh-=1print("后綴表達式:","".join(bds[:top+1]))答案解析部分1.【答案】A【知識點】信息及其特征;數據、知識、智慧的定義與特征;數據、信息、知識與智慧的關系;數據處理和統計分析工具【解析】2.【答案】C【知識點】人工智能的應用;人工智能對社會的影響【解析】【答案】3.C4.C【知識點】算法的常用表示方法;信息系統安全防護;信息系統的組成及功能【解析】3.4.5.【答案】D【知識點】網絡中的信息載體、通信線路和連接設備【解析】6.【答案】A【知識點】基本數據結構【解析】7.【答案】B【知識點】基本數據結構【解析】8.【答案】D【知識點】運算符、基本運算與表達式【解析】9.【答案】D【知識點】程序訪問數據庫【解析】10.【答案】C【知識點】循環結構語句及程序實現【解析】11.【答案】C【知識點】循環結構語句及程序實現【解析】12.【答案】D【知識點】常見數據類型、數組;循環結構語句及程序實現【解析】13.【答案】(1)A(2)word[t]=1;plt. show()【知識點】文本數據的處理與可視化【解析】14.【答案】(1)192.168. 0.100;B/S架構(2)data;s;request. args. get(“y" )【知識點】網絡應用模式;IP地址及配置;模塊【解析】15.【答案】(1)29(2)int (0. 299*+0.587*g+0. 114*b);[0,0]或(0,0);k=k+1【知識點】模塊;常用標準函數【解析】16.【答案】+ (-;break;yxjlch]>yxj[fh[topfh]];fh[topfh]=ch【知識點】運算符、基本運算與表達式;分支結構語句及程序實現;循環結構語句及程序實現【解析】二一教育在線組卷平臺(zujuan.21cnjy.com)自動生成 1 / 1登錄二一教育在線組卷平臺 助您教考全無憂浙江省臺州市八校 2021-2022學年高二下學期信息技術期末聯考試卷一、選擇題(本大題共12小題,每小題2分,共24分)1.(2022高二下·臺州期末)下列關于數據、信息和知識及大數據的說法正確的是( )A.信息的價值是相對的, 對于不同的人群、不同的時間, 其價值可能有所不同B.大數據改變的不僅是數據,還有人們的思維,大數據強調對事物因果關系的探求C.互聯網技術的發展,加速了數據的傳輸與處理, 計算機不再是數據處理的主要工具D.知識的獲得是人利用自身已有的知識對信息進行加工重構得到新知,知識就是對信息的積累【答案】A【知識點】信息及其特征;數據、知識、智慧的定義與特征;數據、信息、知識與智慧的關系;數據處理和統計分析工具【解析】2.(2022高二下·臺州期末)下列關于人工智能的說法不正確的是( )A.深度學習是聯結主義的典型代表B.圖靈測試是測試機器是否具有智能的一種方法C.依賴于領域知識和數據的人工智能稱為跨領域人工智能D.人工智能技術對經濟發展、社會進步都有巨大的推動作用【答案】C【知識點】人工智能的應用;人工智能對社會的影響【解析】(2022高二下·臺州期末)閱讀下列材料,回答下面小題。智能農業大棚通過傳感器、控制器、網絡設施和計算機程序來實現大棚的自動化管理。例如,自動溫度控制系統中的溫度傳感器每隔一定時間采集大棚中的溫度,一旦溫度超過預設的最高溫度40℃,控制系統會啟動通風和噴水系統實現降溫;如果溫度低于預設的最低溫度18℃,控制系統會啟動加熱器,給大棚升溫。3.關于信息系統下列說法正確的是( )A.信息系統本質上是一個工作系統, 信息系統無法處理復雜問題B.信息系統由五個關鍵要素組成,分別是硬件、軟件、數據、通信網絡和傳感器C.計算機硬件主要由運算器、控制器、存儲器、輸入設備和輸出設備五大部件組成D.安裝防火墻能夠防止黑客或病毒入侵系統, 因此無需再安裝防病毒軟件和系統丁4.用算法來解決上述問題,以下說法不正確的是( )A.可以通過抽象與建模、設計算法、描述算法三步來解決問題B.根據傳感器獲取的值, 需要進行不同的處理,這是通過控制轉移來實現的C.自動溫度控制系統進行溫度控制的算法只能使用流程圖來描述D.該智能農業大棚的網絡設施中可能需要無線路由器進行數據通訊【答案】3.C4.C【知識點】算法的常用表示方法;信息系統安全防護;信息系統的組成及功能【解析】3.4.5.(2022高二下·臺州期末)某網吧的網絡拓撲結構如下圖所示。該網絡中①②處的設備依次為( )A.路由器 交換機 B.交換機 路由器C.防火墻 交換機 D.防火墻 路由器【答案】D【知識點】網絡中的信息載體、通信線路和連接設備【解析】6.(2022高二下·臺州期末)在日常幻燈片(如使用PowerPoint制作的講稿)的放映中,可以通過超鏈接的方式進行幻燈片之間的任意跳轉。與這種幻燈片的組織方式相似的數據結構是( )A.鏈表 B.隊列 C.棧 D.樹【答案】A【知識點】基本數據結構【解析】7.(2022高二下·臺州期末)在某餐廳點餐系統中,利用隊列來儲存當前正在排隊顧客的編號,head指向隊首元素,tail指向隊尾元素的下一個位置,若tail=head+3,則現在排隊的顧客數量為( )A.2 B.3 C.4 D.5【答案】B【知識點】基本數據結構【解析】8.(2022高二下·臺州期末)下列 Python 表達式中值最小的是( )A.2**2+5%13//9 B.8//3*7/2C.len(range(7))/3 D.int("1"+"4")//abs(-7)【答案】D【知識點】運算符、基本運算與表達式【解析】9.(2022高二下·臺州期末)使用Python語言對SQLite數據庫進行操作,實現創建名為my.db的數據庫文件以及user表的語句如下。①import sqlite3;②conn.commit( );③c.execute(sql);④c.close( );⑤conn.close();⑥c = conn.cursor( );⑦conn = sqlite3.connect("my.db")⑧sql = "CREATE TABLE user(username TEXT,password TEXT)"語句執行的先后順序正確的是( )A.①⑦②⑧③④⑤⑥ B.①②⑦⑥⑧③④⑤C.①②⑦③⑥⑧④⑤ D.①⑦⑥⑧③②④⑤【答案】D【知識點】程序訪問數據庫【解析】10.(2022高二下·臺州期末)某 Python 程序段如下:b = [[92,2],[98,4],[91,1],[88,0],[95,3]]head=0p=0while b[p][1]!=head:print(b[p][0],end=",")p=b[p][1]print(b[p][0])運行該程序段, 輸出的內容為( )A.88,91,92,95,98 B.98,95,88,92,91C.92,91,98,95,88 D.98,95,92,91,88【答案】C【知識點】循環結構語句及程序實現【解析】11.(2022高二下·臺州期末)有如下 Python 程序段:c = "1/23//45///6"t = ""flag = Trues=0for i in range(len(c)):if c[i]=="/":if flag:s+=int(t)t=""flag = not flagelse:t+=c[i]執行上述程序段后,變量s的值是( )A.1 B.24 C.69 D.480【答案】C【知識點】循環結構語句及程序實現【解析】12.(2022高二下·臺州期末)有如下 Python 程序段:import randoma = [8,6,1,3,2,9]k = random.randint(1,3)for i in range(k,k+2):if a[i]a[i],a[i-1]=a[i-1],a[i]執行該程序段后,a 對象的內容不可能是( )A.[6, 1, 8, 3, 2, 9] B.[8, 6, 1, 2, 3, 9]C.[8, 1, 3, 6, 2, 9] D.[6, 9, 1, 3, 2, 8]【答案】D【知識點】常見數據類型、數組;循環結構語句及程序實現【解析】二、非選擇題(本大題共4小題,5+6+7+8,共26分)13.(2022高二下·臺州期末)小王要對這10篇作文隨機抽取1篇進行分詞處理,并進行頻率統計,在統計頻率時需要去除單個的文字,請回答下列各題。文章收集后存放目錄如圖a所示,生成的詞云如圖b所示。import import importpandas as pdos,jieba,re,random,wordcloudmatplotlib.pyplot as pltfrom PIL import Imagewzdir = "./2021 浙江高考滿分作文/"wz = os.listdir(wzdir) #獲得文件夾中所有文件的名稱列表wzrd = ①f=open(wzdir+wzrd[0],encoding="utf-8")dd=f.read ()f.close()#使用正則表達式去除文章中的標點符號ss = re.sub("[、,。:“”;?\n]","",dd)wb = jieba.lcut(ss,cut_all=True)word = {}for i in wb:t =i.strip()if len(t)>1:if t in word:word[t]+=1else:②wc = wordcloud.WordCloud(font_path="msyh.ttc", width=800, height=600) wc.background_color="white"wc.fit_words (word)img = wc.to_array()plt.rcParams['font.sans-serif']=['SimHei'] plt.figure()plt.imshow(img)plt.axis(False)plt.title(wzrd[0].split(".")[0])③#支持中文顯示(1)為實現上述功能①處代碼為A.random.sample(wz,1) B.random.shuffle(wz) C.random.randint(1,10)(2)請將②③處代碼補充完整② ③ 【答案】(1)A(2)word[t]=1;plt. show()【知識點】文本數據的處理與可視化【解析】14.(2022高二下·臺州期末)小王開發基于Python的FlaskWeb框架開發室內光線強度監測信息系統,系統程序及相關的子系統都部署在Web服務器端,網站框架如圖所示。該系統的客戶端無需專門的應用程序,用戶工作界面通過瀏覽器來實現,應用程序基本上都集中于服務器端。(1)由上述材料可知,服務器端的IP地址為 ,該系統的實現架構屬于 (選填:C/S 架構、B/S架構)。(2)實現上述系統的服務器端Python程序如下:from flaskimport Flask, render_template,request#導入Flask庫函數app=Flask(_name_)@app.route("/")def index():#獲取采集的數據并存儲到列表變量data,代碼略returnrender_template("index.html",data= )@app.route("/ ",methods=["GET"]) #數據采集子頁面路由命令def get():id=int(request.args.get("id"))d=float( )#獲取 URL 中“id=1”后的數據“1”#變量 d 存儲采集到的光線數據#打開數據庫, 并將接收的數據存儲到數據庫中,代碼略return "數據存儲成功!"#其他系統子頁面路由, 代碼略if_name_=='_main_':app.run ( )【答案】(1)192.168. 0.100;B/S架構(2)data;s;request. args. get(“y" )【知識點】網絡應用模式;IP地址及配置;模塊【解析】15.(2022高二下·臺州期末)某數據壓縮方法描述如下:①原始數據中,某數不為0且相鄰無重復,壓縮數據用該數據表示;②原始數據中,某數為0且相鄰無重復,壓縮數據用兩個數表示,第1個為0,第2個為0;③原始數據中,某數據相鄰有重復,壓縮數據用3個數表示:第1個為0,第2個為重復數的個數,第3個為該數本身。根據上述壓縮方法,對應的解壓縮方法示例如圖所示。小明學習了Python的PIL、matplotlib和numpy等模塊知識后,現有圖像文件“臺州.bmp”,該文件的顏色模式為RGB,將該圖像文件的每個像素點轉換成灰度值(值為整數)后,使用上述壓縮方法進行壓縮并保存為文本文件。顏色RGB值轉灰度值的公式如下:灰度值=0.299×紅色顏色分量+0.587×綠色顏色分量+0.114×藍色顏色分量(1)如果壓縮數據為“23,0,21,66,0,0,77,0,5,0”,則解壓縮數據的個數是 。(2)實現上述功能的Python程序如下。請在劃線處填入合適代碼。from PIL importImageimport numpy asnpimport matplotlib.pyplotas pltimg =np.array(Image.open("臺州.bmp"))row,cols,rgb =img.shapes=[]for i inrange(row):for j inrange(cols):r,g,b =img[i,j]hdz = s.append(hdz)ss = []:j = 0whilejifs[j]!=s[j+1]:if s[j]!=0:ss.append(s[j])else:ss.extend( ) #extend 函數用于在列表末尾一次性追加另一個序列中的多個值j+=1else:c = s[j]for k inrange(j+1,len(s)) :if c!=s[k]:breakelse: ss.extend([0,k-j,s[j]])j=kif j!=len(s):ss.append(s[j])f = open("臺州255.txt","w+")f.write(",".join(map(str,ss)))f.close()【答案】(1)29(2)int (0. 299*+0.587*g+0. 114*b);[0,0]或(0,0);k=k+1【知識點】模塊;常用標準函數【解析】16.(2022高二下·臺州期末)為四則運算式“6+(8-2)*2÷3”轉逆波蘭表達“682-2*3÷+”設計算法,編程實現。分析:在數學運算表達式中,運算符總是置于與之相關的兩個運算對象之間,在計算結果時,要考慮括號、運算符號的優先性。為了程序實現的方便,波蘭邏輯學家J.Lukasiewicz提出了另一種表示法,將運算符置于其運算對象之后,沒有括號,不用考慮運算符號的優先性。這種表達式稱為后綴表達式,又叫逆波蘭表達式。如表達式“682-2*3÷+”是四則運算式“6+(8-2)*2÷3”的逆波蘭表達式。為了處理方便, 規定表達式中的數均為小于 10 的正整數, 運算符為+ - * ÷。⑴抽象建模設計兩個棧bds、fh,棧bds用來存放表達式,棧fh用來暫時存放運算符。從左往右掃描四則運算式,遇到數字時,入棧bds;遇到運算符號時,根據運算符號的優先級設計進棧與出棧。四則運算式“6+(8-2)*2÷3”轉換規則的模擬過程如表1所示:表 1結合表1的操作過程,用棧bds和棧fh記錄每個操作后的棧內情況(見下圖),那么在操作2中棧fh里有內容為 (請從棧底到棧頂順序書寫)。⑵設計算法基于問題的抽象與建模,解決該問題的主要算法描述如下:從左往右遍歷四則運算式s(設中間變量為ch):1)當ch是數字,直接入棧bds;2)當ch是運算符:a.若ch為左括號時,直接入棧fh;b.若ch為右括號時,則將棧fh元素彈出,壓入棧bds,直到遇到左括號(左括號只彈出,不壓入棧bds);c.若ch為其它運算符時,如果運算符ch優先級大于棧fh中棧頂元素的優先級(或棧fh為空),直接入棧fh;否則,將棧fh元素依次彈出,并壓入棧bds,直到運算符ch優先級大于棧fh中棧頂元素的優先級(或棧fh為空);3)將棧bds中元素依次出棧,即為該四則運算s的后綴表達式。⑶編寫程序實現上述功能的 Python 代碼如下,請在劃線處填入合適代碼。yxj = {"+":1,"-":1,"*":2,"÷":2} #運算規則的優先級s = input("請輸入四則運算式: ")fh = [""]*100 #存儲運算符topfh = -1bds = [""]*100 #存儲表達式top=-1for ch in s:if ch.isdigit(): #字符串只包含數字則返回 True 否則返回 Falsetop+=1bds[top]=chelif ch == "(":topfh +=1fh[topfh]=chelif ch == ")":while True:tmp = fh[topfh]topfh-=1if tmp=="(": top+=1bds[top]=tmpelif ch in yxj:if topfh==-1 or fh[topfh]=="(":topfh += 1fh[topfh]=chelif :topfh+=1fh[topfh]=chelse:while fh[topfh]!="(" and topfh!=-1:if yxj[fh[topfh]]>=yxj[ch]:top+=1bds[top]=fh[topfh]topfh-=1else:breaktopfh+=1 while topfh!=-1:top+=1bds[top]=fh[topfh]topfh-=1print("后綴表達式:","".join(bds[:top+1]))【答案】+ (-;break;yxjlch]>yxj[fh[topfh]];fh[topfh]=ch【知識點】運算符、基本運算與表達式;分支結構語句及程序實現;循環結構語句及程序實現【解析】二一教育在線組卷平臺(zujuan.21cnjy.com)自動生成 1 / 1 展開更多...... 收起↑ 資源列表 浙江省臺州市八校 2021-2022學年高二下學期信息技術期末聯考試卷(學生版).docx 浙江省臺州市八校 2021-2022學年高二下學期信息技術期末聯考試卷(教師版).docx 縮略圖、資源來源于二一教育資源庫