资源简介 浙江省选考科目考试绍兴市适应性试卷(2023 年 4 月)技术试题卷第一部分 信息技术解析(50 分)一、选择题(本大题共 12小题,每小题 2分,共 24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分)阅读下列材料,回答第 1至 2题。ChatGPT是一款聊天机器人,它能识别文本和语音信息,编写和调试计算机程序,进行音乐和文学创作,回答问题等。ChatGPT是使用深度学习、强化学习等来实现的,它所使用的海量训练数据主要来自于互联网上的各种文本数据。1.关于聊天机器人 ChatGPT,下列说法不.正.确.的是A.它能处理不同表达形式的数据 B.训练它所使用的海量数据属于大数据C.它编写的计算机程序内容是信息 D.它给出的问题答案一定是准确的【答案】D【解析】本题考查信息、数据、大数据及 AI的知识A.正确,它能识别文本和语音信息等B.正确,ChatGPT使用的海量训练数据来源于互联网,互联网上的数据满足大数据的 4特征C.正确,它编写的程序内容具有一定的意义,是我们所需要的东西,是信息D.错误,它给出的答案不一定准确,因为它使用训练的数据来源于互联网,互联网上的数据不一定 全部都是准确的。2.关于 ChatGPT中应用的人工智能技术,以下说法正确的是A.深度学习属于符号主义 B.深度学习需要手工构造知识库来进行C.强化学习体现的是一种自我学习的能力 D.通过强化学习提升能力无需经验支持【答案】C【解析】本题考查人工智能的知识点A.错误,深度学习属于是联结主义B.错误,深度学习基于数据驱动,不需要事先手动构造知识库C.正确,强化学习是让学习者事先不知道最终答案,而是在学习过程中不断尝试各种解决问题的途径,然后根据结果反馈来调整相应的学习方法,体现了一种自我学习的能力。D.错误,强化学习需要从过去的经验中不断学习,提升能力阅读下列材料,回答第 3至 5题。师生通过校园网,利用移动终端登录学校“电子图书馆系统”后,既能预约纸质书本借还时间,又可线上阅读电子书籍。该系统服务器通过数据库实时更新相关内容,并统计各项数据。3.下列关于该信息系统组成的说法,正确的是A.电子书籍属于该系统的数据 B.该系统中的用户只有师生C.服务器和数据库均属于该系统的硬件 D.校园网属于该系统的软件高三技术试题卷 第 1 页 共 10 页【答案】A【解析】本题考查信息系统的组成A.正确B.错误,系统的用户范围比较大,不仅包含开发人员、使用人员还有维护人员等C.错误,数据库属于是该系统的软件D.错误,校园网属于是该系统的网络4.以下关于该信息系统功能的说法,不正确的是A.提交预约时间,体现了数据输入功能 B.存储电子书籍,体现了数据存储功能C.更新数据库内容,体现了数据查询功能 D.统计借阅人数,体现了数据加工处理功能【答案】C【解析】本题考查信息系统的组成A.正确B.错误,系统的用户范围比较大,不仅包含开发人员、使用人员还有维护人员等C.错误,数据库属于是该系统的软件D.错误,校园网属于是该系统的网络5.为保证该信息系统数据的安全性,下列做法中不.合.理.的是A.对该系统采取病毒防护措施 B.对师生登录信息进行加密存储C.及时更新系统防堵漏洞 D.通过共享账户高效管理数据【答案】D【解析】本题考查信息系统的安全信息系统的安全与防护一般主要是从以下几个方面着手考虑。①硬件:磁盘阵列、异地容灾②软件:安装并启动防火墙、安装杀毒软件并经常杀毒、系统更新和升级、数据加密、备份等,原则是以防为主、查杀为辅所以 ABC均正确,D选项错误6.下列有关信息编码的说法不.正.确.的是A.编码是将信息进行形式转换的过程B.不同信息在计算机内均以二进制方式进行存储和处理C.相同数据经不同编码方式后生成的文件容量一定相同D.文本、图像、音频、视频文件的压缩过程属于编码【答案】C【解析】本题考查信息编码必修 1课本 P7:编码(Encoding)是信息按照某种规则或格式,从一种形式转换为另一种形式的 过程。解码是编码的逆过程。所以 A和 D正确。高三技术试题卷 第 2 页 共 10 页必修 1课本 P7: 数据的表现形式可以是文本、图形、图像、声音、视频等,但不管是哪种形式的数据,最终存储在计算机中的都是经过一定规则编编码后的二进制数字。 所以 B正确。选项 C: 字符串”111111”压缩为 6个 1,可以存储为”61”。很显然两者容量是不一样。所以选项 C错误。7.某算法的部分流程图如第 7题图所示,执行这部分流程,若入输 x的值为 29,依次输入 a的值为 2, 3,4, 0,则输出 c的值是A. 1 B.2 C.3 D.4【答案】B【解析】本题考查循环结构流程图执行方法:列表法执行 循环次数 a x c29 0① 2 24 1② 3 17 2③ 4 8 2④ 08.某表达式树如第 8题图所示,则该树的后序遍历结果是A. 3+7*5-8/2 B. 8/2*5+37-C. 37+5*82/- D. 82/5-3+7*【答案】C【解析】本题考查树的后序遍历: 左子树 右子树 父结点排除法: 根结点最后访问,“-”是根结点,最后输出,故排除 AD ;“*”是左子树的根,左子树遍历最后输出,故排除 B。9.有如下 Python程序:def f(n):if n==1:return "*"else:return n*f(n-1)print(len(f(4)))执行该程序,输出结果为A.4 B.6 C.10 D.24【答案】D【解析】本题考查递归函数的执行。高三技术试题卷 第 3 页 共 10 页递推过程 回归过程f(4) = 4*f(3) f(4)="************************"f(3)= 3*f(2) f(3)="******"f(2)= 2*f(1) f(2)="**"f(1) =”*”所以 len(f(4)) = 24 , 该算法是阶乘递归算法的变形。10.有如下 Python程序:a = [13, 7, 10, 21, 16, 9, 7, 25]k, p = a[0], 0for i in range(1, len(a)):if a[i] <= k:p = ik = a[p]print(p, k)执行该程序,输出结果为A. 7 6 B. 6 7 C. 1 7 D. 7 1【答案】B【解析】本题考查代码的分析与理解能力。本题程序,是标准的查找列表中最小值的代码。其中 p是最小值的下标,k是最小值。再根据条件:a[i] <=k。最小值的下标是 6,值是 7。正确选项 B。11.有如下Python程序:s = input()sq = [""] * 100head, tail, flag, res = 0, 0, True, ""for i in range(len(s)):if s[i] == "-":while head != tail:res += sq[head]head = head + 1if flag:sq[tail] = sq[head]tail, head = tail + 1, head + 1flag = not flagelse:sq[tail] = s[i]tail = tail + 1如输入的s为"Python-2023-",执行该程序,则变量res的值为A. "Pthony2230" B. "Ptoynh2203" C. "tPyhno2302" D. "yPntho2023"【答案】A【解析】本题考查队列的基本操作。代码基本逻辑,遇到'-'字符前,字符入队。遇到'-'字符后,队列中的元素按照一定的规则出队。其中关键在于对 flag 变量的把握。好在 4个选项差异较大,排除法可以较快选出正确答案。首先第一个出队的元素没高三技术试题卷 第 4 页 共 10 页有受到影响,一定是字符'P',排除选项 C、D。此时 flag==True,字符'y'重新进入队尾。接下来't'出队,此时,flag==False,对应重新入队的代码不执行。那么接下来就是'h'出队。正确答案 A12.有如下Python程序:import randomtarget = random.randint(20, 70)nums = [11,23,35,44,57,68,76,89] # 随机生成[20,70]区间内的一个正整数left, right, lst = 0, len(nums) - 1, []while left <= right:lst.append([left, right]) #为 lst追加一个元素mid = (left + right) // 2if nums[mid] == target:breakelif nums[mid] < target:left = mid + 1elif nums[mid] > target:right = mid - 1该程序段运行后,列表lst的长度不.可.能.为A. 1 B. 2 C. 3 D. 4【答案】D【解析】本题考查二分查找分析代码,所谓列表长度其实就是本段二分代码的查找次数。列表共 8个元素,最少 1次(有 break),最多 4次。根据中点取值 mid = (left + right) // 2,整个二分判定树第 4层节点出现在判定树的最右边,考虑到 target<=70,查找到 76时,不可能继续往右查找。所以 4次是不可能的。选 D其实这段二分代码有 break中断语句,也只可能是 4。二、非选择题(本大题共 3题,其中第 13题 8分,第 14题 9分,第 15题 9分,共 26分)13.小明为水培蔬菜实验室搭建了环境温湿度监测系统,该系统结构示意图如第 13题图所示。该系统可实时监测实验室环境温湿度数据,数据由智能终端经 IoT模块发送至Web服务器,若环境温湿度监测值超过设定阈值区间,则控制执行器调节温湿度,用户可通过移动终端访问 URL查看实时数据。(1)根据该系统的功能要求,第 13题图中①②③处的设备分别为 (单选,填字母)。A.①Web服务器 ②电源 ③执行器高三技术试题卷 第 5 页 共 10 页B.①路由器 ②Web 服务器 ③传感器C.①执行器 ②传感器 ③Web服务器(2)该系统Web 服务器端程序采用 Flask Web框架开发,服务器 IP为 100.168.30.11,端口号为 8080,采用 GET形式提交数据,各子页面功能如下表所示:序号 子页面路径 功能说明1 / 实时显示温度数据2 /set 提交温湿度数据并返回提示信息3 /data 统计显示历史数据若某一时刻传感器监测到环境温度值为 24.5,湿度值为 36,则提交数据至Web 服务器的 URL为(单选,填字母)。A. http:// 100.168.30.11:8080/data temp=24.5&hum=36B. http:// 100.168.30.11:8080/set temp=24.5&hum=36C. http:// 100.168.30.11:8080/set 24.5&36D. http:// 100.168.30.11:8080/ temp=24.5&hum=36(3)已知系统设有 m个监测点,服务器能正常接收数据,现抽取某一时刻的一组监测值进行异常监测。若某监测点温度与室内平均温度 avg 的差值超过正数 t,即为异常点。各监测点编号为 1~m, 其温度值存储于数组元素 a[0]~a[m-1]中,检测并输出异常点编号的 Python程序部分代码如下,加框处语句有误,请改正。i=0while i<= m- 1;if a[i]-avg >=t :print(“异常点编号为”,i+1)i=i+1(4)正确修改程序后,在系统调试过程中,发现仅有一处监测点一直存在异常,简要说明系统中可能造成上述问题的原因 。(本系统中通信网络、传感器与智能终端的连接均不存在问题。注:回答 2项,1项正确得 1分)【答案】(1)C(2)B(3)abs(a[i]-avg)>t(4)传感器故障、监测环境问题、数据传输问题(数据处理软件)、算法问题(阈值设定的合理性)【解析】本题考查信息系统的相关知识。(1)智能终端里主要有两类设备,分别是执行器和传感器,传感器获取数据执行器执行相关操作。另外数据库的数据肯定是和服务器建立起联系的,从第③空就可以判断出答案选 C。(2)根据题干描述得知采用的是 GET的形式来提交数据,结合表格中可观察到提交数据的子页面路由是/set则可确定选项在 B、C中间,其中 C选项没有利用变量很明显错误,故答案选 B。(3)根据题目描述中“若某监测点温度与室内平均温度 avg 的差值超过正数 t,即为异常点”可得两数相减有可能出现负数,故需要利用函数 abs来进行取绝对值。(4)有一处检测点一直存在异常,结合通信网络、传感器与智能终端的连接均不存在问题的前提下,我们可以推测可能是以下几种常见的错误类型网络 IOT模块出现故障、传感器采集数据发生故障、服务器对应的数据管理软件出现问题、阈值 t的取值不合理等。③app.run(host=“192.168.10.1”,port=8080) 服务器对外开放,访问地址为 http:// 192.168.10.1:8080高三技术试题卷 第 6 页 共 10 页④app.run(host=“0.0.0.0”,port=8080) 服务器对外开放,本机访问服务器,②和③两种都可,其他设备访问用③;如果不写 host和 port,依次对应两个参数。14.社区举行红歌比赛。本次比赛共设四首比赛曲目,每位选手随机抽选其中一首,作为自己的参赛曲目。活动负责人统计了本次比赛的相关数据并存储于“match.csv”文件中,文件部分内容如第 14题图 a所示。为分析本次比赛的结果情况,编写 Python程序。请回答下列问题:(1)定义 j函数,功能为:读取文件 file,返回每位参赛选手的总得分并填入数据表中(总得分=专家分*0.6+投票分*0.4)。函数代码如下,划线处应填入的代码为 。import pandas as pddef tj(file):df=pd.read_csv(file)for i in df.index: # df.index是 df对象的行索引df.at[i,"总得分"]= # at方法根据行、列标签选择单个值retum df(2)为查找得到每首比赛曲目的选手最高总得分,部分 Python程序如下,请在划线处填入合适的代码。df= ① #读取文件并计算总得分df=df.sort_values("总得分",ascending=False) #根据总得分进行降序排序dic={}for m in["曲目 1","曲目 2","曲目 3","曲目 4"]:j=0while j<=len(df)-1:if ② :dic[m]=dfatti,"参赛选手编号]break③print(dic)(3)统计每首参赛曲目的选手平均总得分,并绘制图表显示,如第 14题图 b所示。部分 Python程序如下,划线处应填入的代码为 。import matplotlib.pyplot as pltdf1=df.groupby("参赛曲目",as_index=False).mean() #分组并求平均值高三技术试题卷 第 7 页 共 10 页x = dfl.参赛曲目y =plt.bar(x,y)plt.xlabecl("曲目名称")plt.ylabel("平均得分")plt.show()【答案】(1) df.at[i,"专家分”]*0.6+df.at[i,"投票分"]*0.4或 df["专家分"][i]*0.6+df["投票分"][i]*0.4(2) ①tj("match.csv") ②df.at[j,"参赛曲目"]==m或 df["参赛曲目"][j]==m ③j=j+1(3)dfl.总得分【解析】本题考查 pandas数据处理相关知识(1)由题干可知:总得分=专家分*0.6+投票分*0.4,故(1)处填:df.at[i,"专家分"]*0.6+df.at[i,"投票分"]*0.4(2)①tj函数对传的文件求总分,此处调用函数,传入参数应为文件名,注意要加双引号,填:tj("match.csv")对 df对象按总分降序排序后,要查找每首曲目的最高得分,可以从上向下依次遍历 df的每一行。本题利用双循环,外循环枚举曲目 m,内循环从上到下遍历 df,若找到某一行参赛曲目与 m相同,即为该曲目最大值,此时添加入字典 dic即可。②处填:df.at[j,"参赛曲目"]==m③空与 while循环有关,此处为循环变量的增加,j=j+1(3)由题意与图 b可知,y轴数据为总得分的平均值,即 dfl.总得分15.操作系统管理 n个连续的内存单元,地址编号为 0 ~ n-1,可动态分配给多项作业使用。现有一个作业队列,其中记录了各项作业申请的内存单元数量、作业请求等情况。某作业执行时,会向系统请求分配一.段.连.续.的.内.存.单.元.(简称“块”),执行完后由系统回收该空闲块(回收后若存在连续的多个空闲块,则合并为一块)。系统分配内存的方法是:按作业请求从所有空闲单元中尽可能地挑选一个能满足要求的最小空闲块,当有多块满足要求时,选择起始地址编号最小的空闲块(能分配时则从该空闲块的起始地址开始分配:不能分配时则提示内存不足)。编写 Python程序模拟动态分配过程。请回答下列问题:(1)设有 500个内存单元,地址编号为 0 ~ 499,初始全部空闲。某队列作业顺序执行情况如第 15题图所示,则作业“J6”申请到的内存块起始地址编号为 。(2)定义如下函数 sortbysize(free),参数 free链表的各节点由空闲块的起始地址、块大小、链接地址描述,并按起始地址升序。函数功能是保持 free的链接结构不变,返回列表 lst,lst是 free中各节点按块大小升序、块大小相同按起始地址升序的索引序列。def sortbysize(free):#对链表 free进行排序,free[0]描述了链表的头指针、空闲块个数lst = []p = free[0][0] #free[0][0]为链表的头指针while p != -1:lst.append(p) #为 lst追加一个元素p = free[p][2]高三技术试题卷 第 8 页 共 10 页m = free[0][1] #free[0][1]为空闲块个数stk = [-1] * m; top =-1j = m – 1while j >= 0:tmp = lst[j]while top != -1 and free[tmp][1] > free[stk[top]][1]:lst[j] = stk[top]; j += 1; top -= 1top += 1; stk[top] = tmp; j -= 1while top > -1:j += 1; lst[j] = stk[top]; top -= 1return lst执行语句 lst = sortbysize([[1, 4], [0, 160, 2], [200, 120, 3], [350, 70, 4], [442, 70, -1]]),执行过程中变量top的值最大为 ,执行后 lst的值为 。(3)实现内存分配功能的代码如下,请在划线处填上合适的代码。def alloc(size, free): #分配内存,无法分配时返回-1,否则返回分配内存块的起始地址#检查 free链表,若有地址连续的多个空闲块则合并为一个空闲块,代码略if free[0][1] == 0: #free[0][1]为空闲块个数return -1lst = sortbysize(free)i = 0while i < len(lst) and ① :i += 1if i == len(lst):return -1prev = 0curr = free[0][0] #free[0][0]为链表的头指针while curr != lst[i]:prev = currcurr = free[curr][2]②if free[curr][1] == size: #分配空闲块,并更新链表 freeif prev != 0:free[prev][2] = free[curr][2]else:free[prev][0] = free[curr][2]free[0][1] -= 1else:③free[curr][1] -= sizereturn address'''读取并处理作业队列,free链表的各节点由空闲块的起始地址、块大小、链接地址描述,并按起始地址升序,代码略。若当前作业需要分配 size大小的内存块,则进行如下处理'''高三技术试题卷 第 9 页 共 10 页address = alloc(size, free)if address == -1:print("无法分配,内存不足!")else:print(address)【答案】(1)224(2)3 [3,4,2,1](3)① free[lst[i]][1] < size② address = free[curr][0] 或 address = free[lst[i]][0]③ free[curr][0] += size【解析一】(1)作业编号 内存块大小 作业请求 处理结果 分配/回收后空闲块链表状态J1 160 分配 分配 0~159 160~499J2 64 分配 分配 160~223 224~499J3 120 分配 分配 224~343 345~499J4 86 分配 分配 334~429 430~499J1 160 回收 回收 0~159 0~159、430~499J3 120 回收 回收 224~343 0~159、224~343、430~499J5 70 分配 分配 430~499 0~159、224~343J6 64 分配 分配 224~287 0~159、288~343(2)①题中已经说明了函数 sortbysize(free)的返回值是列表 lst,lst是 free中各节点按块大小升序、块大小相同按起始地址升序的索引序列。则容易得出 lst的值为[3,4,2,1]。②题中 stk是辅助栈,lst列表中原先为[1,2,3,4],stk辅助 lst列表中的值进行排序。在整个过程中当 top为最大值 3的时候,stk的值为[1,2,4,3]。(3)①#遍历空闲块列表 lst,找到第一个大小不小于 size的空闲块的索引,因此此处填 free[lst[i]][1] < size②当 curr等于 lst[i]时,说明找到了可以容纳大小为 size 的空闲内存块。因此,代码执行 address =free[curr][0],将该内存块的起始地址存储在变量 address 中。变量 address 存储了可以分配给请求的内存块的起始地址。③在找到大小为 size的空闲块后,如果该块内存的大小大于 size,则将该块的大小减去 size,以便在剩余空间中分配其他内存。【解析二】本题内存分配为背景总和考察了栈、链表的使用。第(1)小题可以画数轴或列出当前的“块”来思考。对于作业 J1~J4的内存依次分配为[0,159],[160, 223],[224,343],[344, 429],最后剩余空闲内存[430, 499],长度为 69。随着作业 J1和 J3的回收,最小能存放长度为高三技术试题卷 第 10 页 共 10 页70的块是原作业 J3的内存,即起始编号 224。第(2)小题要求从代码中读懂算法,当然在数据量不大的情况下也可以手动模拟。根据题意排序后的结果是一个索引序列,排序规则是块大小升序、起始地址升序,则 lst = [3, 4 , 2, 1]。执行过程中辅助栈的最大元素个数是 3。实际上这是双栈模拟排序算法,模拟排序时牢记两个原则:“原始栈当前元素个数 + 辅助栈当前元素个数 = 总元素个数”“维护一个降序的辅助栈”具体模拟过程不做展开。第(3)小题实现具体的内存分配。由于 lst是已排序的空闲内存起始位置索引列表,从头开始遍历列表 lst,保证找到最小的课容纳长度为 size 的空闲内存,即第①问答案 free[lst[i]][1] < size。第②问初始化 address,由于 if语句的特性只执行一个分支,即返回值 address可能未被赋值,所以需要提前对 address赋值,address = free[curr][0],即当前空闲内存的起点。将该长度为 size 的内存分配给新的作业后,这部分空闲内存减少了 size 长度,即起点后移 size,第③问答案 free[curr][1] += size。高三技术试题卷 第 11 页 共 10 页 展开更多...... 收起↑ 资源预览