资源简介 登录二一教育在线组卷平台 助您教考全无忧浙江省湖州市三贤联盟2021-2022学年高二下学期信息技术期中联考试卷一、选择题(本大题共12小题,每小题2分,共24分。)(2022高二下·湖州期中)有关某“无人超市”的信息系统结构图如第1题图所示,请回答下面小题。1.下列有关“无人超市”的说法,正确的是( )A.系统通过入口处刷脸获得的特征值属于个人一般信息B.零购物码和出门二维码使用后失效,体现了信息的时效性C.系统自动对用户数据进行加密是为了提高数据的完整性D.存储在系统数据库中的海量用户信息属于大数据2.下列对“无人超市”信息系统的功能描述,不正确的是( )A.录制用户付款视频和离开时的影像属于信息系统的收集功能B.识别到注册用户立刻开门属于信息系统的传输功能C.使用POS机自助付款属于信息系统的存储功能D.打印小票、出门二维码属于信息系统的输出功能(2022高二下·湖州期中) 2022年的北京冬奥会,我国取得了历史最好成绩,人工智能技术也以科技手段助运动员们一臂之力。研究团队利用基于深度学习原理的人工智能技术,建立神经网络模型,实现对动作视频中人体关节点的计算机自动识别,进而建立起适用于竞技体育和一般生物力学研究的计算机系统——无反光点人体运动自动捕捉人工智能系统。目前该系统已应用在国家速度滑冰和越野滑雪项目的训练中,获得超过8000人次的赛时动作技术数据,使机器深度学习越发“得心应手”,对于滑冰与滑雪运动员的动作捕捉与技术分析,既能精准到具体细节,又能快速反馈分析结果。请回答下面小题。3.根据以上描述,下列说法不正确的是( )A.随着获取的动作数据逐渐增加,该技术对于数据的反馈会更有效B.该技术主要体现动作与结果的关系,说明大数据更注重事物之间的相关性C.该技术捕捉到的每一个数据都来自于真实数据,体现了大数据价值密度高的特点D.能根据动作自动捕捉进行分析,并快速反馈分析结果,体现了大数据速度快的特点4.根据以上描述,人工智能技术助力运动员主要基于以下哪种方法( )A.符号主义 B.联结主义 C.行为主义 D.建构主义(2022高二下·湖州期中)从文字输入、语音识别、图像识别到“刷指纹”、“刷脸”,人类信息的输入模式在发生革命性的变化。请回答下面小题。5.下列有关信息编码的说法,不正确的是( )A.自然界中的文字、图像、语音等属于模拟信号B.虽然人类信息的输入模式不同,但在计算机中存储一定使用二进制编码C.输入一段相同的文字,可以采用不同的输入码D.语音输入时,使用者声音越大,此条语音的容量越大6.下列关于“信息输入模式变革”的说法,正确的是( )A.信息系统硬件的发展促进了信息输入模式的变化B.“刷指纹”、“刷脸”只适用于移动终端设备C.不同的信息输入模式利用了相同的传感器D.任意一种输入模式都必须在联网的状态下使用(2022高二下·湖州期中)根据下图所示流程图,请回答下面小题。7.下列说法正确的是( )A.此算法中包含2个分支结构B.循环结束时变量i的值为30C.判断语句“i≤30”将被执行30次D.执行该流程图后,输出的值为28.虚线框处可以合并为一个条件表达式,下列表达式中符合该条件的是( )A.i//3==0 or i//5!=0 B.i%3==0 or i%5!=0C.i//3==0 and i//5!=0 D.i%3==0 and i%5!=09.(2022高二下·湖州期中)已知x="苹果, 50",y=["苹果",50],z={"苹果":50},下列python表达式的值为True,正确的是( )A.x[-4::-1]==y[0] B.x[3:5]==y[1]C.y[1] in z D.z[y[0]]==5010.(2022高二下·湖州期中)某些数据中存在“数字山峰”,例如数据“21432748”中存在“1432”、“274”两座“数字山峰”(必须包含上坡与下坡),下面程序用于求数据中“数字山峰”的数量:num=input("请输入数字串:");c=0for i in range(1,len(num)):if and f==False:f=Trueelif and f==True:c=c+1f=Falseprint("有",c,"座数字山峰")方框(1)(2)(3)的代码由以下部分组成:①f=True ②f=False ③num[i-1]>num[i] ④num[i-1]下列选项中代码顺序正确的是( )A.①③④ B.①④③ C.②③④ D.②④③11.(2022高二下·湖州期中)有如下python程序段:n="p4y2t3h1o9n4";p=""for i in n:if "0"<=i<="9":if p=="":p+=ielif i>=p[-1]:p+=ielif ip=i执行该程序段后,则p的值是( )A."239" B."14" C."19" D."4"12.(2022高二下·湖州期中)有如下python程序段:from random import randintn=input("请输入一串数字:")k=randint(0,len(n)) #randint用于随机生成[0,len(n)]之间的整数for i in range(k):for j in range(len(n)-1):if n[j]>n[j+1]:breakelse:n=n[:len(n)-1]continue #continue跳过当前循环的剩余语句,直接进行下一轮循环n=n[:j]+n[j+1:]执行该程序段后,输入“1529”,则变量n可能是( )A."9" B."12" C."152" D."1259"二、非选择题(本大题共4小题,6+6+7+7,共26分)13.(2022高二下·湖州期中)小墩和小融打乒乓球,利用Micro:bit主板的 LED 阵列实时显示比分情况(如图1所示,2个方框分别表示小墩和小融比分区,每个亮点表示1分),并在BXY Python Editor软件的串口中实时输出对局输赢情况(如图2所示)。图1 图2操作步骤:小墩得1分,按下Micro:bit主板的按钮A,左侧比分区亮点加1;小融得1分,按下按钮B,右侧比分区亮点加1。一局比赛初始比分为0:0,每一局中先达到10分的选手可以赢得该局。(1)实现上述功能的程序代码如下,请在划线处填入合适的代码:from microbitimport *def bf(x,y):#在led板上显示比分情况,代码略m=0;n=0 #m表示小墩得分,n表示小融得分 while True:if button_a.is_pressed(): #若按钮A被按下,则小墩得1分m+=1elif button_b.is_pressed(): #若按钮B被按下,则小融得1分n+=1if :if m>n:print("第",i,"局:小墩赢,比分:",m,":",n)else:print("第",i,"局:小融赢,比分:",m,":",n)i+=1;m,n=0,0bf(m,n)sleep(200)#设置程序运行间隔为200毫秒(2)根据上述程序,下列比分情况不可能出现的是( )。A. B.C. D.14.(2022高二下·湖州期中)小张同学为了更好地了解冬奥会,从网上收集了历届冬奥会各个项目比赛信息,收集到的部分数据如图1所示:图1 图2为分析数据,小张编写了如下程序:import pandas as pdimport matplotlib.pyplot as pltfrom matplotlib.pyplot import MultipleLocatorplt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文标签df=pd.read_csv("dongao.csv")#删除所有未获得奖牌的记录,并将奖牌列中的"G"修改为"金牌","S"修改为"银牌","B"修改为"铜牌"jp={'G':'金牌','S':'银牌','B':'铜牌'}for i in df.index:if ① :df=df.drop(i)else:df.at[i,'奖牌']=jp[df.at[i,'奖牌']]#对输入国家每届的奖牌数进行统计,并制作相应图表,如第14题图2所示:nt=input("请输入国家名称:")df1=df[df['国家']==nt]df3=pd.DataFrame(df2) #将分组后数据生成新的二维结构,索引为“届次”,列标题为“奖牌”x=df3.indexy= ②plt.title(nt+"历年冬奥会奖牌趋势图")plt. ③ (x,y)plt.show()(1)在划线处填上合适的代码。① ② ③ (2)为了最后能显示某国历届冬奥会奖牌变化,需在加框处添加的语句为( )(多选)A.df2=df1.groupby('奖牌')df2=df1.届次.count()B.df2=df1.groupby('届次')df2=df2['奖牌'].count()C.df2=df1.groupby('奖牌')['届次’].count()D.df2=df1.groupby('届次').奖牌.count()15.(2022高二下·湖州期中)某网站对信息进行加密解密,选择页面“index.html”如图1,加密页面“jia.html”如图2,解密页面“jie.html”如图3。在选择页面点击相应按钮,选择加密或解密。图1 图2 图3选择加密时,在明文文本框中输入明文,点击“加密”按钮,网页显示密文与对应的密钥。加密规则为打乱明文对应的索引作为密钥,再利用该索引逐个取明文字符连接成密文,例如:明文为“信息技术”,若被打乱的索引为[2,0,1,3],则密文为“技信息术”,密钥为“2,0,1,3”选择解密时,在密文文本框中输入密文,密钥文本框输入密钥,点击“解密”按钮,网页显示明文。(1)该网络应用属于 架构。(单选,填字母:A . B/S架构,B . C/S架构)(2)若待解密文本为“自息爱信也我己爱”,密钥为“2, 7, 1, 6, 4, 0, 3, 5”,则解密结果是 。(3)实现该功能的python程序如下,请在划线处填入合适的代码:from flask import render_template,request,Flaskimport randomapp=Flask(__name__) #创建应用实例@app.route('/') #选择页面路由def index():return render_template(' ')#加密功能代码略,以下为解密代码:@app.route('/jiemi1/',methods=["GET","POST"])def jiemi1():wb=request.form["wb"] #利用request获取网页文本框内容,返回示例:“1,4,2,3,0”keyo=request.form["key"] #变量wb存储密文,变量keyo存储密钥keyn=list(map(int,keyo.split(","))) #将字符串keyo转换为数值列表,示例:[1,4,2,3,0]result=""for i in range(len(keyn)):for j in range(len(keyn)):if :breakresult+=wb[j]return render_template("jie.html",WB=wb,KEY=keyo,RESULT=result)if __name__=="__main__": (4)根据上述描述与图1,则“天气”节点中的“多云”信息熵是 。(5)实现求首次划分节点的程序如下,请在划线处填入合适的代码:def cal(lst): #计算样本lst的信息熵x,y,z=0,len(lst),0 #x表示该样本信息熵,y表示该样本数量,z表示某信息发生的概率num={}for i in lst:if i not in num: num[i]+=1for k in num:z=num[k]/y #计算该信息发生的概率x-=z*log(z,2) #根据公式计算信息熵,log(b,a)等价于logabreturn xdef check(x,y):#根据节点x,对样本y进行划分,返回示例:{'否': [1, 1, 0, 0, 1, 1, 1, 1], '是': [1, 1, 0, 1, 0, 0]}dic={'是否有风': ['否', '否', '否', '否', '否', '否', '否', '否', '是', '是', '是', '是', '是', '是'],'天气': ['多云', '多云', '晴', '晴', '晴', '雨', '雨', '雨', '多云', '多云', '晴', '晴', '雨', '雨'],'温度': [28, 27, 29, 22, 21, 21, 20, 24, 18, 22, 26, 24, 18, 21],'湿度': [78, 75, 85, 90, 68, 96, 80, 80, 65, 90, 88, 63, 70, 80],'是否前往': [1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0]}xm=list(dic.keys())entropy=cal(dic[xm[-1]]) #调用函数计算样本原始信息熵entropy#计算各节点信息增益m=0;p=""col=xm[:-1] #“是否前往”是结果项,不参与计算for i in col:size=len(dic[i]);entropy_1=0zyb= #调用函数对样本按照当前节点进行划分for j in zyb: #根据划分情况逐个求子样本信息熵并按比例累加entropy_1+=len(zyb[j])/size*cal(zyb[j])zy=entropy-entropy_1print(i,"的信息增益:",zy)if zy>m: #计算最大信息增益与信息增益最大的节点m=zy print("信息增益最大的节点:",p)16.(2022高二下·湖州期中)决策树是一种通过树形结构进行分类的人工智能预测模型,如根据图1所示“气象特点与游客是否来游乐场的关系”绘制的图2所示的决策树树形结构:图1 图2通过了解当天的是否有风、天气、温度和湿度这4个节点参数即可预测当天是否有人来游乐场。不同的节点划分顺序可以绘制不同的决策树,为了选出最优的节点划分顺序,需要采用“信息熵”与“信息增益”指标。信息熵,又称香农熵,被用来度量信息量的大小,信息熵越大表示信息量越大;信息增益,表示样本经某节点划分后的信息熵变化大小。我们绘制决策树时应当逐次选择信息增益最大的节点作为当前节点。对于有n个信息的样本D,记第k个信息发生的概率为,信息熵计算公式为E(D)=,例如游乐场14个样本中“去”(9个)、“不去”(5个),则信息熵==0.940若样本按“是否有风”节点划分,“是”(6个,其中3个去,3个不去)信息熵==1;“否”(8个,其中6个去,2个不去)信息熵==0.811;经过此节点划分后的信息增益=原始信息熵按此节点划分后样本信息熵比例和=0.940(0.811)=0.048。(1)该网络应用属于 架构。(单选,填字母:A . B/S架构,B . C/S架构)(2)若待解密文本为“自息爱信也我己爱”,密钥为“2, 7, 1, 6,4, 0, 3, 5”,则解密结果是 。(3)实现该功能的python程序如下,请在划线处填入合适的代码:from flaskimport render_template,request,Flaskimport randomapp=Flask(__name__) #创建应用实例@app.route('/') #选择页面路由def index():return render_template(' ')#加密功能代码略,以下为解密代码:@app.route('/jiemi1/',methods=["GET","POST"])def jiemi1():wb=request.form["wb"] #利用request获取网页文本框内容,返回示例:“1,4,2,3,0”keyo=request.form["key"] #变量wb存储密文,变量keyo存储密钥keyn=list(map(int,keyo.split(",")))#将字符串keyo转换为数值列表,示例:[1,4,2,3,0]result=""for i in range(len(keyn)):for j in range(len(keyn)):if :breakresult+=wb[j]returnrender_template("jie.html",WB=wb,KEY=keyo,RESULT=result)if__name__=="__main__": (4)根据上述描述与第16题图1,则“天气”节点中的“多云”信息熵是 。(5)实现求首次划分节点的程序如下,请在划线处填入合适的代码:defcal(lst): #计算样本lst的信息熵x,y,z=0,len(lst),0 #x表示该样本信息熵,y表示该样本数量,z表示某信息发生的概率num={}for i in lst:if i not in num: num[i]+=1for k in num:z=num[k]/y #计算该信息发生的概率x-=z*log(z,2) #根据公式计算信息熵,log(b,a)等价于logabreturn xdef check(x,y):#根据节点x,对样本y进行划分,返回示例:{'否': [1, 1, 0, 0, 1, 1, 1, 1], '是': [1, 1, 0, 1, 0, 0]}dic={'是否有风': ['否','否', '否', '否', '否', '否', '否', '否', '是', '是', '是', '是', '是', '是'],'天气': ['多云','多云', '晴', '晴', '晴', '雨', '雨', '雨', '多云', '多云', '晴', '晴', '雨', '雨'],'温度': [28, 27, 29, 22, 21, 21, 20,24, 18, 22, 26, 24, 18, 21],'湿度': [78, 75, 85, 90, 68, 96, 80,80, 65, 90, 88, 63, 70, 80],'是否前往': [1, 1, 0, 0, 1, 1, 1, 1, 1,1, 0, 1, 0, 0]}xm=list(dic.keys())entropy=cal(dic[xm[-1]]) #调用函数计算样本原始信息熵entropy#计算各节点信息增益m=0;p=""col=xm[:-1] #“是否前往”是结果项,不参与计算for i in col:size=len(dic[i]);entropy_1=0zyb= #调用函数对样本按照当前节点进行划分for j in zyb: #根据划分情况逐个求子样本信息熵并按比例累加entropy_1+=len(zyb[j])/size*cal(zyb[j])zy=entropy-entropy_1print(i,"的信息增益:",zy)if zy>m: #计算最大信息增益与信息增益最大的节点m=zy print("信息增益最大的节点:",p)答案解析部分【答案】1.B2.C【知识点】信息及其特征;信息系统的组成及功能;大数据的概念与特征【答案】3.C4.B【知识点】大数据的概念与特征;人工智能的应用【答案】5.D6.A【知识点】字符编码;声音、图像、视频编码【答案】7.A8.D【知识点】运算符、基本运算与表达式;流程图识读9.【答案】D【知识点】运算符、基本运算与表达式10.【答案】D【知识点】分支结构语句及程序实现;循环结构语句及程序实现11.【答案】C【知识点】分支结构语句及程序实现;循环结构语句及程序实现12.【答案】B【知识点】分支结构语句及程序实现;循环结构语句及程序实现13.【答案】(1)i=1;m==10 or n==10(2)C【知识点】过程与自定义函数;分支结构语句及程序实现;循环结构语句及程序实现14.【答案】(1)df.at[i,'奖牌']=='0' 或 df.奖牌[i]=='0' 或 df['奖牌'][i]=='0';df3["奖牌"] 或 df3.奖牌;plot(2)B;D【知识点】常量、变量及变量的赋值;模块15.【答案】(1)A(2)我爱自己也爱信息(3)index.html;keyn[j]==i;app.run()(4)0(5)num[i]=0;check(i,dic);p=i【知识点】常见数据类型、数组;网络应用模式;加密与解密算法16.【答案】(1)A(2)我爱自己也爱信息(3)index.html;keyn[j]==i;app.run()(4)0(5)num[i]=0;check(i,dic);p=i【知识点】网络应用模式;分支结构语句及程序实现;循环结构语句及程序实现;加密与解密算法二一教育在线组卷平台(zujuan.21cnjy.com)自动生成 1 / 1登录二一教育在线组卷平台 助您教考全无忧浙江省湖州市三贤联盟2021-2022学年高二下学期信息技术期中联考试卷一、选择题(本大题共12小题,每小题2分,共24分。)(2022高二下·湖州期中)有关某“无人超市”的信息系统结构图如第1题图所示,请回答下面小题。1.下列有关“无人超市”的说法,正确的是( )A.系统通过入口处刷脸获得的特征值属于个人一般信息B.零购物码和出门二维码使用后失效,体现了信息的时效性C.系统自动对用户数据进行加密是为了提高数据的完整性D.存储在系统数据库中的海量用户信息属于大数据2.下列对“无人超市”信息系统的功能描述,不正确的是( )A.录制用户付款视频和离开时的影像属于信息系统的收集功能B.识别到注册用户立刻开门属于信息系统的传输功能C.使用POS机自助付款属于信息系统的存储功能D.打印小票、出门二维码属于信息系统的输出功能【答案】1.B2.C【知识点】信息及其特征;信息系统的组成及功能;大数据的概念与特征(2022高二下·湖州期中) 2022年的北京冬奥会,我国取得了历史最好成绩,人工智能技术也以科技手段助运动员们一臂之力。研究团队利用基于深度学习原理的人工智能技术,建立神经网络模型,实现对动作视频中人体关节点的计算机自动识别,进而建立起适用于竞技体育和一般生物力学研究的计算机系统——无反光点人体运动自动捕捉人工智能系统。目前该系统已应用在国家速度滑冰和越野滑雪项目的训练中,获得超过8000人次的赛时动作技术数据,使机器深度学习越发“得心应手”,对于滑冰与滑雪运动员的动作捕捉与技术分析,既能精准到具体细节,又能快速反馈分析结果。请回答下面小题。3.根据以上描述,下列说法不正确的是( )A.随着获取的动作数据逐渐增加,该技术对于数据的反馈会更有效B.该技术主要体现动作与结果的关系,说明大数据更注重事物之间的相关性C.该技术捕捉到的每一个数据都来自于真实数据,体现了大数据价值密度高的特点D.能根据动作自动捕捉进行分析,并快速反馈分析结果,体现了大数据速度快的特点4.根据以上描述,人工智能技术助力运动员主要基于以下哪种方法( )A.符号主义 B.联结主义 C.行为主义 D.建构主义【答案】3.C4.B【知识点】大数据的概念与特征;人工智能的应用(2022高二下·湖州期中)从文字输入、语音识别、图像识别到“刷指纹”、“刷脸”,人类信息的输入模式在发生革命性的变化。请回答下面小题。5.下列有关信息编码的说法,不正确的是( )A.自然界中的文字、图像、语音等属于模拟信号B.虽然人类信息的输入模式不同,但在计算机中存储一定使用二进制编码C.输入一段相同的文字,可以采用不同的输入码D.语音输入时,使用者声音越大,此条语音的容量越大6.下列关于“信息输入模式变革”的说法,正确的是( )A.信息系统硬件的发展促进了信息输入模式的变化B.“刷指纹”、“刷脸”只适用于移动终端设备C.不同的信息输入模式利用了相同的传感器D.任意一种输入模式都必须在联网的状态下使用【答案】5.D6.A【知识点】字符编码;声音、图像、视频编码(2022高二下·湖州期中)根据下图所示流程图,请回答下面小题。7.下列说法正确的是( )A.此算法中包含2个分支结构B.循环结束时变量i的值为30C.判断语句“i≤30”将被执行30次D.执行该流程图后,输出的值为28.虚线框处可以合并为一个条件表达式,下列表达式中符合该条件的是( )A.i//3==0 or i//5!=0 B.i%3==0 or i%5!=0C.i//3==0 and i//5!=0 D.i%3==0 and i%5!=0【答案】7.A8.D【知识点】运算符、基本运算与表达式;流程图识读9.(2022高二下·湖州期中)已知x="苹果, 50",y=["苹果",50],z={"苹果":50},下列python表达式的值为True,正确的是( )A.x[-4::-1]==y[0] B.x[3:5]==y[1]C.y[1] in z D.z[y[0]]==50【答案】D【知识点】运算符、基本运算与表达式10.(2022高二下·湖州期中)某些数据中存在“数字山峰”,例如数据“21432748”中存在“1432”、“274”两座“数字山峰”(必须包含上坡与下坡),下面程序用于求数据中“数字山峰”的数量:num=input("请输入数字串:");c=0for i in range(1,len(num)):if and f==False:f=Trueelif and f==True:c=c+1f=Falseprint("有",c,"座数字山峰")方框(1)(2)(3)的代码由以下部分组成:①f=True ②f=False ③num[i-1]>num[i] ④num[i-1]下列选项中代码顺序正确的是( )A.①③④ B.①④③ C.②③④ D.②④③【答案】D【知识点】分支结构语句及程序实现;循环结构语句及程序实现11.(2022高二下·湖州期中)有如下python程序段:n="p4y2t3h1o9n4";p=""for i in n:if "0"<=i<="9":if p=="":p+=ielif i>=p[-1]:p+=ielif ip=i执行该程序段后,则p的值是( )A."239" B."14" C."19" D."4"【答案】C【知识点】分支结构语句及程序实现;循环结构语句及程序实现12.(2022高二下·湖州期中)有如下python程序段:from random import randintn=input("请输入一串数字:")k=randint(0,len(n)) #randint用于随机生成[0,len(n)]之间的整数for i in range(k):for j in range(len(n)-1):if n[j]>n[j+1]:breakelse:n=n[:len(n)-1]continue #continue跳过当前循环的剩余语句,直接进行下一轮循环n=n[:j]+n[j+1:]执行该程序段后,输入“1529”,则变量n可能是( )A."9" B."12" C."152" D."1259"【答案】B【知识点】分支结构语句及程序实现;循环结构语句及程序实现二、非选择题(本大题共4小题,6+6+7+7,共26分)13.(2022高二下·湖州期中)小墩和小融打乒乓球,利用Micro:bit主板的 LED 阵列实时显示比分情况(如图1所示,2个方框分别表示小墩和小融比分区,每个亮点表示1分),并在BXY Python Editor软件的串口中实时输出对局输赢情况(如图2所示)。图1 图2操作步骤:小墩得1分,按下Micro:bit主板的按钮A,左侧比分区亮点加1;小融得1分,按下按钮B,右侧比分区亮点加1。一局比赛初始比分为0:0,每一局中先达到10分的选手可以赢得该局。(1)实现上述功能的程序代码如下,请在划线处填入合适的代码:from microbitimport *def bf(x,y):#在led板上显示比分情况,代码略m=0;n=0 #m表示小墩得分,n表示小融得分 while True:if button_a.is_pressed(): #若按钮A被按下,则小墩得1分m+=1elif button_b.is_pressed(): #若按钮B被按下,则小融得1分n+=1if :if m>n:print("第",i,"局:小墩赢,比分:",m,":",n)else:print("第",i,"局:小融赢,比分:",m,":",n)i+=1;m,n=0,0bf(m,n)sleep(200)#设置程序运行间隔为200毫秒(2)根据上述程序,下列比分情况不可能出现的是( )。A. B.C. D.【答案】(1)i=1;m==10 or n==10(2)C【知识点】过程与自定义函数;分支结构语句及程序实现;循环结构语句及程序实现14.(2022高二下·湖州期中)小张同学为了更好地了解冬奥会,从网上收集了历届冬奥会各个项目比赛信息,收集到的部分数据如图1所示:图1 图2为分析数据,小张编写了如下程序:import pandas as pdimport matplotlib.pyplot as pltfrom matplotlib.pyplot import MultipleLocatorplt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文标签df=pd.read_csv("dongao.csv")#删除所有未获得奖牌的记录,并将奖牌列中的"G"修改为"金牌","S"修改为"银牌","B"修改为"铜牌"jp={'G':'金牌','S':'银牌','B':'铜牌'}for i in df.index:if ① :df=df.drop(i)else:df.at[i,'奖牌']=jp[df.at[i,'奖牌']]#对输入国家每届的奖牌数进行统计,并制作相应图表,如第14题图2所示:nt=input("请输入国家名称:")df1=df[df['国家']==nt]df3=pd.DataFrame(df2) #将分组后数据生成新的二维结构,索引为“届次”,列标题为“奖牌”x=df3.indexy= ②plt.title(nt+"历年冬奥会奖牌趋势图")plt. ③ (x,y)plt.show()(1)在划线处填上合适的代码。① ② ③ (2)为了最后能显示某国历届冬奥会奖牌变化,需在加框处添加的语句为( )(多选)A.df2=df1.groupby('奖牌')df2=df1.届次.count()B.df2=df1.groupby('届次')df2=df2['奖牌'].count()C.df2=df1.groupby('奖牌')['届次’].count()D.df2=df1.groupby('届次').奖牌.count()【答案】(1)df.at[i,'奖牌']=='0' 或 df.奖牌[i]=='0' 或 df['奖牌'][i]=='0';df3["奖牌"] 或 df3.奖牌;plot(2)B;D【知识点】常量、变量及变量的赋值;模块15.(2022高二下·湖州期中)某网站对信息进行加密解密,选择页面“index.html”如图1,加密页面“jia.html”如图2,解密页面“jie.html”如图3。在选择页面点击相应按钮,选择加密或解密。图1 图2 图3选择加密时,在明文文本框中输入明文,点击“加密”按钮,网页显示密文与对应的密钥。加密规则为打乱明文对应的索引作为密钥,再利用该索引逐个取明文字符连接成密文,例如:明文为“信息技术”,若被打乱的索引为[2,0,1,3],则密文为“技信息术”,密钥为“2,0,1,3”选择解密时,在密文文本框中输入密文,密钥文本框输入密钥,点击“解密”按钮,网页显示明文。(1)该网络应用属于 架构。(单选,填字母:A . B/S架构,B . C/S架构)(2)若待解密文本为“自息爱信也我己爱”,密钥为“2, 7, 1, 6, 4, 0, 3, 5”,则解密结果是 。(3)实现该功能的python程序如下,请在划线处填入合适的代码:from flask import render_template,request,Flaskimport randomapp=Flask(__name__) #创建应用实例@app.route('/') #选择页面路由def index():return render_template(' ')#加密功能代码略,以下为解密代码:@app.route('/jiemi1/',methods=["GET","POST"])def jiemi1():wb=request.form["wb"] #利用request获取网页文本框内容,返回示例:“1,4,2,3,0”keyo=request.form["key"] #变量wb存储密文,变量keyo存储密钥keyn=list(map(int,keyo.split(","))) #将字符串keyo转换为数值列表,示例:[1,4,2,3,0]result=""for i in range(len(keyn)):for j in range(len(keyn)):if :breakresult+=wb[j]return render_template("jie.html",WB=wb,KEY=keyo,RESULT=result)if __name__=="__main__": (4)根据上述描述与图1,则“天气”节点中的“多云”信息熵是 。(5)实现求首次划分节点的程序如下,请在划线处填入合适的代码:def cal(lst): #计算样本lst的信息熵x,y,z=0,len(lst),0 #x表示该样本信息熵,y表示该样本数量,z表示某信息发生的概率num={}for i in lst:if i not in num: num[i]+=1for k in num:z=num[k]/y #计算该信息发生的概率x-=z*log(z,2) #根据公式计算信息熵,log(b,a)等价于logabreturn xdef check(x,y):#根据节点x,对样本y进行划分,返回示例:{'否': [1, 1, 0, 0, 1, 1, 1, 1], '是': [1, 1, 0, 1, 0, 0]}dic={'是否有风': ['否', '否', '否', '否', '否', '否', '否', '否', '是', '是', '是', '是', '是', '是'],'天气': ['多云', '多云', '晴', '晴', '晴', '雨', '雨', '雨', '多云', '多云', '晴', '晴', '雨', '雨'],'温度': [28, 27, 29, 22, 21, 21, 20, 24, 18, 22, 26, 24, 18, 21],'湿度': [78, 75, 85, 90, 68, 96, 80, 80, 65, 90, 88, 63, 70, 80],'是否前往': [1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0]}xm=list(dic.keys())entropy=cal(dic[xm[-1]]) #调用函数计算样本原始信息熵entropy#计算各节点信息增益m=0;p=""col=xm[:-1] #“是否前往”是结果项,不参与计算for i in col:size=len(dic[i]);entropy_1=0zyb= #调用函数对样本按照当前节点进行划分for j in zyb: #根据划分情况逐个求子样本信息熵并按比例累加entropy_1+=len(zyb[j])/size*cal(zyb[j])zy=entropy-entropy_1print(i,"的信息增益:",zy)if zy>m: #计算最大信息增益与信息增益最大的节点m=zy print("信息增益最大的节点:",p)【答案】(1)A(2)我爱自己也爱信息(3)index.html;keyn[j]==i;app.run()(4)0(5)num[i]=0;check(i,dic);p=i【知识点】常见数据类型、数组;网络应用模式;加密与解密算法16.(2022高二下·湖州期中)决策树是一种通过树形结构进行分类的人工智能预测模型,如根据图1所示“气象特点与游客是否来游乐场的关系”绘制的图2所示的决策树树形结构:图1 图2通过了解当天的是否有风、天气、温度和湿度这4个节点参数即可预测当天是否有人来游乐场。不同的节点划分顺序可以绘制不同的决策树,为了选出最优的节点划分顺序,需要采用“信息熵”与“信息增益”指标。信息熵,又称香农熵,被用来度量信息量的大小,信息熵越大表示信息量越大;信息增益,表示样本经某节点划分后的信息熵变化大小。我们绘制决策树时应当逐次选择信息增益最大的节点作为当前节点。对于有n个信息的样本D,记第k个信息发生的概率为,信息熵计算公式为E(D)=,例如游乐场14个样本中“去”(9个)、“不去”(5个),则信息熵==0.940若样本按“是否有风”节点划分,“是”(6个,其中3个去,3个不去)信息熵==1;“否”(8个,其中6个去,2个不去)信息熵==0.811;经过此节点划分后的信息增益=原始信息熵按此节点划分后样本信息熵比例和=0.940(0.811)=0.048。(1)该网络应用属于 架构。(单选,填字母:A . B/S架构,B . C/S架构)(2)若待解密文本为“自息爱信也我己爱”,密钥为“2, 7, 1, 6,4, 0, 3, 5”,则解密结果是 。(3)实现该功能的python程序如下,请在划线处填入合适的代码:from flaskimport render_template,request,Flaskimport randomapp=Flask(__name__) #创建应用实例@app.route('/') #选择页面路由def index():return render_template(' ')#加密功能代码略,以下为解密代码:@app.route('/jiemi1/',methods=["GET","POST"])def jiemi1():wb=request.form["wb"] #利用request获取网页文本框内容,返回示例:“1,4,2,3,0”keyo=request.form["key"] #变量wb存储密文,变量keyo存储密钥keyn=list(map(int,keyo.split(",")))#将字符串keyo转换为数值列表,示例:[1,4,2,3,0]result=""for i in range(len(keyn)):for j in range(len(keyn)):if :breakresult+=wb[j]returnrender_template("jie.html",WB=wb,KEY=keyo,RESULT=result)if__name__=="__main__": (4)根据上述描述与第16题图1,则“天气”节点中的“多云”信息熵是 。(5)实现求首次划分节点的程序如下,请在划线处填入合适的代码:defcal(lst): #计算样本lst的信息熵x,y,z=0,len(lst),0 #x表示该样本信息熵,y表示该样本数量,z表示某信息发生的概率num={}for i in lst:if i not in num: num[i]+=1for k in num:z=num[k]/y #计算该信息发生的概率x-=z*log(z,2) #根据公式计算信息熵,log(b,a)等价于logabreturn xdef check(x,y):#根据节点x,对样本y进行划分,返回示例:{'否': [1, 1, 0, 0, 1, 1, 1, 1], '是': [1, 1, 0, 1, 0, 0]}dic={'是否有风': ['否','否', '否', '否', '否', '否', '否', '否', '是', '是', '是', '是', '是', '是'],'天气': ['多云','多云', '晴', '晴', '晴', '雨', '雨', '雨', '多云', '多云', '晴', '晴', '雨', '雨'],'温度': [28, 27, 29, 22, 21, 21, 20,24, 18, 22, 26, 24, 18, 21],'湿度': [78, 75, 85, 90, 68, 96, 80,80, 65, 90, 88, 63, 70, 80],'是否前往': [1, 1, 0, 0, 1, 1, 1, 1, 1,1, 0, 1, 0, 0]}xm=list(dic.keys())entropy=cal(dic[xm[-1]]) #调用函数计算样本原始信息熵entropy#计算各节点信息增益m=0;p=""col=xm[:-1] #“是否前往”是结果项,不参与计算for i in col:size=len(dic[i]);entropy_1=0zyb= #调用函数对样本按照当前节点进行划分for j in zyb: #根据划分情况逐个求子样本信息熵并按比例累加entropy_1+=len(zyb[j])/size*cal(zyb[j])zy=entropy-entropy_1print(i,"的信息增益:",zy)if zy>m: #计算最大信息增益与信息增益最大的节点m=zy print("信息增益最大的节点:",p)【答案】(1)A(2)我爱自己也爱信息(3)index.html;keyn[j]==i;app.run()(4)0(5)num[i]=0;check(i,dic);p=i【知识点】网络应用模式;分支结构语句及程序实现;循环结构语句及程序实现;加密与解密算法二一教育在线组卷平台(zujuan.21cnjy.com)自动生成 1 / 1 展开更多...... 收起↑ 资源列表 浙江省湖州市三贤联盟2021-2022学年高二下学期信息技术期中联考试卷(学生版).docx 浙江省湖州市三贤联盟2021-2022学年高二下学期信息技术期中联考试卷(教师版).docx