资源简介 浙江强基联盟2023学年第一学期高二12月联考技术学科试题考生须知:1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。2.选择题答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,改动后须将原填涂处用橡皮擦净。3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。第一部分 信息技术(共50分)一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)1. 小明快速跑步一段距离到达了体检的场地,用心电监护仪测出的心率是120次/分。心电监护仪是一种用于监测患者心电图的医疗设备,它通常由一个传感器、一个主机和一个屏幕组成,可以通过导线连接至患者的身体。传感器通过黏贴在患者胸部的电极片采集心率信号,主机对信号进行处理并显示在屏幕上,以便医护人员实时监测患者的心电状况。下列关于数据、信息和知识的说法,不正确的是( )A. 数字“120”是数据B. 休息片刻,小明的心率会下降,这是知识的体现C. 休息片刻,测得小明的心率为70次/分,说明信息具有真伪性D. 随后,班里同学都知道了小明测出的心率是120次/分,说明信息具有可传递性和共享性【答案】C【解析】【详解】本题考查的是数据、信息和知识。休息片刻,测得小明的心率为70次/分,说明信息具有时效性。故本题应选C。2. 小明快速跑步一段距离到达了体检的场地,用心电监护仪测出的心率是120次/分。心电监护仪是一种用于监测患者心电图的医疗设备,它通常由一个传感器、一个主机和一个屏幕组成,可以通过导线连接至患者的身体。传感器通过黏贴在患者胸部的电极片采集心率信号,主机对信号进行处理并显示在屏幕上,以便医护人员实时监测患者的心电状况。下列关于数据采集与数字化的说法,正确的是( )A. 心电监护仪通过传感器采集心率数据B. 心率数据只能通过传感器采集得到C. 传感器采集到的心率信号属于数字信号D. 若主机对信号进行处理得到的二进制数据为“10011101”,也可用十六进制“9C”表示【答案】A【解析】【详解】本题考查数据采集与数字化相关内容。A选项,心电监护仪通过传感器采集心率数据,选项正确。B选项,采集心率的方法有数脉搏、用电子血压计、听诊、心电图,选项错误。C选项,传感器采集到的心率信号属于模拟信号,选项错误。D选项,“10011101”可用十六进制“9D”表示,选项错误。故本题答案是A选项。3. 下列关于信息编码的说法,正确的是( )A. 只有计算机中才有信息编码B. ASCII码是一种汉字编码C. 扫描二维码的过程属于信息编码D. 采用8位色进行编码的BMP图像,其颜色数量总共有256种【答案】D【解析】【详解】本题考查的是信息编码。信息编码是将信息按照某种规则,从一种形式转换为另一种形式的过程,日常生活中非常常见, 比如编制学号的过程就是信息编码,选项A说法错误;ASCII码是一种国际上普遍采用的英文字符编码,选项B说法错误;扫描二维码的过程属于信息的解码,选项C说法错误;采用8位色进行编码的BMP图像,每个像素点用8位二进制表示,而8位二进制能产生256种编码,所以其颜色数量总共有256种。故本题应选D。4. 下列关于数据管理与安全说法,正确的是( )A. 利用计算机对数据进行管理一定比手工管理高效B. 数据库管理相比文件管理,优势在于数据共享、冗余减少C. 传输数据时可以通过数据校验提高数据的保密性D. 将电脑中的资料备份到移动硬盘中,是为了提高数据本身的安全【答案】B【解析】【详解】本题考查的是数据管理。在数据量少的情况手工管理可能效率更高,选项A错误;数据校验提高的是数据的完整性,数据加密提高的是数据的保密性,选项C错误;将电脑中的资料备份到移动硬盘中,是为了提高存储数据介质的安全,选项D错误。故本题应选B。5. 下列关于大数据与大数据处理的说法,不正确的是( )A. 大数据价值密度低,“提纯”大数据可以让其发挥更大的价值B. 高速公路中实时产生的车流量数据属于静态数据C. 词频统计是文本数据处理中特征提取的一种方法D. 经过处理后的大数据,利用可视化技术,有助于快捷观察与追踪数据【答案】B【解析】【详解】本题考查的是大数据。高速公路中实时产生的车流量数据是不间断地、持续到达的,属于流数据。故选项B说法不正确。本题应选B6. 某种AI是一种基于规则的聊天机器人技术,它需要建立大量的规则库才能回答人类的问题,这些规则包括语法、语义和词汇等方面。实现这种人工智能的方法属于( )A. 符号主义 B. 联结主义 C. 行为主义 D. 进化主义【答案】A【解析】【详解】本题考查的是人工智能。基于规则学习的人工智能方法属于符号主义人工智能。故本题应选A。7. 下列关于人工智能的说法,不正确的是( )A. 行为主义人工智能采用强化学习机制提升自己的智能水平B. 家用扫地机器人可以自动完成清扫工作,说明人工智能能改善人类生活C. 购物时,机器客服与人工客服协作解决顾客问题,体现了跨领域人工智能的应用D. 人工智能的发展会取代一些工作岗位,也可能会威胁人类安全【答案】C【解析】【详解】本题考查人工智能相关内容。A选项,行为主义认为智能体可以在与环境的交互中不断学习(强化学习),从而提升自己的智能水平,选项正确。B选项,借助先进的人工智能技术,它能够在房间内自主完成清扫工作,让家庭生活更加轻松愉快,说明人工智能能改善人类生活,选项正确。C选项,购物时,机器客服与人工客服协作解决顾客问题,并未体现跨领域人工智能的应用,选项错误。D选项,人工智能的发展会取代一些工作岗位,也可能会威胁人类安全,选项正确。故本题答案是C选项。8. 某算法的部分流程图如图所示。若输入n的值为23,则输出sum的值为( )A. 2 B. 3 C. 4 D. 5【答案】C【解析】【详解】本题考查的是流程图识读。阅读该流程图可知,其作用是将十进制数23转换成二进制数10111,变量sum用来累加二进制数每位数字之和,所以结果为4。故本题应选C。9. 已知s="2023杭州亚运",则下列Python表达式中,值为True的是( )A. s[1]=="2" B. s[2:4]==23 C. len(s)==7 D. 5【答案】D【解析】【详解】本题考查的是Python表达式。已知s="2023杭州亚运",则s[1]=="0",因为索引从0开始,选项A错误;变量s是字符串类型的数据,所以s[2:4]="23",选项B错误;字符串"2023杭州亚运"中共有8个字符,所以len(s)==8,选项C错误;510. 小明编写了一个程序,计算序列2/1+3/2+5/3+8/5+……的前n项之和。该序列从第2项起,每一项的分子是前一项分子与分母之和,分母是前一项的分子。程序代码如下:n=int (input("请输入整数n:"))d1, d2=2, 1s=0for i in range (1,n+1):print("前n项的和为:",round(s,2)) #round(s,2)功能:使s保留2位小数程序运行后输入3,则运行结果如第10题图所示。方框处的代码由以下部分组成:①d1=d1+d2 ②d2=d1-d2 ③d1=d1-d2 ④s+=d1/d2下列选项中,代码顺序正确的是( )A. ④①② B. ④①②③ C. ①②④ D. ①②③④【答案】A【解析】【详解】本题考查Python程序设计相关内容。结合题目内容分析程序段,可推知:方框内是计算当前s的值,并转换下一个加数。序列求和公式是:s=s+d1/d2,下一个加数中的分子为d1+d2,分母为上一步的d1,其转换公式为:d1=d1+d2,d2=d1-d2。参照给出4个代码,方框内代码顺序为:④①②。故本题答案是A选项。11. 有如下Python程序段import randomn=random.randint (4090)a=[]for i in range (2,n+1):while n%i==0:a.append(i) #列表a末尾追加一个元素in=n//iprint(a)执行程序段后,输出结果可能的是( )A. [2,2,2,9] B. [2,3,3,5] C. [2,3,3,7] D. [51]【答案】B【解析】【详解】本题考查Python程序设计相关内容。分析程序段,推知,变量n随机生成[40,90]之间的整数,该程序通过嵌套循环求n的质因子,并将n的质因子保存在列表a中。A选项中9不是质因子,不可能;选项C中2*3*3*7=126,不在[40,90]范围内,不可能;选项D中51不是质因子,不可能。故本题应选B。12. 有如下Python程序s1="0312"; s2="ABCDEFGH"m=0; c=""for i in range(len(s2)):k=int(s1[i%4])m=4*(i//4)c+=s2[k+m]执行该程序段后,变量c的值是( )A. "ADBCADBC" B. "ABCDEFGH" C. "AHBGCFDE" D. "ADBCEHFG"【答案】D【解析】【详解】本题考查的是Python循环语句。由程序中c += s2[k+m]可知,从s2 中取值由k+m确定,k的取值依次为“03120312”,而m的取值依次为“00004444”,可知k+m的取值依次为“03124756”,所以答案为“ADBCEHFG”,故本题应选D。二、非选择题(本大题共3小题,其中第13题8分,第14题9分,第15题9分,共26分)13. 尼克斯彻定理:任何一个大于等于1的整数的立方等于一串连续奇数之和,如:1^3=1,2^3=3+5,3^3=7+9+11。小明同学编写程序验证该定理,程序运行后输入4,则运行结果如图所示。请回答下列问题:(1)该程序运行后输入5,则运行结果为“验证结果:5^3=______”(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。n=int(input("请输入整数n:"))t=n**3for i in range(1,t,2):j, s=i,0______while ss+=j______if s==t:flag=Falseif not flag: breakw=str(n)+"^3="while s>0 and not flag:______if s==0:w+=str(i)else:w+=str(i)+"+"i+=2print("验证结果:",w)【答案】 ①. 21+23+25+27+29 ②. flag=True ③. j+=2 或者 j=j+2 ④. s-=i或者 s=s-i【解析】【详解】本题考查的是Python循环嵌套。(1)5^3=25*5,所以累加的中间数为25,前面两个数字-2,后面的两个数字+2。故答案为21+23+25+27+29。(2)从程序可知,flag是while循环的必要条件,故第一空是为flag赋初值True,所以答案是flag = True;当s==t时,则flag为False,表示找到了满足条件奇数初始值i。j的初值是i,s对j进行累加,则下一个j是j+2。所以第二空是对下一轮累加的j赋值,故答案为j+=2;当程序运行至“w= str(n) + "^3="”时,这时s为n的立方,i为要输出的奇数起始值,所以s需要执行累减 i(下一轮的i值+2),直至s为0,逐个输出所有的奇数。所以第三空处答案为s=i或 s=s-i。14. 小明下载了本校某次联考数据“kscj.csv”,每位学生均有6科成绩,数据无缺失。采用pandas模块读入数据,如图a所示(注意:本题图a、b、c中,均仅呈现前6条记录)。现对本次考试进行数据分析,请阅读程序,回答下列问题。图a图b(1)根据读入数据,创建格式如图b所示的DataFrame,各学科和总分列的初值均为“0”。请为______处选择合适代码选项(多选,填字母)。A.df[i]=0 B.df[cName[i]]=0C.df.insert(i,cName[i],0) D.df.insert(i+3,cName[i],0)importpandasaspd; importnumpyasnpdfs=pd.read_csv("kscj.csv", encoding="GBK")dfs=dfs.sort_values("学号",ascending=True)df=dfs.drop_duplicates(subset=['学号'],keep="first", ignore_index=True)#学号相同行仅保留首行df=df.drop(["学科","得分"],axis=1)#删除“学科”和“得分”列cName=["语文","数学","英语","物理","化学","生物","政治","历史","地理","技术","总分"]df.insert(1,"班级",df["学号"]//100) #参数:第1个列位置索引(0开始编号),第2个列标题,第3个列值foriinrange(11):#添加各学科列和总分列______(2)将dfs中的学科得分转存到df中对应学科,并计算总分。请为划线处填写合适代码。for i in df.index:idx=df.at[i,"学号"]student=______#dfs中筛选出学号为idx的6条相关记录for si in student.index:course=student.at[si,"学科"]df.at[i,course]=student.at[si,"得分"]df.at[i,"总分"]=_______图c图d(3)求出各科和总分的班级平均分,如图c所示。请为______处选择合适代码选项(单选,填字母)。A.groupby("班级",as_index=False).mean()B.groupby("班级",as_index=True).count()C.groupby("班级",as_index=False).sum()df=df.replace(0,np.nan)#np.nan表示空值,df中数据“0”用空值替换df=df.______df=df.drop("学号",axis=1)print(df)(4)绘制各班总分平均分对比图,如图d所示。请为划线处填写合适代码。importmatplotlib.pyplotaspltplt.bar(df.班级,______)plt.title("班级总分平均分对比图")pltshow()【答案】 ①. BD ②. dfs[dfs["学号"]==idx] ③. df.at[i,"总分"]+ student.at[si,"得分"] ④. A ⑤. df.总分 或 df["总分"]【解析】【详解】本题考查的是Python数据分析。(1)df中已经有学号、班级和姓名3列,由于列位置索引从0开始,新增第4列位置索引为3,列名保存在cName列表中,cName[i]依次访问各列列名,且每列初值均为0,所以可用标签法 df[cName[i]]=0,每次在df最右侧新增列,或者也可用方法函数df.insert(i+3, cName[i],0)直接指定列索引位置插入新列。故本题应选BD。(2)根据学号idx,从dfs筛选出学号为idx的6条相关记录故第一空应为:dfs[dfs["学号"]==idx];行索引为i的学生总分需要累加6科得分,student存储学生6科成绩,si是student的行索引,student.at[si,"得分"]取得一科成绩,故第二空应为:df.at[i,"总分"]+ student.at[si,"得分"]。(3)根据图c可知,班级列不是分组统计结果的行索引,故as_index=False,且求的是组内求各列平均值,因此统计(聚合)函数应用mean(),故选A。(4)根据小题的图d可知,根据总分绘制各班柱形图,故此处应为:df.总分 或 df["总分"]。15. 现有一设备状态检测装置,每隔1秒检测一次,检测到的状态码共有四种,分别为:“AA”、“AB”、“BA”和“BB”,且变化缓慢。检测装置持续采集设备状态码,并分批发送到远程主机处理。为减少网络带宽的占用和保密需要,需对每批待发数据进行压缩和动态加密处理。为实现上述功能,设计如下Python程序,某次运行界面如图所示。算法思想:Ⅰ.扫描待发送数据,将连续相同的状态码划分为一组,并统计组内状态码个数,且每组不超过9个,超过部分按同理划分。Ⅱ.根据本组状态码查询加密字典,获取对应加密号。若加密字典中不存该状态码,则进行注册并随机分配加密号。加密号范围0到3,且不重复分配。Ⅲ.根据本组状态码的加密号和组内状态码个数,生成压缩加密后的信息对。将所有信息对内的数字依次连接,生成新的待发送的动态加密后序列。原始状态码序列: BABABABABABABABABABABABABABABABABABAAAAAAAAAAAAAAAAAAAAAABA BABABABABABABABBABABABABABABABABABABBBBBBBBBBBBBBBBBBABABABAB ABABABABABABABABABABABABBABABABABABABABABABAAAAAAAAAAAAAAA 动态加密后序列:19192921091911390907191127 加密字典:BA:1,AA:2,AB:0,BB:3(1)若某次待发送原始状态码序列为“AAAAAABBBBBBAAAA”,加密字典:AA:3,BB:1,则其动态加密后的序列为______。(2)函数getdata功能:模拟获取设备原始状态码序列。随机产生2-16个连续相同状态码,记为1组,共产生n组。请为划线处填写合适代码。import random as rd#导入随机函数模块def getdata(n):state=["AA","AB","BA","BB"]data=""for i in range(n):si=rd.randint(0,3)#产生范围[0,3]内的随机整数count=rd.randint(2,16)data+=______*countreturn data(3)函数compress功能:原始状态码序列转换成动态加密后序列。请划线处填写合适代码。def compress(s):n=len(s); rst=[]; c=1key=s[:2]for i in range(2,n,2):nxt=s[i:i+2]if _______:add(key,c,rst)#增加信息对到列表rstc=1_______else:c+=1add(key,c,rst)return rstdef add(key,c,rst):#函数add功能,将状态码key的加密号num和个数c配对,添加到列表rstnum=register(key) #函数register查询或注册key,返回值为加密号rst.append(str(num))rst.append(str(c))returnrst(4)函数register功能:列表keys中查询状态码key,若不存则分配随机加密号并注册。返回值为key对应的加密号。请为划线处填写合适代码。def register(key):if key in keys:i=0while key!=keys[i]:i+=1______else:idx=rd.randint(0,3) #产生随机加密号while idx in secret:idx=rd.randint(0,3)keys.append(key)secret.append(idx)return idx#主程序keys=[] #列表keys和secret组成加密字典,keys[i]和secret[i]分别存储状态码和加密号secret=[]s_data=getdata(10)c_data=compress(s_data)print("原始状态码序列:\n",s_data)print("动态加密后序列:",''.join(c_data))#join函数将c_data列表中的单个字符连接成字符串dic=""for i in range(len(keys)):dic+=keys[i]+":"'+str(secret[i])+","print("加密字典:",dic[:-1])【答案】 ①. 331332 ②. state[si] ③. nxt != key or c == 9 ④. key = nxt ⑤. idx = secret[i]【解析】【详解】本题考查Python程序设计相关内容。(1)“AAAAAABBBBBBAAAA”中,第一组“AAAAAA”加密字典中注册为AA:3,动态加密:33;第二组“BBBBBB”注册为 BB:1,动态加密:13;第三组“AAAA”状态码已注册,动态加密:32;故此处应填写为:331332。(2)结合函数功能,分析该程序段,下划线处应根据随机索引选择状态码,故此处应填写:state[si]。(3)结合函数功能,分析该程序段,③处,当遇到一个与前面不相同的状态码,或已经有9个相同状态码,应划为一组,进行压缩加密编码,故此处应填写:nxt != key or c == 9。④处,add 函数添加信息对,完成一组状态码处理,而当前状态码 xt 是新一组第1个,应保存到key,后续状态码与key比较以确定是否属于同一组。故此处应填写:key = nxt。浙江强基联盟2023学年第一学期高二12月联考技术学科试题考生须知:1.考生答题前,务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸上。2.选择题答案须用2B铅笔将答题纸上对应题目的答案标号涂黑,改动后须将原填涂处用橡皮擦净。3.非选择题的答案须用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后须用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。第一部分 信息技术(共50分)一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)1. 小明快速跑步一段距离到达了体检的场地,用心电监护仪测出的心率是120次/分。心电监护仪是一种用于监测患者心电图的医疗设备,它通常由一个传感器、一个主机和一个屏幕组成,可以通过导线连接至患者的身体。传感器通过黏贴在患者胸部的电极片采集心率信号,主机对信号进行处理并显示在屏幕上,以便医护人员实时监测患者的心电状况。下列关于数据、信息和知识的说法,不正确的是( )A. 数字“120”是数据B. 休息片刻,小明的心率会下降,这是知识的体现C. 休息片刻,测得小明的心率为70次/分,说明信息具有真伪性D. 随后,班里同学都知道了小明测出的心率是120次/分,说明信息具有可传递性和共享性2. 小明快速跑步一段距离到达了体检的场地,用心电监护仪测出的心率是120次/分。心电监护仪是一种用于监测患者心电图的医疗设备,它通常由一个传感器、一个主机和一个屏幕组成,可以通过导线连接至患者的身体。传感器通过黏贴在患者胸部的电极片采集心率信号,主机对信号进行处理并显示在屏幕上,以便医护人员实时监测患者的心电状况。下列关于数据采集与数字化的说法,正确的是( )A. 心电监护仪通过传感器采集心率数据B. 心率数据只能通过传感器采集得到C. 传感器采集到的心率信号属于数字信号D. 若主机对信号进行处理得到的二进制数据为“10011101”,也可用十六进制“9C”表示3. 下列关于信息编码的说法,正确的是( )A. 只有计算机中才有信息编码B. ASCII码是一种汉字编码C. 扫描二维码的过程属于信息编码D. 采用8位色进行编码的BMP图像,其颜色数量总共有256种4. 下列关于数据管理与安全的说法,正确的是( )A. 利用计算机对数据进行管理一定比手工管理高效B. 数据库管理相比文件管理,优势在于数据共享、冗余减少C. 传输数据时可以通过数据校验提高数据的保密性D. 将电脑中的资料备份到移动硬盘中,是为了提高数据本身的安全5. 下列关于大数据与大数据处理的说法,不正确的是( )A. 大数据价值密度低,“提纯”大数据可以让其发挥更大的价值B. 高速公路中实时产生车流量数据属于静态数据C. 词频统计是文本数据处理中特征提取的一种方法D. 经过处理后的大数据,利用可视化技术,有助于快捷观察与追踪数据6. 某种AI是一种基于规则的聊天机器人技术,它需要建立大量的规则库才能回答人类的问题,这些规则包括语法、语义和词汇等方面。实现这种人工智能的方法属于( )A. 符号主义 B. 联结主义 C. 行为主义 D. 进化主义7. 下列关于人工智能说法,不正确的是( )A. 行为主义人工智能采用强化学习机制提升自己的智能水平B. 家用扫地机器人可以自动完成清扫工作,说明人工智能能改善人类生活C. 购物时,机器客服与人工客服协作解决顾客问题,体现了跨领域人工智能的应用D. 人工智能的发展会取代一些工作岗位,也可能会威胁人类安全8. 某算法的部分流程图如图所示。若输入n的值为23,则输出sum的值为( )A. 2 B. 3 C. 4 D. 59. 已知s="2023杭州亚运",则下列Python表达式中,值为True的是( )A. s[1]=="2" B. s[2:4]==23 C. len(s)==7 D. 510. 小明编写了一个程序,计算序列2/1+3/2+5/3+8/5+……的前n项之和。该序列从第2项起,每一项的分子是前一项分子与分母之和,分母是前一项的分子。程序代码如下:n=int (input("请输入整数n:"))d1, d2=2, 1s=0for i in range (1,n+1):print("前n项的和为:",round(s,2)) #round(s,2)功能:使s保留2位小数程序运行后输入3,则运行结果如第10题图所示。方框处的代码由以下部分组成:①d1=d1+d2 ②d2=d1-d2 ③d1=d1-d2 ④s+=d1/d2下列选项中,代码顺序正确的是( )A. ④①② B. ④①②③ C. ①②④ D. ①②③④11 有如下Python程序段import randomn=random.randint (4090)a=[]for i in range (2,n+1):while n%i==0:a.append(i) #列表a末尾追加一个元素in=n//iprint(a)执行程序段后,输出结果可能的是( )A. [2,2,2,9] B. [2,3,3,5] C. [2,3,3,7] D. [51]12. 有如下Python程序s1="0312"; s2="ABCDEFGH"m=0; c=""for i in range(len(s2)):k=int(s1[i%4])m=4*(i//4)c+=s2[k+m]执行该程序段后,变量c的值是( )A. "ADBCADBC" B. "ABCDEFGH" C. "AHBGCFDE" D. "ADBCEHFG"二、非选择题(本大题共3小题,其中第13题8分,第14题9分,第15题9分,共26分)13. 尼克斯彻定理:任何一个大于等于1的整数的立方等于一串连续奇数之和,如:1^3=1,2^3=3+5,3^3=7+9+11。小明同学编写程序验证该定理,程序运行后输入4,则运行结果如图所示。请回答下列问题:(1)该程序运行后输入5,则运行结果为“验证结果:5^3=______”(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。n=int(input("请输入整数n:"))t=n**3for i in range(1,t,2):j, s=i,0______while ss+=j______if s==t:flag=Falseif not flag: breakw=str(n)+"^3="while s>0 and not flag:______if s==0:w+=str(i)else:w+=str(i)+"+"i+=2print("验证结果:",w)14. 小明下载了本校某次联考数据“kscj.csv”,每位学生均有6科成绩,数据无缺失。采用pandas模块读入数据,如图a所示(注意:本题图a、b、c中,均仅呈现前6条记录)。现对本次考试进行数据分析,请阅读程序,回答下列问题。图a图b(1)根据读入数据,创建格式如图b所示的DataFrame,各学科和总分列的初值均为“0”。请为______处选择合适代码选项(多选,填字母)。A.df[i]=0 B.df[cName[i]]=0C.df.insert(i,cName[i],0) D.df.insert(i+3,cName[i],0)importpandasaspd; importnumpyasnpdfs=pd.read_csv("kscj.csv", encoding="GBK")dfs=dfs.sort_values("学号",ascending=True)df=dfs.drop_duplicates(subset=['学号'],keep="first", ignore_index=True)#学号相同行仅保留首行df=df.drop(["学科","得分"],axis=1)#删除“学科”和“得分”列cName=["语文","数学","英语","物理","化学","生物","政治","历史","地理","技术","总分"]df.insert(1,"班级",df["学号"]//100) #参数:第1个列位置索引(0开始编号),第2个列标题,第3个列值foriinrange(11):#添加各学科列和总分列______(2)将dfs中的学科得分转存到df中对应学科,并计算总分。请为划线处填写合适代码。for i in df.index:idx=df.at[i,"学号"]student=______#dfs中筛选出学号为idx的6条相关记录for si in student.index:course=student.at[si,"学科"]df.at[i,course]=student.at[si,"得分"]df.at[i,"总分"]=_______图c图d(3)求出各科和总分的班级平均分,如图c所示。请为______处选择合适代码选项(单选,填字母)。A.groupby("班级",as_index=False).mean()B.groupby("班级",as_index=True).count()C.groupby("班级",as_index=False).sum()df=df.replace(0,np.nan)#np.nan表示空值,df中数据“0”用空值替换df=df.______df=df.drop("学号",axis=1)print(df)(4)绘制各班总分平均分对比图,如图d所示。请为划线处填写合适代码。importmatplotlib.pyplotaspltplt.bar(df.班级,______)plt.title("班级总分平均分对比图")plt.show()15. 现有一设备状态检测装置,每隔1秒检测一次,检测到的状态码共有四种,分别为:“AA”、“AB”、“BA”和“BB”,且变化缓慢。检测装置持续采集设备状态码,并分批发送到远程主机处理。为减少网络带宽的占用和保密需要,需对每批待发数据进行压缩和动态加密处理。为实现上述功能,设计如下Python程序,某次运行界面如图所示。算法思想:Ⅰ.扫描待发送数据,将连续相同的状态码划分为一组,并统计组内状态码个数,且每组不超过9个,超过部分按同理划分。Ⅱ.根据本组状态码查询加密字典,获取对应加密号。若加密字典中不存在该状态码,则进行注册并随机分配加密号。加密号范围0到3,且不重复分配。Ⅲ.根据本组状态码的加密号和组内状态码个数,生成压缩加密后的信息对。将所有信息对内的数字依次连接,生成新的待发送的动态加密后序列。原始状态码序列: BABABABABABABABABABABABABABABABABABAAAAAAAAAAAAAAAAAAAAAABA BABABABABABABABBABABABABABABABABABABBBBBBBBBBBBBBBBBBABABABAB ABABABABABABABABABABABABBABABABABABABABABABAAAAAAAAAAAAAAA 动态加密后序列:19192921091911390907191127 加密字典:BA:1,AA:2,AB:0,BB:3(1)若某次待发送原始状态码序列为“AAAAAABBBBBBAAAA”,加密字典:AA:3,BB:1,则其动态加密后的序列为______。(2)函数getdata功能:模拟获取设备原始状态码序列。随机产生2-16个连续相同状态码,记为1组,共产生n组。请为划线处填写合适代码。import random as rd#导入随机函数模块def getdata(n):state=["AA","AB","BA","BB"]data=""for i in range(n):si=rd.randint(0,3)#产生范围[0,3]内的随机整数count=rd.randint(2,16)data+=______*countreturn data(3)函数compress功能:原始状态码序列转换成动态加密后序列。请为划线处填写合适代码。def compress(s):n=len(s); rst=[]; c=1key=s[:2]for i in range(2,n,2):nxt=s[i:i+2]if _______:add(key,c,rst)#增加信息对到列表rstc=1_______else:c+=1add(key,c,rst)return rstdef add(key,c,rst):#函数add功能,将状态码key加密号num和个数c配对,添加到列表rstnum=register(key) #函数register查询或注册key,返回值为加密号rst.append(str(num))rst.append(str(c))returnrst(4)函数register功能:列表keys中查询状态码key,若不存则分配随机加密号并注册。返回值为key对应的加密号。请为划线处填写合适代码。def register(key):if key in keys:i=0while key!=keys[i]:i+=1______else:idx=rd.randint(0,3) #产生随机加密号while idx in secret:idx=rd.randint(0,3)keys.append(key)secret.append(idx)return idx#主程序keys=[] #列表keys和secret组成加密字典,keys[i]和secret[i]分别存储状态码和加密号secret=[]s_data=getdata(10)c_data=compress(s_data)print("原始状态码序列:\n",s_data)print("动态加密后序列:",''.join(c_data))#join函数将c_data列表中的单个字符连接成字符串dic=""for i in range(len(keys)):dic+=keys[i]+":"'+str(secret[i])+"," 展开更多...... 收起↑ 资源列表 浙江省强基联盟2023-2024学年高二上学期12月联考技术试题 Word版含解析 .docx 浙江省强基联盟2023-2024学年高二上学期12月联考技术试题 Word版无答案 .docx