资源简介 金华十校 2023 年 4 月高三模拟考试技术试题第一部分 信息技术(共 50 分)一、选择题(本大题共 12小题,每小题 2分,共 24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分)1.关于数据与大数据的说法,正确的是A.人类对于数据的利用不需要依赖载体B.数据具有价值,且价值不会发生变化的C.能用传统算法和数据库系统处理的海量数据不能算“大数据”D.电商平台的“个性化推荐”是基于大数据精确分析了用户购买商品的原因【答案】C【解析】本题考查数据和大数据的相关知识。A、B数据是对客观事物的符号表示,单纯的数据是没有意义的,信息才具有价值性,但信息的价值是相对的,对于不同的人群、不同的时间,其价值可能有所不同。C.数据量大并不一定就是大数据,用传统算法和数据库系统可以处理的海量数据不能算“大数据”D.大数据不再追求精确性,也不一定强调对事物因果关系的探求2.下列关于人工智能的说法,不.正.确.的是A.深度学习是需要人工构造知识库的人工智能方法B.强化学习是问题引导下的人工智能学习方法C.符号主义人工智能需要构建知识库和推理引擎,需要对知识进行精确编码D.跨领域人工智能依赖已有数据和规则,举一反三、触类旁通,开展深度推理【答案】A【解析】本题考查人工智能的相关知识。需要人工构造知识库的人工智能方法是符号主义人工智能阅读以下材料,回答第 3-5题。某智能家居系统——美居,是基于鸿蒙的全场景智能家居操作软件。各种智能家居设备连接到美居系统后,家庭成员都可以在手机、平板、电脑上使用“美居 APP”登录美居系统,远程实现“查询家中空调检测到实时温度、远程控制各类家居设备”等多种功能。3.下列关于该信息系统的说法,正确的是A.“美居 APP”可控制家中智能设备属于系统软件B.该系统中的用户包括“美居 APP”的开发人员C.该系统的硬件设备是指安装有美居 APP的手机D.该系统的运行对外部环境不存在任何依赖【答案】B金华十校高三模拟考(信息技术) 第 1页 共 14页【解析】本题考查信息系统的相关知识A.“美居 APP”是应用软件B.信息系统中的用户范围很广,包括开发人员C.信息系统的硬件包括计算机硬件、移动终端硬件和通信网络硬件D.信息系统的运行需要借助各类硬件,对外部环境的依赖是其最大的局限性4.下列关于该系统中数据与数据传输的说法,正确的是A.该系统用于“智能家居操控”,系统本身无需数据存储功能B.用户使用手机“美居 APP”控制智能家居,所有数据都将保存在手机上C.系统要实现“手机查询家中的实时温度”,可使用传感器获取环境温度D.用户在手机上用“美居 APP”的控制家居设备,数据传输过程无需连接因特网【答案】C【解析】本题考查信息系统中数据的获取、传输、存储的相关知识A.一个完整的信息系统需要具备数据存储功能B.在信息系统中,数据一般存储在数据库里C.信息系统通过传感器从外部世界采集信息D.信息系统需要借助网络,实现远程协作5.为了提升智能家居系统的安全性,下列说法正确的是A.在该系统中为所有的用户设置相同的访问控制权限B.建议用户将密码设置成由“数字、大小写字母和特殊符号”组成的强密码C.在家人外出时,关闭家里的计算机网络,可确保系统的稳定运行D.该系统可以用指纹识别登录系统,这是一种常用的访问控制策略【答案】B【解析】本题考查信息系统安全的相关知识A.为所有的用户设置相同的访问控制权限对信息系统的安全是不利的B.组成密码的字符种类多,密码强度大C.关闭网络,信息系统将无法运行D.利用指纹识别登录是依靠生物特征识别的身份认证技术6.下列关于网络系统的说法,正确的是A.将局域网接入互联网时,必须用交换机将私有地址转化为公有地址B.路由器开启 DHCP服务后,局域网中的设备联网可自动获取 IP地址C.网络由数据通信系统、网络软件、网络协议三部分组成D.手机可以直接链接无线网络,所以无线网络传输数据不需要传输介质【答案】B【解析】本题考查网络的相关知识。金华十校高三模拟考(信息技术) 第 2页 共 14页A.将局域网接入互联网,必须通过路由器将局域网的私有地址转化为公有地址B.动态主机配置协议 DHCP,主要作用是集中管理和分配 IP地址C.网络是由计算机系统、数据通信系统、网络软件和网络协议三部分组成D.无线网络的传输介质是无线电微波信号、红外信号等7.如第 7题图所示的流程图 a和 b的算法功能相同(x,y为不同的值),则图 b中①②③处应填入的内容是A.①m=y-x ②xB.①m=x-y ②x>y ③m=y-xC.①m=y-x ②x>y ③m=y-xD.①m=x-y ②x【答案】D【解析】本题考查流程图的相关知识图 a和图 b的功能相同,由图 a知,该流程图的功能是求变量 x和 y的差值的绝对值,因此可以先假设 x>y,则 m=x-y,如果 x8.下列 Python 表达式用于表示“一棵 n(n≥3,n为奇数)个节点的二叉树的叶子节点最大可能数量”,正确的是A.n-1 B.n//2 C.n//2+1 D.n/2【答案】C【解析】叶子节点个数 n0=分支为 2的节点个数 n2+1,又因二叉树的总结点个数=叶子节点个数 n0+分支为 1的节点个数 n1+分支为 2的节点个数 n2;当一棵二叉树分支为 1的节点个数 n1为 0时,叶子节点个数 n0达到最多。n0+0+n0-1=n,得到 n0=(n+1)//2,分支为 1的节点个数 n1为 0时,是满二叉树,总节点个数是奇数个,(n+1)//2等价于 n//2+1。9.下列关于线性表的描述,正确的是A.链表在访问、插入、删除节点操作时,算法效率比数组高B.栈是一种“先进先出,后进后出”的线性表结构C.循环队列是首尾相连的队列,数据入队时无需考虑是否会“溢出”D.字符串是元素个数有限的线性表结构【答案】D【解析】链表在访问时从头节点开始遍历,数组通过索引访问,所以遍历时链表相对数组要低。A选项错误;栈是一种先进后出,后进先出的线性表结构,B选项错误;循环队列解决了数据入队时的“假溢出”,对于真溢出情况是仍然存在的,C选项错误;D选项是正确的。10.有如下 Python程序:a=[0,20,23,23,24,24,31,48,49,73,75]key=int(input())金华十校高三模拟考(信息技术) 第 3页 共 14页c=0i,j=1,10while i<=j:m=(i+j)//2if a[m]<=key:i=m+1else:j=m-1c+=1print(c)若程序运行后,输出的结果是 3,则输入的 key可能是A.20 或 73 B.24 或 49 C.23 或 24 D.23 或 49【答案】B【解析】本题考查二分查找。注意点是原始查找范围是闭区间【1,10】而不是【0,10】,同时当找到==key的值时仍要往右边查找,结合二分查找判定树如下,当 key=20、24、49时,查找的次数是 3,当 key=23、31、73时,查找的次数是 4。所以正确答案为 B。11.计算“字符串 s1 在字符串 s2 中出现的次数”,是常见的字符串匹配问题。如下 Python程序用于解决这一问题,程序运行效果如第 11题图所示。s1=input()s2=input()n1,n2=len(s1),len(s2)c,i=0,0while (1) :for j in range(n1):if (2) :breakelse: 第 11题图c+=1print("第",c,"个在",i)(3)i+=1print("共有个数:",c)上述程序段中方框处可选代码为:①i<=n2-n1 ②i<=n1-n2 ③s1[i+j]!=s2[j]④s2[i+j]!=s1[j] ⑤i+=n1-1 ⑥i+=n1,则(1)(2)(3)处代码依次为A.②③⑥ B.①③⑤ C.②④⑥ D.①④⑤【答案】D【解析】本题算法思想是查找 s2中的每段长度为 n1的子串,是否与 s1同。while语句的条件是枚举 s2中每段的起点位置 i,有效范围是 0~n2-n1。s2每一段子串从起点位置 i开始逐一与 s1的每个字符比较,比较 n1次,金华十校高三模拟考(信息技术) 第 4页 共 14页途中一旦有不同字符,则直接退出比较,选取下一段的起点 i+1;当全部比较结束都相同说明字符串 s1在字符串 s2中出现了,统计出现次数 c+=1;然后输出且改变下一次比较的起点位置为 i+=n1,因为后面有语句i+=1,所以起点位置 i+=n1-1。所以 D选项正确。12.有如下 Python程序段:import randomq=["A","B","C","D","#"]head,tail=0,4s=[0]*5top=-1for i in range(5):t=random.randint(0,1) #随机生成 0 或 1if t==0 and headtop+=1;s[top]=q[head]head+=1elif t==1 and top!=-1:s[top]=0;top-=1执行该程序后,s 的值不.可.能.的是A.['A', 'B', 'C', 'D', 0] B.['D', 0, 0, 0, 0]C.[0, 0, 0, 0, 0] D.['A', 'C', 'D', 0, 0]【答案】B【解析】本题考查循环语句结合数据结构队列和栈的基本操作。A选项是:t依次产生 0,0,0,0,0时 q中队列元素依次出队入栈,最后 t=0且 head==tail时,没有任何操作。C选项是:t依次产生 1,1,1,1,1时 q中队列元素不出队也不入栈,因为一开始栈为空。D选项是:t依次产生 0,0,1,0,0时'A'、 'B'先后入栈,然后'B'出栈,再 'C'、 'D'依次入栈。B选项不可能。要是栈中第一个元素是'D',那么前面'A', 'B', 'C'都已经入栈且出栈了,那么执行的次数已经超过 5次了,'D'不可能再进栈。二、非选择题(本大题共 3 小题,其中第 13 小题 8分,第 14 小题 9 分,第 15 小题 9 分,共 26 分)13.小单设计并搭建了一个智能鱼缸系统。此系统可以对照明时长、水温、水位等数据进行监测与控制。小单搭建水位检测功能时,采用水位传感器实现低于预设水位时报警并自动加水,到达最高水位时停止加水的功能。系统支持远程访问,结构如第 13-1图所示。第 13-1 图(1)关于控制与反馈流程如第 13-2图所示,①②③处填空正确的是 (单选,填字母)。金华十校高三模拟考(信息技术) 第 5页 共 14页第 13-2图A.传感器 控制器 执行器 B.控制器 执行器 传感器C.传感器 执行器 控制器 D.控制器 传感器 执行器(2)根据本系统网络应用的软件架构,编写程序时需要编写 的程序(单选,填字母:A.服务器端/ B.客户端/ C.服务器端与客户端)。(3)用 Flask Web 框架编写网页实现“显示水位”,路由和视图函数如下所示,访问该网页的 URL是 。app=Flask(_name_)server=Server(host="172.168.0.1",port=80,threaded=True)@app.route('/show')def get():(4)鱼缸正常水位范围是 wmin~wmax,用 state=0,1,2分别表示水位正常、偏低和偏高,用程序实现根据当前水位 wl 设置相应的 state,符合要求的 。(多选,填字母。注:全部选对的得 2 分,选对但不全的得 1 分,不选或有选错的得 0 分)A.if wl> wmax: B.if wl< wmin: C.state=0 D.if wlstate=2 state=1 if wlelif wl< wmin: if wl> wmax: state=1 else:state=1 state=2 if wl>wmax: if wl>wmax:else: else: state=2 state=2state=0 state=0 else:state=0(5)系统运行一段时间后,有一次发现水位到达 wmin 值时,系统没有报警与自动加水。经检查 WEB服务器能访问数据库,Wi-Fi 也正常,原因可能是 。(注:回答两项,多答仅前两项有效。全对 2 分,1 对 1 错或仅有 1 项正确得 1 分)【答案】(1)B (1 分)(2)A (1 分)(3)http://172.168.0.1/show 或 http://172.168.0.1:80/show (2 分)(4)ACD (2 分)(5) ①水位传感不能检测水位高低 (水位传感器故障) (2 分)②执行器故障,自动加水设备不受控制③智能终端损坏,数据不能正常处理与反馈④物联网 IOT 模块损坏,数据不能正常传输 或其它合理答案。注:回答两项,多答仅前两项有效。全对 2 分,1 对 1 错或仅有 1 项正确得 1 分【解析】本题考察信息信息系统搭建(1)现实世界的数据通过传感器传入信息系统中,通过控制器对执行器发出相关指令,作用于受控对象。故①为控制器、②为执行器、③为传感器,选 B。(2)由图 13-1可知,该系统通过互联网让浏览器与服务器连接,采用的是 B/S架构,故仅需开发服务器端金华十校高三模拟考(信息技术) 第 6页 共 14页程序,故选 A选项。(3) 由程序代码可知,服务器的 IP地址为:172.168.0.1,端口号为 80,路由为:/show,故该网页的 URL为:http://172.168.0.1:80/show,由于 80端口是 http默认端口号,可以忽略不写。(4)本题考察分支语句的使用,根据题干,水位 wl>wmax 时,state的值应为 2,wl应为 1,介于二者之间时应为 0,B选项只分出了 wl>wmax和 wl<=wmax 两个范围,故选 ACD。(5)系统能正常运行,检查 WEB 服务器能访问数据库,Wi-Fi 也正常。只能从传感器、执行器去考虑。①水位传感不能检测水位高低 (水位传感器故障) (2 分)②执行器故障,自动加水设备不受控制③智能终端损坏,数据不能正常处理与反馈④物联网 IOT 模块损坏,数据不能正常传输 或其它合理答案。14.李老师收集了 2022 级学生“七选三”选课意愿数据,每个班的数据分别保存以’xk’+班级为命名的 xlsx文件中,如第 14-1图所示,每个文件记录了该班每位学生的选考科目选课情况,如第 14-2图所示。第 14题图 1 第 14题图 2为统计分析全年级“七选三”选课意愿数据,编写 Python 程序,请回答下列问题:(1)读取各班 xlsx 文件,并合并到一个 DataFrame 对象。程序代码如下,请在划线处填入合适的代码。def data(i):i=i+1if ① :t='0'+str(i)else:t=str(i)df_t=pd.read_excel('xk'+t+'.xlsx')return df_tn=12df=pd.DataFrame()for i in range(n):df=df.append( ② ,ignore_index=True) #在 df 末尾追加一个 DataFrame(2)统计“技术”选课人数占总人数的比例,并作出各个科目选课人数的柱形图。km={'物理':0,'化学':0,'生物':0,'政治':0,'历史':0,'地理':0,'技术':0}for i in range(len(df)):xk=df['选课'][i].split(',') #将'选课'字符串以逗号分割出来for j in xk:金华十校高三模拟考(信息技术) 第 7页 共 14页①print('选考技术占比: '+str(round( ② *100,2))+'%')df_km=pd.DataFrame({'科目':km.keys(),'人数':km.values()}) #转换为 DataFrameplt.title('选考各科目人数对比图')plt.bar( ③ ,df_km['人数'],label='各科目人数')plt.legend()plt.show()(3)分析第 14-3 图可知,选课人数最多的三门科目是_____________。【答案】(1) ① i<10 或者 i<=9 或其他等价答案② data (i)(2) ① km[j]+=1 或其他等价答案② km[’技术’]/len(df) 或其他等价答案③ df_km['科目’] 或其他等价答案(3)物理、化学、地理 (不分顺序)【解析】本题考查 pandas与 matplotlab模块相关知识。(1)① 空在班号前补 0,观察 14-1 图的文件名,可知当 i值介于 1—9之间时需要补 0,可填:i<10或 i<=9。② 自定义函数 data的功能是:代入班号,生成班级文件名,用 pd_read将对应文件转换为 dataframe 对象返回。②空填:data (i)。(2)①循环语句:for j in xk:遍历学生所选学科,统计各科选课人数,以科目为键将结果存入字典 km,填km[j]+=1。②空统计技术选考人数占总人数的比例,而总人数可以通过 len(df)得到,故填:km[’技术’]/len(df)③观察图表 14-3图,可知 x轴数据为科目,填:df_km['科目’]。(3)观察图表可知,选课人数最多的是物理、化学、地理。15.餐厅叫号系统是现代化餐厅常用的信息管理系统,小明设计了一款模拟餐厅叫号系统的程序。该程序在读取当天就餐信息(数据格式如 15-1图所示)后,可以模拟餐厅叫号的顺序,并计算出当天所有客人的等待时间。餐厅共有 3种不同类型座位,数量分别是 30、10、10。客人到达餐厅后,若对应类型的座位有空位,则直接安排客人点餐;若对应类型的座位没有空余,则需要排队等待其他客人离开后才能安排点餐。小明将原始数据读取后将时间格式“HH:MM”换算成分钟,然后按分钟数升序排列,再依次模拟餐厅叫号的过程,同时计算客人的等待时间,程序运行结果如第 15-2图所示。第 15-1图 第 15-2图(1)“data.csv”中的原始数据需要进行换算和排序后才能进一步处理,读取与排序的程序如下。a=[]金华十校高三模拟考(信息技术) 第 8页 共 14页def read_data(): #读取数据并排序df=pd.read_csv("data.csv")for row in df.values: #逐行读取数据到列表 rows=row[1] #将时间数据赋值到 sb,c=map(int,s.split(':')) #以“:”分割小时到 b,分钟到 cs=b*60+c #将 b 小时、c 分钟换算成 s 分钟a.append([row[0],s,row[2]]) #a 追加一个元素[row[0],s,row[2]]n=len(a)for i in range(n-1):for j in range(n-1,i,-1):if a[j][1]a[j],a[j-1]=a[j-1],a[j]①若“data.csv”文件中有 10 条记录,则上述程序中语句“if a[j][1]。(填数字)②若将上述程序中的语句“s=b*60+c”删除,仅以第 15-1 图可见的 6 条数据运行上述程序后,列表 a中元素依次为 。(2)实现模拟叫号程序并统计所有客人等待时间的部分 Python 程序如下,请在划线处填入合适的代码;read_data() #调用 read_data()函数完成数据读取及排序n=len(a)b=[0,30,10,10] #初始 3 种类型的座位数分别是 30,10,10h=[]q=[]for i in range(4):h.append([-1,-1]) #h 末尾追加一个元素[-1,-1]c=0①for i in range(n):m=a[i][0]if a[i][2]=="OUT":b[m]+=1if h[m][0]!=-1:total+= ②h[m][0]=q[h[m][0]][2]b[m]-=1print("类别为",m,"的客人在",a[i][1],"分点餐")else:if b[m]>0:b[m]-=1print("类别为",m,"的客人在",a[i][1],"分点餐")金华十校高三模拟考(信息技术) 第 9页 共 14页else:q.append([m,a[i][1],-1])if h[m][0]==-1:h[m][0]=cif h[m][1]!=-1:③h[m][1]=cc+=1print("所有客人等待时间:",total,"分钟")【答案】(1) ①45 (1分)②B (2分)(2) ①tota1=0 (2分)②a[i][1]-q[h[m][0]][1] (2分)③q[h[m][1]][2]=c (2分)【解析】本题考查冒泡排序、队列的链表存储和二维数组的应用。(1)①10 条记录冒泡排序的比较次数为 10*(10-1)/2=45。②删除“s=b*60+c”语句,s的值为字符串类型,按时间进行升序排列,比较的关键字是字符串。(2)程序的功能是用一个二维数组来模拟 3个队列,分别存储 3种不同类型客人的入队和出队情况。①tota1赋初值。最后输出等待时 total分钟,程序中进行 total+操作,因此需对该变量赋初值 0。②计算等待时间。从语句 q.append([m,a[i][1],-1])来看,q 是一个链表,存储的每位客人的类型和到达餐厅的时间;从条件 ifh[m][0]!=-1 和语句 h[m][0]=q[h[m][0]][2](下一个客人的位置),h列表的第 1个值是队首位置,第 2个值是队尾位置。对每个客人进行遍历,当前客人的等待时间是达到餐厅时间减去队首出队时间。③更新队尾在链表的位置。语句 q.append([m,a[i][1],-1])表示在 q链表最后加入一个节点,c表示入队的客人位置,因此需将上一个队尾的客人指向新入队的位置。金华十校高三模拟考(信息技术) 第 10页 共 14页 展开更多...... 收起↑ 资源预览