资源简介 绝密★考试结束前浙江省A9协作体2023-2024学年高二下学期期中联考信息技术试题考生须知:1.本卷满分 100分,考试时间 90分钟;2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字;3.所有答案必须写在答题卷上,写在试卷上无效;4.考试结束后,只需上交答题卷。第一部分:信息技术(共 50分)一、选择题(本大题共 12小题,每小题 2分,共 24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)1. “2024年跳水世界杯蒙特利尔站比赛3月3日在加拿大蒙特利尔奥林匹克中心游泳馆落幕。中国跳水队包揽全部金牌,以9金1银2铜的成绩位列奖牌榜第一”综合上述报道,下列关于数据、信息与知识的说法,正确的是( )A 通过网络发布该信息无需载体B. “9金 1银 2铜的成绩位列奖牌榜第一”该段文字就是信息C. 上述报道发布在一个月前,在今天来看仍然具有价值性D. 不同的人根据上述报道所构建的知识肯定是相同的2. 某校使用“智能门禁系统”,师生可通过刷校园卡、人脸识别等方式过闸机进出校园,学生进出寝室时通过摄像头刷脸签到,并将采集到的数据存储在服务器的数据库中。宿舍管理员可以使用手机客户端通过短信验证、指纹识别等身份认证方式登录该系统,实时查看宿舍的考勤情况。下列关于该信息系统组成与功能的说法,正确的是( )A. 智能门禁系统属于系统软件B. 该系统的用户只有教师、学生、宿舍管理员C. 该系统的硬件包括闸机、摄像头、服务器、数据库等D. 该系统具有数据采集、存储和处理等功能3. 某校使用“智能门禁系统”,师生可通过刷校园卡、人脸识别等方式过闸机进出校园,学生进出寝室时通过摄像头刷脸签到,并将采集到的数据存储在服务器的数据库中。宿舍管理员可以使用手机客户端通过短信验证、指纹识别等身份认证方式登录该系统,实时查看宿舍的考勤情况。刷校园卡进出校园使用了RFID技术,以下说法不正确的是( )A. RFID属于通信技术,也属于传感器技术B. 作为 RFID两大基本元素之一的读写器是接收端C. 校园卡为无源电子标签,具有唯一的电子编码D. 刷校园卡需要在有效距离内,说明RFID仅能在近距离(10cm)内传输信号4. 某校使用“智能门禁系统”,师生可通过刷校园卡、人脸识别等方式过闸机进出校园,学生进出寝室时通过摄像头刷脸签到,并将采集到的数据存储在服务器的数据库中。宿舍管理员可以使用手机客户端通过短信验证、指纹识别等身份认证方式登录该系统,实时查看宿舍的考勤情况。下列关于该信息系统安全的说法,不正确的是( )A. 为了管理方便,对学生、教师、宿舍管理员设置相同的访问权限B. 短信验证属于动态口令验证方式,能够有效防止数据资源被非授权使用C. 对学生考勤数据进行加密处理可以提高数据的安全性D. 服务器安装防火墙可以有效地阻挡外部网络的攻击5. 下列关于计算机网络的说法,不正确的是( )A. 网际协议(IP)用于将信息从一个地方传送到另一个地方B. URL用于在因特网中定位文件,一般由网络协议、服务器地址、文件名三部分组成C. 无线网络中的数据通信不需要传输介质D. 网络可以实现网络中的数据资源共享,也可以实现软硬件资源共享6. 下列关于数字化的说法,正确的是( )A. 每个汉字的输入码是唯一的B. 将模拟信号转换成数字信号一般需要经过采样、量化与编码C. 录音时说话声音越大,音频文件占用的存储空间也越大D. ASCII码共有128个字符,十进制编码范围从1到1287. 谷歌 DeepMind近日推出人工智能 MuZero。MuZero使用了可自我学习的高性能机器学习模型,在国际象棋、围棋、将棋、Atari游戏等领域的表现超越人类。现在,科学家已经将MuZero计算机算法应用于优化视频压缩这一新的领域。结合上述材料,下列关于人工智能的说法正确的是( )A. MuZero“自我学习”的学习机制,属于符号主义的人工智能B. 从游戏人工智能跨界到优化视频压缩领域,属于领域人工智能的应用C. “超越人类”的描述说明当前人工智能已经具备人类的一切能力D. MuZero的成功应用预示着人工智能推动着人类社会的发展8. 某算法的部分流程图如下图所示,执行这部分流程,则输出的 f1,f2的值分别是( )A. 2,4 B. 4,8 C. 8,32 D. 32,2569. 有如下 Python程序段:if x>y:f=Falseelse:f=True下列语句中与上述程序段功能相同的是( )A. f=x>y B. f=x>=y C. f=x10. 有如下 Python程序,实现求字符串中的最长连续上升子串的长度。例如:字符串“hellopython”中的最长连续上升子串是“lopy”,长度为 4。s=input()n=len(s);c=1;max=1for i in range(1,n):if (1) :c=c+1if c>max:max=celse:(2)print(max)划线处可选代码为①c=1 ②c=0 ③s[i]s[i-1]划线处正确的语句依次为( )A. ③① B. ③② C. ④① D. ④②11. 有如下Python程序段:s="78.166.97.89."n=len(s);c="";max=""for i in range(n):if "0"<=s[i]<="9":c=s[i]+celse:if c>max:max=cc=""print(max)执行该程序后,输出的结果是( )A. 166 B. 98 C. 97 D. 8712. 有如下 Python程序段:import randoma=[0]*6for i in range(6):a[i]=random.randint(1,10) #随机生成 1到 10范围内的整数for i in range(5):if i%2==0 and a[i]>a[i+1]:a[i],a[i+1]=a[i+1],a[i]else:a[i]+=1print(a)执行该程序段后,a的值可能的是( )A. [11,11,7,9,3,9] B. [6,2,8,10,5,9] C. [6,9,3,7,8,12] D. [3,9,0,8,2,7]二、非选择题(本大题共 3小题,其中第 13小题 8分,第 14小题 9分,第 15小题 9分,共 26分)13. 学校气象社团的小丽同学收集了当地 2023 年全年的天气数据,数据存储在“天气数据.xlsx”文件中,部分数据如图a所示。图a为分析该年部分气温情况,编写 Python程序,请回答下列问题:(1)计算 2023年的日均气温, 输出全年日均气温的最高值及出现日均气温最高值的所有日期,输出结果如图b所示。图b实现该功能的程序如下,请在划线①处填入合适的代码。划线②处应选填入的代码为 (单选,填字母)。A.df1 B.df1.values C.df1.indeximport pandas as pddf=pd.read_excel("①____")df["日均温"]=(df["最高气温℃"]+df["最低气温℃"])/2df1=df.sort_values("日均温",ascending=False).日均温.head(1)Max=②____date=[]for i in range(len(df)):if df.at[i,"日均温"]==Max:date.append(df.at[i,"日期"])print("日均温最高值:",Max,"℃")print("日期:",date)(2)统计月平均气温(当月每天日均气温的平均),并绘制如图c所示的线形图,实现该功能的程序如下,请在划线③、④处填入合适的代码。图cdf["月份"]=""for j in range(len(df)):df.at[j"月份"]=df.at[j,"日期"][5:7]df2=df.groupby("月份",as_index=True).③____plt.plot(④____,df2["日均温"],label="月均温" )plt.xlabel("月份")plt.ylabel("温度℃")plt.legend()plt.show()14. 小明打算结合micro:bit,编写一个口算练习程序,实现随机产生九九乘法口诀中的乘法或两数之和不大于 100的加法。具体功能如下:①在电脑端输入出题数量n,依次生成 n道题目,每道题随机给出乘法或加法。②每回答一道题时,若正确,则在 micro:bit端 LED阵列显示“笑脸”,否则显示“哭脸”。③答完n道题目后,电脑端显示共练习了几道题,其中有几题回答正确。(1)请在划线①处填入合适的代码,完成电脑端程序。(2)结合电脑端程序分析,电脑端程序与 micro:bit通过串口号____进行通信。(3)micro:bit端程序中加框处代码与题意不符,请改正________。电脑端程序:import randomimport serialser=serial.Serial()ser.baudrate=115200ser.port="COM4"ser.open()c=0;i=1n=int(input("请输入题目数量:"))while i<=n:r=random.randint(0,1)if r==0:a=random.randint(1,9)b=random.randint(1,9)print(str(a)+"×"+str(b)+"=")else:a=random.randint(1099)b=random.randint(10,99)while ①____:a=random.randint(10,99)b=random.randint(10,99)print(str(a)+"+"+str(b)+"=")ans=int(input("请输入答案:"))if r==0 and a*b==ans or r==1 and a+b==ans:ser.write("H".encode())c=c+1else:ser.write("S".encode())i=i+1print("共练习了"+str(n)+"题,其中有"+str(c)+"题回答正确。")micro:bit端程序:from microbit import *while True:if uart.any():incoming=str(uart.read(),"UTF-8")if :display.show(Image.HAPPY)else:display.show(Image.SAD)(4)为了方便多人通过网页直接进行口算练习,小明计划利用 Flask Web 框架开发网页版。服务器 IP地址为:192.168.10.109,Web服务端口为 8081。网站功能页面规划如下:根据网站页面规划,至少需要设计____个视图函数。其中,访问错题页的URL是http://____。15. 编写一个加密程序,功能如下:输入明文和一串数字密钥,显示加密后的密文,加密算法如下:①将明文逆序排列,如明文“Python.org”,逆序后为“gro.nohtyP”;②循环利用数字密钥串的每一位数字 k,依次对字符串中的每个英文字母右移 k 个字母替代,其他字符保持不变。如:输入的数字密钥串为“2024”,“gro.nohtyP”的“n”是第 4个字母,使用密钥串“2024”中的第 4个数字“4”进行右移 4个字母替代,即“n”往后移 4个字母,得到的是“r”,如下表所示:③经过数字密钥串处理后,将字符串中的每个字符转换为 8位二进制 ASCII码值(不足 8位的左边补 0,补足 8位),并分成两段(左边 4位为高四位,右边 4位为低四位),如字符“i”的二进制 ASCII码值为 01101001,高四位为 0110,低四位为 1001;④将高四位转化为十六进制数(如 0110转化为 6);⑤将低四位与高四位执行异或( )操作后转化为十六进制数(提示:0 0=0,0 1=1,1 0=1,1 1=0,如 1001 0110=1111,1111转化为 F);⑥依次连接④⑤得到的两位十六进制数,即为该字符的密文,如“i”的密文为“6F”;⑦将每个字符的密文按照顺序依次连接即为最终的密文。程序运行结果如图所示。实现上述功能的 Python程序如下,请回答下列问题:(1)按照上述加密算法,经过数字密钥串处理后,字符“m”密文是____。(2)请在划线处填入合适代码。def xor(x,y): #两个一位二进制数异或if x==y:return "0"else:return "1"def DtoB(D): #十进制转 8位二进制,高位段和低位段根据规则处理B=""for i in range(8):r=D%2D=D//2B=str(r)+Bfor j in range(4):B=B[:j+4] +①____+ B[j+5:]return Bmingw=input("请输入明文:")key=input("请输入数字密钥串:")mingw=②____miw="";pos=0for i in range(len(mingw)):if "A"<=mingw[i]<="Z" or "a"<=mingw[i]<="z":if "A"<=mingw[i]<="Z":t=ord("A")else:t=ord("a")miw+=chr((ord(mingw[i])-t+int(key[pos]))%26+t)③____else:miw+=mingw[i]new=""for i in range(len(miw)):new+=DtoB(ord(miw[i]))hex="0123456789ABCDEF";result="";for i in range(0,len(new),4):n=int(new[i])for j in range(14):n=n*2+int(new[i+j])④____print("密文为:",result)绝密★考试结束前浙江省A9协作体2023-2024学年高二下学期期中联考信息技术试题考生须知:1.本卷满分 100分,考试时间 90分钟;2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字;3.所有答案必须写在答题卷上,写在试卷上无效;4.考试结束后,只需上交答题卷。第一部分:信息技术(共 50分)一、选择题(本大题共 12小题,每小题 2分,共 24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)1. “2024年跳水世界杯蒙特利尔站比赛3月3日在加拿大蒙特利尔奥林匹克中心游泳馆落幕。中国跳水队包揽全部金牌,以9金1银2铜的成绩位列奖牌榜第一”综合上述报道,下列关于数据、信息与知识的说法,正确的是( )A. 通过网络发布该信息无需载体B. “9金 1银 2铜的成绩位列奖牌榜第一”该段文字就是信息C. 上述报道发布在一个月前,在今天来看仍然具有价值性D. 不同的人根据上述报道所构建的知识肯定是相同的【答案】C【解析】【详解】本题考查的是数据、信息与知识的描述。信息具有载体依附性,必须依附于某种载体;“9金 1银 2铜的成绩位列奖牌榜第一”该段文字是数据;不同的人根据上述报道所构建的知识不相同。故本题应选C。2. 某校使用“智能门禁系统”,师生可通过刷校园卡、人脸识别等方式过闸机进出校园,学生进出寝室时通过摄像头刷脸签到,并将采集到的数据存储在服务器的数据库中。宿舍管理员可以使用手机客户端通过短信验证、指纹识别等身份认证方式登录该系统,实时查看宿舍的考勤情况。下列关于该信息系统组成与功能的说法,正确的是( )A. 智能门禁系统属于系统软件B. 该系统的用户只有教师、学生、宿舍管理员C. 该系统的硬件包括闸机、摄像头、服务器、数据库等D. 该系统具有数据采集、存储和处理等功能【答案】D【解析】【详解】本题考查的是信息系统组成与功能。智能门禁系统属于应用软件;该系统用户还包括维护人员、开发人员;数据库不是硬件。故本题应选D。3. 某校使用“智能门禁系统”,师生可通过刷校园卡、人脸识别等方式过闸机进出校园,学生进出寝室时通过摄像头刷脸签到,并将采集到的数据存储在服务器的数据库中。宿舍管理员可以使用手机客户端通过短信验证、指纹识别等身份认证方式登录该系统,实时查看宿舍的考勤情况。刷校园卡进出校园使用了RFID技术,以下说法不正确的是( )A. RFID属于通信技术,也属于传感器技术B. 作为 RFID两大基本元素之一的读写器是接收端C. 校园卡为无源电子标签,具有唯一的电子编码D. 刷校园卡需要在有效距离内,说明RFID仅能在近距离(10cm)内传输信号【答案】D【解析】【详解】本题考查的是射频识别技术。RFID分为低频、高频、超高频和微波频段,根据他们的特点,有不同的距离,传输距离从几十厘米到几十米都有,选项D说法错误。故选D。4. 某校使用“智能门禁系统”,师生可通过刷校园卡、人脸识别等方式过闸机进出校园,学生进出寝室时通过摄像头刷脸签到,并将采集到的数据存储在服务器的数据库中。宿舍管理员可以使用手机客户端通过短信验证、指纹识别等身份认证方式登录该系统,实时查看宿舍的考勤情况。下列关于该信息系统安全的说法,不正确的是( )A. 为了管理方便,对学生、教师、宿舍管理员设置相同的访问权限B. 短信验证属于动态口令验证方式,能够有效防止数据资源被非授权使用C. 对学生考勤数据进行加密处理可以提高数据的安全性D. 服务器安装防火墙可以有效地阻挡外部网络的攻击【答案】A【解析】【详解】本题考查信息系统安全。不同角色应有不同的访问权限,以确保系统安全和数据的保密性。对学生、教师、宿舍管理员设置相同的访问权限,可能导致权限滥用和数据泄露。故答案为:A。5. 下列关于计算机网络的说法,不正确的是( )A. 网际协议(IP)用于将信息从一个地方传送到另一个地方B. URL用于在因特网中定位文件,一般由网络协议、服务器地址、文件名三部分组成C. 无线网络中的数据通信不需要传输介质D. 网络可以实现网络中的数据资源共享,也可以实现软硬件资源共享【答案】C【解析】【详解】本题考查的是计算机网络。无线网络中的数据通信需要传输介质。故选C。6. 下列关于数字化的说法,正确的是( )A. 每个汉字的输入码是唯一的B. 将模拟信号转换成数字信号一般需要经过采样、量化与编码C. 录音时说话声音越大,音频文件占用的存储空间也越大D. ASCII码共有128个字符,十进制编码范围从1到128【答案】B【解析】【详解】本题考查数字化。A选项不正确。汉字的输入码不一定是唯一的,不同的输入法(如拼音、五笔等)可能对同一个汉字有不同的输入码。B选项正确。将模拟信号转换为数字信号的过程包括三个主要步骤:采样(以一定频率获取信号的瞬时值)、量化(将采样值映射到有限的离散值集合)和编码(将量化值转换为二进制代码)。C选项不正确。音频文件占用的存储空间主要取决于采样率、量化位数和录音时间,而不是声音的大小。声音越大,只会影响音频信号的振幅。D选项不正确。标准ASCII码共有128个字符,但它的十进制编码范围是从0到127。故答案为:B。7. 谷歌 DeepMind近日推出人工智能 MuZero。MuZero使用了可自我学习的高性能机器学习模型,在国际象棋、围棋、将棋、Atari游戏等领域的表现超越人类。现在,科学家已经将MuZero计算机算法应用于优化视频压缩这一新的领域。结合上述材料,下列关于人工智能的说法正确的是( )A. MuZero“自我学习”的学习机制,属于符号主义的人工智能B. 从游戏人工智能跨界到优化视频压缩领域,属于领域人工智能的应用C. “超越人类”的描述说明当前人工智能已经具备人类的一切能力D. MuZero的成功应用预示着人工智能推动着人类社会的发展【答案】D【解析】【详解】本题考查的是人工智能。MuZero“自我学习”的学习机制,属于联结主义的人工智能;从游戏人工智能跨界到优化视频压缩领域,属于跨领域人工智能的应用;当前人工智能并不具备人类的一切能力。故本题应选D。8. 某算法的部分流程图如下图所示,执行这部分流程,则输出的 f1,f2的值分别是( )A. 2,4 B. 4,8 C. 8,32 D. 32,256【答案】C【解析】【详解】本题考查的是流程图识读。阅读程序可知,初始f1=1,f2=2,循环中将f2更新f1*f2,f1更新f2,为当f1*f2>=10时,输出f1和f2。1*2=2,;2*2=4;2*4=8;4*8=32,更新f1为8,f2为32。故选C。9. 有如下 Python程序段:if x>y:f=Falseelse:f=True下列语句中与上述程序段功能相同的是( )A. f=x>y B. f=x>=y C. f=x【答案】D【解析】【详解】本题考查Python运算符与表达式相关内容。程序段功能:若x>y成立,f值为False;否则(x<=y),f值为True。分析四个选项,ABC选项不符合程序段功能,D选项符合。故本题答案是D选项。10. 有如下 Python程序,实现求字符串中的最长连续上升子串的长度。例如:字符串“hellopython”中的最长连续上升子串是“lopy”,长度为 4。s=input()n=len(s);c=1;max=1for i in range(1,n):if (1) :c=c+1if c>max:max=celse:(2)print(max)划线处可选代码为①c=1 ②c=0 ③s[i]s[i-1]划线处正确的语句依次为( )A. ③① B. ③② C. ④① D. ④②【答案】C【解析】【详解】本题考查的是Python循环和选择语句应用。由 range(1,n),可知依次比较i处与i-1处的字符,若大于则c递增,如果c大于max,则更新max的值,如果i处字符不小于i-1处的字符,则c初始化为1,继续新一轮的查找,故(1)、(2)、处语句依次为 s[i]>s[i-1]、c=1,故本题选C选项。11. 有如下Python程序段:s="78.166.97.89."n=len(s);c="";max=""for i in range(n):if "0"<=s[i]<="9":c=s[i]+celse:if c>max:max=cc=""print(max)执行该程序后,输出的结果是( )A. 166 B. 98 C. 97 D. 87【答案】B【解析】【详解】本题考查Python程序。程序的功能是找出字符串中连续的数字序列逆序列中的最大值。首先定义了字符串s,然后使用循环遍历字符串中的每个字符。在循环中,如果当前字符是数字,则将其添加到变量c的前面(逆序列),如果当前字符不是数字,则比较c和max,将较大的值赋给max,并将c清空。程序执行完毕后,输出的结果为最大的连续逆序列。在这个字符串中,连续的数字序列逆序列为"87"、"661"、"79"、"98",而其中最大的字符串是"98"。故答案为:B。12. 有如下 Python程序段:import randoma=[0]*6for i in range(6):a[i]=random.randint(1,10) #随机生成 1到 10范围内的整数for i in range(5):if i%2==0 and a[i]>a[i+1]:a[i],a[i+1]=a[i+1],a[i]else:a[i]+=1print(a)执行该程序段后,a值可能的是( )A. [11,11,7,9,3,9] B. [6,2,8,10,5,9] C. [6,9,3,7,8,12] D. [3,9,0,8,2,7]【答案】A【解析】【详解】本题考查Python程序设计相关内容。randint(1,10) 随机生成1到10范围内的整数,分析程序段,可知:列表索引为偶数同时比后一个元素大时,交换两数;其余情况列表元素值在产生的随机数基础上加1。程序执行结果肯定:a[0]<=a[1],a[2]<=a[3],a[4]<=a[5]。B选项,a[0]>a[1]的情况不可能出现,选项错误。C选项,a[5]索引为奇数,则a[5]值为生成的随机数(1~10)加1,不可能是12,选项错误。D选项,randint(1,10) 随机生成1到10范围内的整数,a[2]不可能为0,选项错误。故本题答案是A选项。二、非选择题(本大题共 3小题,其中第 13小题 8分,第 14小题 9分,第 15小题 9分,共 26分)13. 学校气象社团的小丽同学收集了当地 2023 年全年的天气数据,数据存储在“天气数据.xlsx”文件中,部分数据如图a所示。图a为分析该年部分气温情况,编写 Python程序,请回答下列问题:(1)计算 2023年的日均气温, 输出全年日均气温的最高值及出现日均气温最高值的所有日期,输出结果如图b所示。图b实现该功能的程序如下,请在划线①处填入合适的代码。划线②处应选填入的代码为 (单选,填字母)。A.df1 B.df1.values C.df1.indeximport pandas as pddf=pd.read_excel("①____")df["日均温"]=(df["最高气温℃"]+df["最低气温℃"])/2df1=df.sort_values("日均温",ascending=False).日均温.head(1)Max=②____date=[]for i in range(len(df)):if df.at[i,"日均温"]==Max:date.append(df.at[i,"日期"])print("日均温最高值:"Max,"℃")print("日期:",date)(2)统计月平均气温(当月每天日均气温的平均),并绘制如图c所示的线形图,实现该功能的程序如下,请在划线③、④处填入合适的代码。图cdf["月份"]=""for j in range(len(df)):df.at[j,"月份"]=df.at[j,"日期"][5:7]df2=df.groupby("月份",as_index=True).③____plt.plot(④____,df2["日均温"],label="月均温" )plt.xlabel("月份")plt.ylabel("温度℃")plt.legend()plt.show()【答案】 ①. 天气数据.xlsx ②. B ③. mean() ④. df2.index【解析】【详解】本题考查Python程序设计相关内容。结合题目内容,分析程序段,推知:(1)read_excel()函数是pandas库中用于读取Excel文件的函数。本题中,Excel文件名为“天气数据.xlsx”,此处通过read_excel()函数读取“天气数据.xlsx”文件,故①处答案是:天气数据.xlsx。②处,上文以通过sort_values()函数完成以“日均温”降序排序,此处获取日均温最高值,其值为df1.values,故此处答案是:B。(2)③处,通过groupby函数对每月日均气温进行分组统计并计算每月平均值,故此处答案是:mean()。④处,plt.plot()是Matplotlib库中用于绘制线图(折线图)的主要函数之一,它的作用是将一组数据点连接起来,以可视化数据的趋势、关系或模式。此处以月份(df2.index)和日均温为参照创建折线图,故此处答案是:df2.index。14. 小明打算结合micro:bit,编写一个口算练习程序,实现随机产生九九乘法口诀中的乘法或两数之和不大于 100的加法。具体功能如下:①在电脑端输入出题数量n,依次生成 n道题目,每道题随机给出乘法或加法。②每回答一道题时,若正确,则在 micro:bit端 LED阵列显示“笑脸”,否则显示“哭脸”。③答完n道题目后,电脑端显示共练习了几道题,其中有几题回答正确。(1)请在划线①处填入合适的代码,完成电脑端程序。(2)结合电脑端程序分析,电脑端程序与 micro:bit通过串口号____进行通信(3)micro:bit端程序中加框处代码与题意不符,请改正________。电脑端程序:import randomimport serialser=serial.Serial()ser.baudrate=115200ser.port="COM4"ser.open()c=0;i=1n=int(input("请输入题目数量:"))while i<=n:r=random.randint(0,1)if r==0:a=random.randint(1,9)b=random.randint(1,9)print(str(a)+"×"+str(b)+"=")else:a=random.randint(10,99)b=random.randint(1099)while ①____:a=random.randint(10,99)b=random.randint(10,99)print(str(a)+"+"+str(b)+"=")ans=int(input("请输入答案:"))if r==0 and a*b==ans or r==1 and a+b==ans:ser.write("H".encode())c=c+1else:ser.write("S".encode())i=i+1print("共练习了"+str(n)+"题,其中有"+str(c)+"题回答正确。")micro:bit端程序:from microbit import *while True:if uart.any():incoming=str(uart.read(),"UTF-8")if :display.show(Image.HAPPY)else:display.show(Image.SAD)(4)为了方便多人通过网页直接进行口算练习,小明计划利用 Flask Web 框架开发网页版。服务器 IP地址为:192.168.10.109,Web服务端口为 8081。网站功能页面规划如下:根据网站页面规划,至少需要设计____个视图函数。其中,访问错题页的URL是http://____。【答案】 ①. a+b>100 ②. COM4 ③. incoming=="H" ④. 4 ⑤. 192.168.10.109:8081/wrong【解析】【详解】本题考查的是Python 编程和 micro:bit 硬件。(1)两数之和不大于 100的加法,由下两行代码可知重新生成了两个数,即前面生成的两数之和大于100,故此处应为:a+b>100。(2)由ser.port="COM4"可知电脑端程序与 micro:bit通过串口号COM4。(3)由print("共练习了"+str(n)+"题,其中有"+str(c)+"题回答正确。")可知c统计正确的答题数,进而由 ser.write("H".encode())可知显示“笑脸”的条件是:incoming=="H"。(4)有四个页面的规划,故至少需要设计四个视图函数;由表中可知访问错题页是/wrong,服务器 IP地址为:192.168.10.109,Web服务端口为 8081,故访问错题页的URL是http://192.168.10.109:8081/wrong。15. 编写一个加密程序,功能如下:输入明文和一串数字密钥,显示加密后的密文,加密算法如下:①将明文逆序排列,如明文“Python.org”,逆序后为“gro.nohtyP”;②循环利用数字密钥串的每一位数字 k,依次对字符串中的每个英文字母右移 k 个字母替代,其他字符保持不变。如:输入的数字密钥串为“2024”,“gro.nohtyP”的“n”是第 4个字母,使用密钥串“2024”中的第 4个数字“4”进行右移 4个字母替代,即“n”往后移 4个字母,得到的是“r”,如下表所示:③经过数字密钥串处理后,将字符串中的每个字符转换为 8位二进制 ASCII码值(不足 8位的左边补 0,补足 8位),并分成两段(左边 4位为高四位,右边 4位为低四位),如字符“i”的二进制 ASCII码值为 01101001,高四位为 0110,低四位为 1001;④将高四位转化为十六进制数(如 0110转化为 6);⑤将低四位与高四位执行异或( )操作后转化为十六进制数(提示:0 0=0,0 1=1,1 0=1,1 1=0,如 1001 0110=1111,1111转化为 F);⑥依次连接④⑤得到的两位十六进制数,即为该字符的密文,如“i”的密文为“6F”;⑦将每个字符的密文按照顺序依次连接即为最终的密文。程序运行结果如图所示。实现上述功能的 Python程序如下,请回答下列问题:(1)按照上述加密算法,经过数字密钥串处理后,字符“m”的密文是____。(2)请在划线处填入合适代码。def xor(x,y): #两个一位二进制数异或if x==y:return "0"else:return "1"def DtoB(D): #十进制转 8位二进制,高位段和低位段根据规则处理B=""for i in range(8):r=D%2D=D//2B=str(r)+Bfor j in range(4):B=B[:j+4] +①____+ B[j+5:]return Bmingw=input("请输入明文:")key=input("请输入数字密钥串:")mingw=②____miw="";pos=0for i in range(len(mingw)):if "A"<=mingw[i]<="Z" or "a"<=mingw[i]<="z":if "A"<=mingw[i]<="Z":t=ord("A")else:t=ord("a")miw+=chr((ord(mingw[i])-t+int(key[pos]))%26+t)③____else:miw+=mingw[i]new=""for i in range(len(miw)):new+=DtoB(ord(miw[i]))hex="0123456789ABCDEF";result="";for i in range(0,len(new),4):n=int(new[i])for j in range(1,4):n=n*2+int(new[i+j])④____print("密文为:",result)【答案】 ①. 6B ②. xor(B[j],B[j+4]) 或 xor(int(B[j]),int(B[j+4])) 或其他等价答案 ③. mingw[::-1] 或''.join(reversed(mingw))或其他等价答案 ④. pos=(pos+1)%len(key)或其他等价答案 ⑤. result=result+hex[n] 或 result+=hex[n]【解析】【详解】本题考查Python综合应用。(1)字符“m”的ASCII值是109,逆序排列和密钥处理后,按题目要求进行加密。m右移2位是“o”,其ASCII值为111,二进制是01101111,高四位是0110,即6,低四位是1111,与高四位0110异或得到1001,转成16进制是B,因此“m”的密文是6B。故答案为:6B。(2)第一个空中,我们需要对二进制字符串的高四位和低四位进行异或操作。B是一个包含8位二进制数的字符串,B[j]是高四位的第j位,B[j+4]是低四位的第j位。调用xor函数对这两个位进行异或操作并返回结果。由于B中的每一位都是字符,需要将其转换为整数再进行异或操作。xor(B[j],B[j+4])或xor(int(B[j]),int(B[j+4]))都能实现这一功能。第二个空中,需要将明文逆序排列。mingw[::-1]是Python中对字符串进行切片的方式,用于将字符串倒序排列。另一种方法是使用reversed函数并将结果连接成字符串,即''.join(reversed(mingw))。这两种方法都能实现明文的逆序排列。第三个空中,要求循环利用密钥串中的每个数字。在每次处理一个字符后,需要更新密钥的位置pos。通过pos=(pos+1)%len(key)可以实现密钥位置的循环,当pos到达key的末尾时,会重新从头开始。这一操作确保了密钥串被循环使用。第四个空中,要求将当前计算出的十六进制字符追加到结果字符串result中。hex[n]是一个十六进制字符,需要将其追加到result中。可以使用字符串连接操作result=result+hex[n]或简写形式result+=hex[n]。这两种方法都可以将新的十六进制字符追加到结果字符串中。 展开更多...... 收起↑ 资源列表 浙江省A9协作体2023-2024学年高二下学期期中联考信息技术试题(原卷版).docx 浙江省A9协作体2023-2024学年高二下学期期中联考信息技术试题(解析版).docx