资源简介 12024学年第一学期镇海中学考前仿真试题技术本试题卷分两部分,第一部分信息技术,第二部分通用技术。满分100分,考试时间90分钟。考生注意:1.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先用2B铅笔,确定后必须使用黑色字迹的签字笔或钢笔描黑,答案写在本试题卷上无效。第一部分 信息技术(共50分)一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)1. 下列关于数据信息的说法,正确的是( )A. 收集的数据有时不直接具备价值和意义B. 随着传感器的应用,大数据时代数据的结构化程度越来越高C. 电脑中的音乐数据属于模拟数据D. 科学测量设备的提升提高了测量精度,说明修正之前的数据是错误数据,体现了数据具有真伪性2. 过去几年,西工大长期遭受美国国家安全局网络攻击,利用多种网络武器窃取敏感武器科研数据,也涉及我国关键基础设施与人员信息,引发广泛关注。下列关于提升西工大信息系统安全的说法不正确的是( )A. 敏感设备需要开启软件防火墙来预防病毒B. 即使内网也应该加密传输信息,防止被中间设备窃取内容C. 通过可移动设备(U盘)植入病毒是典型的入侵攻击手段,敏感设备应禁止可移动设备的接入D. 合理分配用户权限,即使个别账号密码被盗取,也能控制影响范围,属于身份认证技术3. 我国首款3A游戏《黑神话悟空》在国内外掀起西游热潮,游戏角色“天命人”的流畅生动、真实的棍棒动作令人印象深刻,制作过程中大量应用了真人动作捕捉技术和AI动作预测生成技术,下列选项是关于该技术的介绍,请判断与之对应的说法正确的是( )A. 演员演示动作过程中有多台相机360度拍摄。人工智能模型需要学习这些采集到的数据来强化模型生成动作动画的连贯性。该人工智能属于强化学习流派B. AI可以通过风格迁移算法将某种风格的动作迁移到新的角色。例如,将武术的动作风格应用到不同体型的角色上,而无需重新捕捉。体现出跨领域人工智能C. 人类负责主导动作的创意设计、场景规划和角色行为的核心逻辑,AI一键生成重复动画,修复不连贯动作。体现了混合增强人工智能技术D. 在使用AI技术之前需要大量的人力把动作附到虚拟角色中,现在不需要这些劳动力了,体现出人工智能导致的失业大于就业4. 下列关于编码的说法正确的是( )A. 矢量图能够保证不论放大多少倍都清晰,说明其保存的信息量足够多,因此容量较大B. 图像A为5120×2880像素,位深度为24位的位图,将其转换为2560×1440像素的16色的位图图像B。则图像A与图像B的存储容量之比为24:1C. jpg图片作为未压缩格式,保留了图片原始内容,适合在互联网传播D 音频数字化过程中量化位数与声音保真度成反比5. 某农业公司利用智能温室系统实时监控植物生长环境。该系统通过传感器收集温室内的温度、湿度、光照强度等数据,并将这些信息通过串口传输到智能终端并上传至云服务器。温室管理人员可通过智能手环或面部识别进入温室,并通过专用的管理网页查看植物的生长状态和环境数据;农场游客可以在家通过手机APP了解农业种植的知识、远程预约参观,并通过扫描二维码进入温室参观。在温室内,游客还可通过虚拟现实技术观看不同的种植场景与未来农业的趋势。下列关于该系统的组成和功能的说法,正确的是( )A. 被观测的植物是这个信息系统一部分,也是信息系统的用户B. 数据最终会被存储在服务器的ROM中,方便后期分析处理C. 虚拟现实技术的引入体现了信息系统的数据收集和输入功能D. 游客进入温室扫描的二维码是信息系统的组成部分6. 某农业公司利用智能温室系统实时监控植物生长环境。该系统通过传感器收集温室内的温度、湿度、光照强度等数据,并将这些信息通过串口传输到智能终端并上传至云服务器。温室管理人员可通过智能手环或面部识别进入温室,并通过专用的管理网页查看植物的生长状态和环境数据;农场游客可以在家通过手机APP了解农业种植的知识、远程预约参观,并通过扫描二维码进入温室参观。在温室内,游客还可通过虚拟现实技术观看不同的种植场景与未来农业的趋势。下列关于该系统的说法中,正确的是( )A. 传感器与智能终端通信,没有网络协议支持B. 刷智能手环就能进入温室,是因为手环是RFID读写器C. 为了使用预约参观功能,游客需要连接该公司的WIFI网络D. 为了防止设备IP冲突,云服务器应该开启DHCP协议7. 某算法的部分流程图如下,变量ys={"110" : "A","111" : "B","10": "C","0" : "D"},raw= “111101100”,程序运行结束以后,下列说法错误的是( )A. 程序输出为“BCAD”B. 判断语句i < len(raw)一共执行了9次C. 如果ys新增“101”:“F”,程序将得到相同输出D. 这是一个单重循环8. 某完全二叉树包含8个节点,其根节点在后序遍历序列、中序遍历序列中的位置序号分别记为x,y,则x-y的值为( )A. 3 B. 4 C. 5 D. 69. 有如下函数定义:def func(nums, k) :que = [0] * k ; head, tail = 0, 0 ; result = []for i in range(len(nums)) :if head < tail and i - que[head] >= k :head +=1while head < tail and nums[i]>nums[que[tail-1]] :tail -= 1que[tail] = itail += 1if i >= k - 1result.append(nums[que[head]])return result假设输入的nums为[1, 3, -1, -3, 5], k的值为3,调用该函数以后,函数返回的结果为( )A. [3, 3, 5,5, 5] B. [-1, -3, -3] C. [3, 3, 5] D. [-1, -3, -3,-3,-3]10. 在图片分类任务训练神经网络时,损失函数的值(模型错误预测程度)通常会在训练开始阶段时较高,随着训练轮数的增加而逐渐下降,直到达到最小值(即最优解),但继续训练可能会导致出现过拟合现象(此时损失函数的值反而增高),小明使用如下算法确定效果最好时损失函数的值def find_peak(arr):left, right = 0, len(arr) - 1while left <= right:mid = (left + right) // 2if arr[mid] <= arr[mid - 1] and arr[mid] <= arr[mid + 1]:return arr[mid]elif arr[mid] > arr[mid - 1]:right = mid - 1else:left = mid + 1return -1loss = [95, 87, 65, 48, 21, 15, 20, 28]peak_value = find_peak(loss) # 运行完以后 peak_value 为 15下列关于这个算法说法正确的是( )A. 该算法的时间复杂度是O(nlog2n)B. 该算法在单调递减的情况下也能正常运行C. 如果连续多轮损失函数的值都是最优解(如本例中:连续3轮都是15),则该算法可以找到第一次出现最优解的轮次D. 在本例中,函数返回时left和right分别是4,711. 有如下python程序段d = [9, 3, 1, 8, 4, 2]s = [0, 1, 2, 3, 4, 5]n = len(d)for i in range(1, n):key = s[i]j = i - 1while j >= 0 and d[s[j]] > d[key]:s[j + 1] = s[j]j -= 1s[j + 1] = keyprint(s)执行该程序过程中,第4次(从1开始计数)输出的内容为( )A. [2, 5, 1, 4, 3, 0] B. [2, 1, 3, 0, 4, 5] C. [2, 1, 4, 3, 0, 5] D. [2, 1, 0, 3, 4, 5]12. 使用列表d模拟链表结构(节点数大于0),每个节点包含数据区域和指针区域,head为头指针。现要判断链表是否为回文链表,如1->2->1就是回文链表。我们可以先找到中间节点,然后反转后半部分链表,最后逐节点比较前后部分链表节点的值,实现该功能的部分程序段如下,方框中应填入的正确代码为:def func(lst, head):p = q = headwhile q != -1 and lst[q][1] != -1:p = lst[p][1]①pre = -1; c = pwhile c != -1:②a,b = head, prewhile b != -1:if lst[a][0] != lst[b][0]:return Falsea,b = lst[a][1], lst[b][1]return Truelink_list =[[1, 3], [1, 4], [0, 1], [0, -1], [2, 0], [1, 2]]head = 2print(func(link_list, head)) # 输出: True方框中要填入的代码可能如下,为了实现程序功能下列组合正确的是( )① ②if lst[q][1] == -1: q = 1st[q][1]else: q = - 1 if lst[q][1] != -1: q = lst[lst[q][1]][1]else: q = -l③ ④cn = lst[c][1]1st[c][1] = prepre = cc = cn c = cnlst[c][1] = prepre = ccn = lst[c][1]A. ①③ B. ②③ C. ①④ D. ②④二、非选择题(本大题共4题,其中第13小题8分,第14小题8分,第15小题10分,共26分)13. 网站注册需要有用户名和密码,编写程序以检查用户输入密码的有效性。合规的密码应满足以下要求:(1)只能由a~z之间26个小写字母、A~Z之间26个大写字母、0~9之间10个数字以及!@#$四个特殊字符构成。(2)密码最短长度:6个字符,密码最大长度:12个字符。(3)大写字母,小写字母和数字必须至少有其中两种,以及至少有四个特殊字符中的一个。输入格式:输入一行不含空格的字符串。约定长度不超过100。该字符串被英文逗号分隔为多段,作为多组被检测密码。输出格式:输出若干行,每行输出一组合规的密码。输出顺序以输入先后为序,即先输入则先输出。输入举例:seHJ12!@, sjdkffH$123, sdf!@&12HDHa!, 123&^YUhg@!输出举例:seHJ12!@sjdkffH$123实现上述功能的代码如下:s=input().split(",")for i in range(len(s)) :if len(s[i])<=5 or len(s[i])>=13 :________num1=num2=num3=num4=0flag1=flag2=flag3=flag4=0j=0while j < len(s[i]) :if s[i][j] >="a" and s[i][j] <="z" :num1+=1;flag1=1elif s[i] [j] >="A" and s[i] [j] <="Z" :num2+=1;flag2=1elif s[i] [j] >="0" and s[i] [j] <="9" :num3+=1;flag3=1elif s[i] [j] in " !@#$" :num4+=1;flag4=1________if ________ and flag1+flag2+flag3>=2 :print(s[i])(1)按照题目要求,判断“Ab321_@”是否是合格的密码_________(填:是/否)(2)请在划线处填上合格的代码14. 小明利用所学知识搭建了“小鸡自动孵化系统”,主要是为孵化箱提供一个合适的温度,模拟母鸡孵小鸡的过程。该系统结构示意图如图1所示。服务器端程序采用FlaskWeb框架编写,使用micro:bit作为智能终端,连接温度传感器采集温度数据(每分钟上传1次温度数据),传感器的数据由智能终端经IOT模块发送到Web服务器,当温度数据异常时(超过一定的温度范围),蜂鸣器会报警;也可以通过浏览器随时查询实时温度数据和历史温度数据,并且通过浏览器控制“温度调节器”调节环境温度。请回答下列问题:(1)“小鸡自动孵化系统”应用软件的实现架构是________(单选,填字母:A.B/S架构;B.C/S架构)(2)孵化器初步搭建完成后,测试时,通过浏览器可以随时查看孵化箱内实时温度数据,但蜂鸣器一直报警,请结合图1分析,可能的原因是________(注:智能终端与传感器和蜂鸣器连接正常)(3)若提交数据到Web服务器的URL为http://10.49.18.100:8080/temp id=1&val=30,则服务器端与该URL关联的路由设置语句是@app.route("_________")。(4)图2表格中所列是某一天传感器采集到的温度值(整点时的数据),利用所给数据,求当天的平均温度,并绘图显示当天温度变化(图3)。实现代码如下,请在划线处填上合适的代码。df=pd.read_excel("data1.xlsx")n=len(df)if n>60:st=n-60else:st=0Temp=[ ] ; sum=0for i in range(n-1,st-1,-1) : #求当前查询时刻最近 1 个小时的平均温度t=float( ) #获取温度值Temp.append(t)sum+=taverage=round(sum/len(df) ,1)time=[]for i in range(1,61): #用图表展示查询时刻之前 1 小时每分钟的温度情况timeappend(i)plt. ______ (time,Temp)plt.title("孵化箱最近 1 小时温度变化,最近 1 小时平均温度是"+ ______ +"度")pltxlabel("时刻")plt.ylabel("温度")plt.show( )15. 有一个内存大小为n的内存条a,起始为空,每次进来一个任务它都会占用空余的最前面的一段或多段内存,删除任务则解放它占用的所有内存部分。例如:n=100进内存 S01 20 S01 占用的内存为[0,20),a存储为[0,20)进内存 S02 10 S02 占用的内存为[20,30),a存储为[0,20), [20,30)进内存 S03 30 S03 占用的内存为[30,60),a存储为[0,20), [20,30), [30,60)删除 S02 内存[20,30)清空,a存储为[0,20), [30,60)进内存 S04 20 S04 占用的内存为[20,30),[60,70),a存储为[0,20), [20,30) , [30,60), [60,70)(1)已知内存大小为100的占用情况为[0,10),[20,25),[30,45),[70,75)。现有任务:进内存S021 30,所占用的内存区间为____________(2)在划线处填上合适代码a=[] #保存元素存储情况dict1={} ;tmp=0 #将任务名按照顺序对应 0,1,2,3…以便列表作为元素下标 ans=[ ]def add(name,v) :start=0i=0while i < len(a):now=a[i][0]-startif now>=v :a.insert(i, [start,start+v])ans[name].append(start)i+=1breakelif _________:a.insert(i, [start,a[i][0]])ans[name].append(start)v-=nowi+=1________i+=1def find(key) :L=0;R=len(a)-1while L<=R:m=(L+R)//2if a[m][0]==key:________elif a[m][0]L=m+1else:R=m-1def delete(name):for i in range(len(ans[name])) :t= ________a.pop (t)n=int(input( ))a.append([n+1,n+1])while 1 :T=input().split()if T[0]=='进内存' : #T[1]表示占用的任务名,T[2]表示任务内存大小 dict1[T[1]]=tmptmp+=1ans.append([])add(dict1[T[1]],int(T[2]))else: #T[1]表示删除的任务名delete(dict1[T[1]])print(a)2024学年第一学期镇海中学考前仿真试题技术第一部分 信息技术(共50分)一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)1.【答案】A2.【答案】D3.【答案】C4.【答案】B5.【答案】D6.【答案】A7.【答案】B8.【答案】A9.【答案】C10.【答案】D【答案】C12.【答案】B二、非选择题(本大题共4题,其中第13小题8分,第14小题8分,第15小题10分,共26分)13.【答案】 ①. continue ②. j+=1 ③. num1+num2+num3+num4==len(s[i]) and flag4==1 ④. 否14.【答案】 ①. A ②. 蜂鸣器故障;该传感器所在温度异常;程序阈值设置不合理 ③. /temp ④. df["温度"][i][0:-1]或df.at[i,"温度"][0:-1] ⑤. plot ⑥. str(average)15.【答案】 ① [10,20),[25,30),[45,60) ②. now!=0 ③. start = a[i][1] ④. return m ⑤. find(ans[name][i])PAGE第1页 展开更多...... 收起↑ 资源预览