资源简介 特训三一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)1.下列关于数据和信息的说法,正确的是( )A.数据与生活密不可分,单纯的数据也是有意义的B.数据的表现形式只能是数字信号C.信息依附于载体可体现信息的可存储性和传递性D.随着数据数量的增加和结构的多元化,数据管理越发向传统数据库技术发展2.下列有关人工智能的说法,正确的是( )A.知识的精确化编码是阻碍符号主义人工智能发展的一个瓶颈问题B.人工智能技术推动人类社会进步的同时,不可能威胁人类安全C.ChatGPT是经过大量文本数据训练的,是属于行为主义人工智能方法D.淘宝由机器客服与人工客服合作回答顾客问题是跨领域人工智能应用阅读下列材料,回答3至5题。智能仓库管理信息系统应用RFID射频识别技术,在每个货架边经过,盘点车或手持终端能够读取出货物的数量、种类,并进行统计,当库存数量与应有数量不相符时,系统发出警报提示。3.下列关于智能仓库管理信息系统组成的说法,不正确的是( )A.该信息系统的硬件设备包括计算机、移动终端、货架和打印机等B.该信息系统的用户只有仓管人员C.库存数据是该信息系统的数据之一D.该信息系统工作时使用了无线通信技术4.相较于传统的条形码和二维码仓库出入库管理系统,RFID技术具有的特点是( )A.光照条件不影响电子标签的识别B.一次只能扫描一张电子标签C.用记号笔在电子标签表面书写,可能造成该标签无法识别D.RFID标签也可以通过摄像头扫描识别5.为提高该信息系统的安全性,下列做法可行的是( )A.为所有用户设置统一的登录口令B.为不同身份的用户设置不同的访问权限C.直接在数据库服务器上对数据进行修改、删除等操作D.在服务器上用调试模式发布对外Web服务6.下列关于信息系统中网络说法错误的是( )A.网络的主要功能分为数据通信、资源共享和分布处理B.网络是由计算机系统、数据通信系统以及网络协议三部分组成C.网络可以分为计算机网络、移动通信网络和广播电视网络D.网络上传送信息至少通过三层协议分别为网际协议IP、传输控制协议TCP和应用程序协议AP7.某算法流程图如图所示,已知randint(0,10)函数可以产生闭区间[0,10]内的随机整数,执行完该流程图后,输出结果可能是( )A.6 6 6 6 6 B.10 12 16 18 22C.0 2 4 5 8 D.12 8 10 16 208.某四则运算的表达式二叉树如图所示,它所表示的算术表达式是( )A.(2*(8-5))*(6*3/9-7) B.2*8-5*6*3+9-7C.(2*8-5)*(6*3/(9-7)) D.(2*8-5)*6*3/9-79.设栈S和队列Q的初始状态为空,元素x1、x2、x3、x4、x5、x6依次通过栈S,一个元素出栈后即进入队列Q,若出队的顺序依次为x2、x4、x3、x6、x5、x1,则栈S的容量至少应该为( )A.2 B.3C.4 D.510.丑数是指不能被2、3、5以外的质数整除的数。判断丑数的自定义函数程序如下:def ugly(n):for i in [2,3,5]: return n==1若调用执行自定义函数ugly(30),下列说法正确的是( )A.函数返回值为False B.方框处程序应用了迭代算法C.该程序的时间复杂度为为O(n2) D.条件语句n%i==0执行了3次11.有如下Python程序段:s=[2,3,8,7,5]for i in range(len(s)-1):for j in range(len(s)-1,i,-1): if s[j] 执行该程序段,加框处语句被执行的次数是( )A.3 B.6C.8 D.1012.有如下Python程序段:from random import randints=″147″;q=[″″]*10;ans=″″head=tail=0for i in s:q[tail]=itail+=1for i in range(len(s)):t=randint(0,1)if t==0:q[tail]=q[head]tail+=1head+=1while tail>head:ans+=q[head]head+=1print(ans)运行该程序段,则输出的ans值可能性的数量是( )A.7 B.8C.27 D.28二、非选择题13.小范参加“科学玩家”绿色植物生态缸制作比赛,为此他搭建了“生态缸温度控制系统”。系统可以采集生态缸的气温,通过Wi Fi传输到服务器并存储到数据库,当气温过高或过低时通过执行器控制温控设备为生态缸维持合适的气温。请回答以下问题。(1)系统架构简图如图所示,图中①处连接的设备是________(选填:服务器/智能终端/路由器/防火墙)。(2)生态缸采集并发送气温数据的部分程序代码如下所示:from microbit import *;import Obloq#uart串口配置和初始化,并用Obloq连接Wi-Fi,准备发送数据,代码略while True:value=pin0.read_analog() #获取1号温度传感器数据,注意这是模拟值t=round(value*330/1024,1) #将模拟值转换成摄氏温度值errno,resp=Obloq.get(②________,10000) #向服务器发送数据#根据服务器反馈信息控制执行器进行温控,代码略sleep(1000*5)若某一时刻传感器获取到的温度值是27 ℃,它向服务器发送数据时使用的URL是http://192.168.113.5/data?id=1&v=27,请将划线处②的语句补充完整。(3)服务器端采用Flask框架搭建,其部分程序如下:import sqlite3;from flask import Flask,request,render_templateapp=Flask(_ _name_ _)@app.route('/')def index():#连接并读取数据库,获取传感器编号为1的所有气温值,用变量result保存,代码略tmp=result[-1][2] #获取最后一条记录中的气温值,保存在变量tmp中@app.route('/data',methods=['GET','POST'])def add():#获取智能终端传输的传感器编号id和气温v的值,并插入到相应数据表中#最后根据数据库中存储的气温临界值向智能终端发送反馈信息,代码略if _ _name_ _=='_ _main_ _':app.run(host=″192.168.113.5″,port=″80″)在add()视图函数中,需要将数据插入到数据表中,其操作语句如下:sql=″Insert Into sensorlog(sensorid,sensorvalue)values('%s','%s')″%(id,v)①cur=db.cursor() ②mit() ③db=sqlite3.connect(″temp.db″) ④cur.execute(sql);cur.close();db.close()那么其中①~④条语句正确的顺序是:________。(4)在上述程序的index()视图函数中,加框处语句试图用view.html模板渲染网页内容,并将tmp的值传递给网页模板变量temperature,但语句有误,正确的应该是________(单选,填字母)。A.return temperatureB.return render_template('view.html',temperature)C.return render_template('view.html',tmp=temperature)D.return render_template('view.html',temperature=tmp)14.小明老师收集了某次考试的选择题得分数据存储在″cj_data.xlsx″中,部分文件如图a所示:在讲评试卷前小明老师想对全年级的选择题的错误率和平均分进行大致了解,同时也需要针对个别班级进行详细分析,于是他编写了以下Python程序。请回答下列问题:(1)统计年级各选择题的错误率(选择题错误率=该题错误人数/总人数),程序输出如图b所示,并绘制柱状图如图c所示,Python程序如下,请在划线处填写合适的代码。各选择题的错误率为: {'第1题':4.95,'第2题':0.99,'第3题':1.98,'第4题':3.96,'第5题':2.97,'第6题':4.95,'第7题':2.97,'第8题':23.76,'第9题':27.72,'第10题':41.58,'第11题':8.91,'第12题':32.67}图bimport pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['KaiTi','SimHei','FangSong']dic={″第 1 题″:0,″第 2 题″:0,″第 3 题″:0,″第 4 题″:0,″第 5 题″:0,″第 6 题″:0,″第 7 题″:0,″第 8题″:0,″第 9 题″:0,″第 10 题″:0,″第 11 题″:0,″第 12 题″:0} #dic 存储各选择题错误率df=pd.read_excel(″cj_data.xlsx″)for j in df.columns[3:]:g=①________dic[j]=len(g) #统计各选择题错误人数for i in dic.keys():dic[i]=round(②________,2)print(″各选择题的错误率为:″)print(dic)df2=pd.Series(dic)plt.bar(③________,label='错误率')plt.legend()plt.show()(2)本次考试选择题的平均错误率为13.12%,由图可知,本次考试选择题超过平均错误率的题目共有________个。(3)定义cwl函数,功能为:获得指定班级低于年级平均分的选择题题号。统计各选择题平均分,并分析指定班级低于年级平均分的选择题题号,程序运行界面如图d所示,请在划线处填入合适代码:各选择题的平均分 第1题 1.900990 第2题 1.980198 第3题 1.960396 第4题 1.920792 第5题 1.940594 第6题 1.900990 第7题 1.940594 第8题 1.524752 第9题 1.445545 第10题 1.168317 第11题 1.821782 第12题 1.346535 dtype:float64 请输入查询班级:1班 1班低于年级平均分的题号有['第3题','第8题','第11题','第12题']图ddef cwl(bj,dfx,dfy):s=[]dfx=dfx[dfx.班级==bj]for j in dfx.columns[3:]:g=__________if g s.append(j)return sdf1=df.drop(['姓名','准考证号','班级'],axis=1).mean()print('各选择题的平均分')print(df1)x=input('请输入查询班级:')print(x+'低于年级平均分的题号有',cwl(x,df,df1)15.小明每次去商店购物,在确定消费金额后,他习惯优先使用大额面值的人民币。例如:小明某次消费金额为561元,现在他手里有一些各种面值的人民币,如下表所示:面值(元) 10 5 50 20 100 2 1数量(张) 5 2 7 3 4 11 7小明选择过程如下:第一步,剩余金额561>100,选择4张后删除100面值的数据;第二步,剩余金额161>50,选择其中3张后删除50面值的数据;第三步,剩余金额11<20,删除20面值的数据;第四步,剩余金额11>10,选择1张后删除10面值的数据;以此类推,判断能否在不找零的情况下完成支付。小明编写Python程序判断是否可行,若可行则输出方案,如图所示。请输入拥有纸币的金额:10,5,50,20,100,2,1 请输入各金额对应的张数:5,2,7,3,4,11,7 请输入消费金额:561 小明花561需要大额面值的人民币如下: [[100,4],[50,3],[10,1],[1,1]](1)由题意可知,若小明手上有4张10元,10张5元,50张1元,他需要消费36元,小明需要选择10元,5元,1元各________张(填数字,用逗号隔开)。(2)根据题意及小明的算法描述,我们发现在计算的过程中会涉及频繁删除数据的问题,因此我们选择使用链表来构建初始的有序(按纸币面值降序)数据。定义如下linkedlist(faceval,num)函数,参数faceval表示拥有纸币的面值,num为拥有相应面值纸币的数量,例faceval=[″10″,″5″,″20″],num=[″2″,″5″,″1″]。函数功能是以链表的方式构建符合描述的数据结构。为实现上述功能,请在划线处填入合适的代码。def linkedlist(faceval,num):n=len(faceval)money=[]head=0for i in range(n):if not money: money.append([int(faceval[i]),int(num[i]),-1])else: q=p=head while p!=-1 and money[p][0]>int(faceval[i]): q=p p=money[p][2] if p==head: money.append([int(faceval[i]),int(num[i]),head]) head=len(money)-1 else: money.append(________) money[q][2]=len(money)-1return money,head(3)实现计算过程的Python程序如下,请在划线处填入合适的代码。def find(left,head):select=[]cur=sortmoney[head]while head!=-1:if left head=cur[2] cur=sortmoney[head] continuei=1while i<=cur[1]: left-=cur[0] if ①________: select.append([cur[0],i]) if left==0: return select ②________ if head!=-1: cur=sortmoney[head] break else: return -1 i+=1return -1fv=input(″请输入拥有纸币的金额:″).split(',')#split(',')将字符串按照″,″切分成多个子串,并以列表方式保存下来(不包含分隔符)num=input(″请输入各金额对应的张数:″).split(',')sortmoney,head=linkedlist(fv,num)consume=int(input('请输入消费金额:'))choice=③________if choice!=-1:print('小明花%d需要大额面值的人民币如下:'%consume)print(choice)else:print(″无符合要求的方案!″)特训三1.C [本题考查数据与信息的概念。A选项单纯的数据是没有意义的,经过解释,数据才变得有意义。B选项数据的表现形式有数字、数值、文字、图形、图像、音频、视频等。D选项传统数据库已经很难管理,通过云计算,大数据等处理技术对数据进行管理。]2.A [本题考查人工智能的主要方法、应用和影响。C选项经过大量文本数据训练的是联结主义人工智能。]3.B [B选项信息系统人员指开发者、管理者、用户等与该系统有关的人员。]4.A [A选项RFID技术采用电磁感应技术。]5.B [B选项可以进行用户认证和访问控制。]6.B [B选项网络是由计算机系统、数据通信系统以及网络软件和网络协议三部分组成,缺少网络软件。]7.A [本题考查流程图的阅读与理解。分析流程图知:a数的范围是[0,20]内的偶数,B选项出现了22,C选项出现奇数5,都可以排除。当i是偶数时直接输出a的值,当i时奇数时b保存了前一个a的值,当前a的值比b的值大才有可能输出,否则i的值不变,且也不输出。因此奇数位是递增(或非递减)的偶数,偶数位只需偶数即可。D选项中10的值比12小,也不可能。]8.C [本题考查树的后序遍历。左子树为2*8-5,右子树为6*3/(9-7)。]9.B [本题主要考查的是栈和队列的特点。栈的特点是先进后出,而队列的特点是先进先出,根据出队顺序可知,出栈的顺序依次为x2、x4、x3、x6、x5、x1,在x2出栈前,栈里的元素为x2和x1,共2个元素;在x4出栈前,栈里的元素为x4、x3和x1,共3个元素;在x3出栈前,栈里的元素为x3和x1,共2个元素;x6出栈前,栈里的元素为x6、x5和x1,共3个元素;在元素x5出栈前,栈里的元素为x5、x1,共2个元素,因此,栈的最小容量应为3,答案为B。]10.B [本题考查算法思想应用。题目中对丑数的描述等价于:丑数是指只能被2、3、5整除的数。A选项30=2*3*5,30是丑数。B选项方框中程序为当n能被i整除时,不断求n除以i的商,是一个重复反馈的过程。C选项整个除的次数不会大于n,因此时间复杂度为O(n)。D选项除2、3、5过程中,一次能除通,一次条件不成立,条件语句n%i==0执行了6次。]11.A [加框处语句表示交换次数,从条件s[j]12.B [若产生t的值均为1,队列中元素全部出队,无元素入队,ans的值为空;只有1个元素入队,有3种可能;队列中有2个元素,则可能是14、17、47;队列中3个元素,则必须为147,因此总共数量为8。]13.(1)智能终端 (2)″data?id=1&v=″+str(t) (3)③①④② (4)D解析 本题考查信息系统的搭建相关知识。(1)从架构图看,①空处的设备连接了传感器和执行器,因此应该选择智能终端。(2)智能终端发送数据使用Obloq.get()函数其格式是路由加数据参数。由于发送URL是http://192.168.113.5/data?id=1&v=27,因此Obloq.get()函数的参数便是“/”后面部分字符串,程序用传感器获取的温度值由变量t保存。(3)连接数据库的语句顺序是:导入Sqlite3模块,建立数据库连接,建立读写游标,读写数据库,关闭游标与关闭数据库。(4)render_template()函数的第一个参数是网页模板文件名,后面的参数都是网页模板中的参数与数据传递,数据传递方式与赋值一致——将现有的变量或值传递给网页模板中的变量,只需分清视图函数中的变量和网页模板中的变量。14.(1)①df[df[j]==0] ②dic[i]/len(df)*100 ③df2.index,df2.values (2)4 (3)dfx[j].mean()解析 本题考查Pandas模块及数据处理相关知识。(1)①得分为0的数据集。循环逐列遍历所有选择题,g为每题答错,即得分为0的人数。②计算选择题错误率。错题统计结果放入字典dic中,形式如:{“第1题”:3,“第2题”:4……},选择题错误率=该题错误人数/总人数,而总人数为len(df)。③图表的数据源。x轴为题号,y轴为错误率,对应字典dic的键和值。(2)略。(3)结合函数的调用“print(x+'低于年级平均分的题号有',cwl(x,df,df1)”,可以看出自定义函数cwl(bj,dfx,dfy),三个参数分别为班级、原始数据df、所有选择题的年级平均分,结合题意,变量g应为班级bj的平均分,若当前题的平均分g,小于年级平均分dfy[j],则将题号连接到结果s。(3)空填:dfx[j].mean()。15.(1)3,1,1 (2)[int(faceval[i]),int(num[i]),p] (3)①left解析 本题考查链表节点创建、插入、删除的算法实现。(1)根据大额面值优先的原则,需3张10元、1张5元和1张1元。(2)构建一条币种面值降序的链表,当条件不成立时,将在当前节点p前插入新节点,新节点的数据区域值为int(faceval[i]),int(num[i]),指针区域值为插入节点的下一节点p。(3)①该币种能支付的条件。在主程序中调用函数linkedlist得到币种面值和数量链表sortmoney及头指针head,left表示要支付的金额,先不断遍历链表,找到支付该金额的最大币种并删除前面较大币种节点,如支付36元,先找到10元币种的节点cur,head指向币种10,删除前面的100元等节点。通过循环确定需最大币种的数量,每支付一张,left将减去该币种面值。当需支付剩余小于当前币种,或该币种已经用完,把该币种面值和数量添加到select列表。②在下一个小一点金额的币种中继续遍历。删除当前币种,head将移动到下一个币种。③调用find函数,判断消费金额consume是否在不找零的情况下完成支付,函数的参数中还需传币种链表的表头。 展开更多...... 收起↑ 资源预览