资源简介 登录二一教育在线组卷平台 助您教考全无忧浙江省台州市八校 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