当前位置:首页>文档>浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术

浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术

  • 2026-02-17 09:20:58 2026-02-17 09:04:54

文档预览

浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术
浙江省2024年1月普通高校招生选考信息技术Word版含解析_2024年3月_013月合集_2024年1月浙江省普通高校招生考试_2024年1月浙江省普通高校招生考试信息技术

文档信息

文档格式
docx
文档大小
0.398 MB
文档页数
15 页
上传时间
2026-02-17 09:04:54

文档内容

绝密★启用前 2024 年 1 月浙江省普通高校招生选考科目考试 技术 本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页, 第二部分7至12页。满分100分,考试时间90分钟。 考生注意: 1.答题前,请务必将自己的姓名、准考证号用黑色宇迹的签字笔或钢笔分别填写在试题卷和 答题纸规定的位置上。 2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题 卷上的作答一律无效。 3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先 使用2B铅笔,确定后必须使用黑色字迹的签字笔或钢笔描黑。 第一部分 信息技术(共50分) 一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个 是符合题目要求的,不选、多选、错选均不得分) 1. 下列关于数据与信息的说法,正确的是( ) A. 数据以二进制方式编码后才能存储在计算机中 B. 大数据技术不能处理非结构化数据 C. 同一数据经解释后产生的信息都是相同的 D. 信息加工处理后不会产生更有价值的信息 【答案】A 【解析】 【详解】本题考查数据与信息相关内容。A选项,数据以二进制方式编码后才能存储在计算机中,选项正 的 确。B选项,大数据技术是一系列使用非传统 工具来对大量的结构化、半结构化和非结构化数据进 行处理,从而获得分析和预测结果的数据处理技术,选项错误。C选项,相同的数据可能有不同的解释, 所得到的信息也不同,选项错误。D选项,信息加工处理后,不一定会产生更有价值的信息,信息的价值 是相对的,选项说法不准确。故本题答案是A选项。 2. 下列关于信息系统安全与信息社会责任的说法,正确的是( ) 的 A. 多人共享账户,不会影响信息系统 安全 B. 定期查杀病毒可以确保信息系统免受网络攻击 C. 网络上的不当行为可能会触犯法律 D. 任何密码算法中的加密密钥与解密密钥必须相同【答案】C 【解析】 【详解】本题考查的是信息系统安全。多人共享账户,会影响信息系统的安全,选项A说法错误;定期查 杀病毒无法确保信息系统免受网络攻击,选项B说法错误;网络上的不当行为可能会触犯法律,选项C说 法正确;在非对称加密中,加密密钥与解密密钥不相同,选项D说法错误,故选C。 3. 某校图书馆管理系统中,工作人员通过计算机终端上的扫描仪扫描图书条形码,录入图书信息后完成入 库。师生借阅时,通过校园一卡通识别身份,利用RFID读写器识别图书中的电子标签以获取图书信息, 完成借阅后相关数据保存在服务器中。该系统所在的局域网接入因特网,图书查询功能基于B/S架构开发, 师生在馆内外都可使用计算机、手机等查询图书信息。下列关于该系统组成的说法,正确的是( ) A. 条形码扫描仪是输出设备 B. 服务器的存储器容量会影响系统性能 C. 该系统中的图书管理软件是系统软件 D. 该系统中的数据仅包含图书数据 【答案】B 【解析】 【详解】本题考查信息系统相关内容。A选项,条形码扫描仪属于输入设备,选项错误。B选项,内存的 存储能力是指内存能够存储的最大数据量,这直接决定了服务器的性能和并发能力,如果内存不足,服务 器处理大量数据时会出现延迟,甚至崩溃,选项正确。C选项,图书管理软件是应用软件,选项错误。D 选项,图书管理系统中的数据不仅仅包含图书数据,还包含借阅信息、归还记录等,选项错误。故本题答 案是B选项。 4. 某校图书馆管理系统中,工作人员通过计算机终端上的扫描仪扫描图书条形码,录入图书信息后完成入 库。师生借阅时,通过校园一卡通识别身份,利用RFID读写器识别图书中的电子标签以获取图书信息, 完成借阅后相关数据保存在服务器中。该系统所在的局域网接入因特网,图书查询功能基于B/S架构开发, 师生在馆内外都可使用计算机、手机等查询图书信息。下列关于该系统功能与应用的说法,不正确的是( ) A. 可通过浏览器查询图书馆中的图书信息 B. 可利用借阅数据分析学生的阅读兴趣 C. 师生所借图书的信息需要保存在校园一卡通中 D. 通过 RFID 读写器获取电子标签中的信息属于数 据输入功能 【答案】C 【解析】 【详解】本题考查信息系统相关内容。B/S(Browser/Server)结构,即浏览器服务器结构。用户工作界面 通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现, 形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了 用户的总体成本。电子标签的学名是RFID,即射频识别,俗称电子标签;射频识别是一种非接触式的自动识别技术。最基本的RFID系统由三部分组成:标签,由耦合元件及芯片组成,每个标签具有唯一的电 子编码,附着在物体上标识目标对象;阅读器,读取标签信息的设备,可设计为手持式和固定式;天线, 在标签和读取器之间传递射频信号。用户可以通过浏览器查询图书馆中的图书信息,工作人员可以利用借 阅数据分析学生的阅读兴趣。由图书馆管理系统及RFID功能知,通过RFID读写器获取电子标签中的信息 属于数据输入功能。由B/S结构知师生所借图书的信息需要保存在服务器中。ABD选项正确,C选项错误。 故本题答案是C选项。 5. 某校图书馆管理系统中,工作人员通过计算机终端上的扫描仪扫描图书条形码,录入图书信息后完成入 库。师生借阅时,通过校园一卡通识别身份,利用RFID读写器识别图书中的电子标签以获取图书信息, 完成借阅后相关数据保存在服务器中。该系统所在的局域网接入因特网,图书查询功能基于B/S架构开发, 师生在馆内外都可使用计算机、手机等查询图书信息。下列关于该系统中网络技术的说法,正确的是( ) A. 该系统的网络资源不包括软件资源 B. 计算机终端访问服务器不需要网络协议 C. 移动终端必须通过移动通信网络才能访问该系统 D. 通过路由器可将该系统接入因特网 【答案】D 【解析】 【详解】本题考查的是网络技术。网络资源包括硬件、软件、数据资源,故选项A说法错误;网络协议为 计算机网络中进行数据交换而建立的规则、标准或约定的集合,计算机终端访问服务器也需要网络协议, 选项B说法错误;移动终端也可以通过计算机网络访问,选项C说法错误;通过路由器可将该系统接入因 特网,选项D说法正确。故选D。 6. 下列关于人工智能的说法,正确的是( ) A. 人工智能技术可应用于汽车无人驾驶 B. 训练数据的规模不会影响深度学习的效果 C. 人工智能的实现都需要事先手工构造知识库 D. 人脸识别技术都是通过符号主义人工智能实现的 【答案】A 【解析】 【详解】本题考查的是人工智能。深度学习需要海量数据和超大规模的算力支持,故选项B说法错误;行 为主义和联结主义不需要构构造知识库,选项C说法错误;人脸识别技术一般是通过联结主义人工智能实 现的,选项D说法错误,故选A。 7. 图像F为图a所示的200×100像素、256色位图,图像G为图b所示的200×100像素、16色位图,则 图像F与G的存储容量之比为( )图a 图b A. 1:2 B. 1:1 C. 2:1 D. 16:1 【答案】C 【解析】 【详解】本题考查图像存储容量相关内容。图像存储容量=像素*颜色深度/8,256色的颜色深度是8位 (28=256),16色的颜色深度是4位(24=16)。图像F与G的存储容量之比为: 200×100×8/8:200×100×4/8=2:1。故本题答案是C选项。 8. 栈S从栈底到栈顶的元素依次为1,2,3,队列Q初始为空。约定:U操作是指元素出栈后入队,H操 作是指元素出队后再入队。经过UUHU系列操作后,队列中队首到队尾的元素依次为( ) A. 2,1,3 B. 3,1,2 C. 1,3,2 D. 2,3,1 【答案】D 【解析】 【详解】本题考查栈、队列相关内容。栈的特点是后进先出,队列的特点是先进先出。初始状态,栈中从 栈顶到栈底的元素为3、2、1,队列为空。第一次操作:U,即将栈顶元素3出栈后入队,队列中队首元素 为3;第二次操作:U,即将栈顶元素2出栈后入队,队列中队首元素为3,队尾元素为2;第三次操作: H,即将队首元素3出队后再入队,队列中队首元素为2,队尾元素为3;第四次操作:U,即将栈顶元素 1出栈后再入队,队列中从队首到队尾各元素依次为2、3、1。故本题答案是D选项。 9. 数组元素a[0]至a[n-1]依次存放着n个数据,现需要将元素a[n-1]插入在下标为x(0≤x= i:if randint(0,1)==0: #randint(0,1)随机生成0或1 res+= s[i] i +=1 else: res += s[j] j-=1 A. "abced" B. "aecbd" C. "aedbc" D. "edcba" 【答案】B 【解析】 【详解】本题考查Python程序设计相关内容。分析程序段,可知: A选项,第一次循环,若randint(0,1)==0成立,将s[0](即字符'a')添加到res中,则res=“a”;第 二次循环,若randint(0,1)==0成立,将s[1](即字符'b')添加到res中,则res=“ab”;第三次循环, 若randint(0,1)==0成立,将s[2](即字符'c')添加到res中,则res=“abc”;第四次循环,若randint (0,1)==1成立,将s[4](即字符'e')添加到res中,则res=“abce”;第五次循环,若randint(0,1) ==1成立,将s[3](即字符'd')添加到res中,则res=“abced”,选项正确。 B选项,第一次循环,若randint(0,1)==0成立,将s[0](即字符'a')添加到res中,则res=“a”;第 二次循环,若randint(0,1)==1成立,将s[4](即字符'e')添加到res中,则res=“ae”;第三次循环, 若randint(0,1)==0成立,将s[1](即字符'b')添加到res中,则res=“aeb”;第三次循环,若randint (0,1)==1成立,将s[3](即字符'd')添加到res中,则res=“aed”;由此推出,无论第三次循环产生 的随机数是0还是1,都不会出现“aec”,继而推出选项错误。 C选项,第一次循环,若randint(0,1)==0成立,将s[0](即字符'a')添加到res中,则res=“a”;第 二次循环,若randint(0,1)==1成立,将s[4](即字符'e')添加到res中,则res=“ae”;第三次循环, 若randint(0,1)==1成立,将s[3](即字符'd')添加到res中,则res=“aed”;第四次循环,若randint (0,1)==0成立,将s[1](即字符'b')添加到res中,则res=“aedb”;第五次循环,若randint(0,1) ==0或randint(0,1)==1成立,都会将s[2](即字符'c')添加到res中,则res=“aedbc”,选项正确。 D选项,第一次循环,若randint(0,1)==1成立,将s[4](即字符'e')添加到res中,则res=“e”;第 二次循环,若randint(0,1)==1成立,将s[3](即字符'd')添加到res中,则res=“ed”;第三次循环, 若randint(0,1)==1成立,将s[2](即字符'c')添加到res中,则res=“edc”;第四次循环,若randint (0,1)==1成立,将s[1](即字符'b')添加到res中,则res=“edcb”;第五次循环,若randint(0,1) ==1成立,将s[0](即字符'a')添加到res中,则res=“edcba”,选项正确。 故本题答案是B选项。 12. 使用列表d模拟链表结构(节点数大于0)每个节点包含数据区域和指针区域,h为头指针。链表中各节点已按数据区域中数值的绝对值由小到大排列,如图a所示。现要修改该链表各节点的链接关系,使链 表各节点按数据区域中的数值由小到大排列,结果如图b所示。实现该功能的程序段如下,方框中应填入 的正确代码为( ) 图a 图b t = h p = d[h][1] while p != -1: q = d[p][1] p = q d[t][1]=-1 A. B. C. D.【答案】C 【解析】 【详解】本题考查单链表及分支语句和数据排序等知识。 由于数据区域中数值的绝对值由小到大排列, 由代码可知,原先的节点关系是:t→p→q,若数据区域d[p][0]的数值为正数,则原链表节点关系不变,只 需将各节点关系往下迭代即可,即:t变为p,p变为g即可。若数据区域d[p][0]的数值为负数,则原先的 链表各节点关系需要重新指向,由于原数据是按照绝对值大小排序的,因此越往后面绝对值数越大,因此 其相反数(负数)就越小,这样每一个当前节点p的负数肯定是当前链表中最小的数,因此该数应该变为最 小的头节点,采用头插法可以实现,即将当前节点p的指针域指向原先的头节点h,然后再将头节点h变 为当前节点p。故本题选C。 二、非选择题(本大题共3小题,其中第13小题10分,第14小题7分,第15小题9分,共 26分) 的 13. 小华要搭建苗圃大棚环境监控系统。该系统中 智能终端从服务器获取湿度阈值,根据该阈值和 传感器采集的空气湿度值控制加湿器,并将湿度值等数据传输至Web服务器,存储到数据库中。网络应用 软件的实现架构是B/S架构,用户可通过浏览器查询实时和历史数据。硬件按如下方式连接:湿度传感器 和加湿器接入智能终端,智能终端通过IoT模块连接到服务器。请回答下列问题: (1)要完成该系统的搭建,下列需要编写的程序是____(单选,填字母:A.客户端程序/B.服务器端程 序)。 (2)下列关于该系统中数据管理的说法,正确的是____(单选,填字母)。 A.数据无法从服务器端传输至智能终端 B.该系统的数据和程序都应存储在数据库中 C.通过浏览器查看湿度历史数据需要访问数据库 (3)下列关于该系统支撑技术的说法,正确的有____(多选,填字母) A.智能终端有程序存储和数据处理能力 B.智能终端可以通过IoT模块以无线方式连接服 务器 C.该系统如果再增加一个加湿器,必须增加一个湿度传感器 D.支撑该系统运行的所有软件都需要在 搭建过程中开发 (4)智能终端上的程序具有如下功能:每隔1分钟从传感器获取1次湿度值;加湿器处于关闭状态时,若 连续两次湿度值均低于阈值h,则打开加湿器;加湿过程中,若连续两次湿度值均高于h,则关闭加湿器; 每隔1分钟将湿度值和加湿器状态数据传输到服务器。部分Python程序如下,请在程序中划线处填入合适 的代码。 #导入相关库,并从服务器获取阈值,保存在h中,代码略lasth=h s=0 while True: #从传感器获取湿度值,保存在newh中,代码略 if s==0: if newh < h and lasth < h: s=1 #打开加湿器,代码略 else: if newh > h and lasth > h: ①____ #关闭加湿器,代码略 ②____ #将newh,s等数据传输到服务器,代码略 sleep(1000*60) #延时1分钟 (5)系统搭建完成后,运行一段时间,加湿器始终没有加湿。假设仅湿度传感器、加湿器两个设备之一 存在故障,在不更换设备的前提下,请选择其中一种设备,描述判定该设备是否存在故障的方法。____ 【答案】 ①. B ②. C ③. AB ④. s=0或s=1-s或s=s-1或s-=1 ⑤. lasth=newh ⑥. ① 判断湿度传感器:改变环境湿度,从浏览器观察湿度值是否有实时的更新变化,若没有,说明传感器故障。 或其他等价答案。②判断加湿器:通过智能终端直接发送加湿指令,若加湿器未工作,说明加湿器故障。 或其他等价答案。 【解析】 【详解】本题考查信息系统相关内容。分析题目内容,可知: (1)环境监控系统采用B/S(Browser/Server)结构,B/S(Browser/Server)结构,即浏览器服务器结构。 用户工作界面通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端 (Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本 和工作量,降低了用户的总体成本。要完成该系统的搭建,需要编写服务器端程序。故本题答案是:B。 (2)由“该系统中的智能终端从服务器获取湿度阈值,根据该阈值和传感器采集的空气湿度值控制加湿 器,并将湿度值等数据传输至Web服务器,存储到数据库中”知,该系统的数据是服务器端与智能终端双 向传输的,A选项错误。由题目内容可知,智能终端也具有数据存储功能,B选项错误。由“湿度值等数 据传输至Web服务器,存储到数据库中”知,湿度历史数据存储在数据库中,通过浏览器查看湿度历史数 据需要访问数据库,C选项正确。故本题答案是:C。(3)分析题目内容及系统功能可知,智能终端有程序存储和数据处理能力,可以通过IoT模块以无线方式 连接服务器。如果再增加一个加湿器,不需要增加湿度传感器(加湿器数量与湿度传感器数量无关),支 撑该系统运行的所有软件不需要全部在搭建过程中开发。AB选项正确,CD选项错误。故本题答案是: AB。 (4)分析程序段可知,s=1代表打开加湿器,若要关闭加湿器,可以s将设置为0,可以直接赋值0,也可 以通过-1运算获得。由Python运算符与表达式相关知识,可知,④处答案是:s=0或s=1-s或s=s-1或s- =1。⑤由“sleep(1000*60)”知,系统将每隔1分钟从传感器获取1次湿度值,当前的newh值在1分钟 后将成为历史数据lasth,所以在延时前,应将newh赋值给lasth,故⑤处答案是:lasth=newh。 (5)加湿器始终没有加湿,说明两种情况,第一种情况是当前环境湿度未达到临界值,设备正常运转; 第二种情况是设备出现故障,湿度传感器、加湿器均有可能存在故障。判断设备存在故障的方法是:改变 环境湿度,观察湿度值是否发生变化可以判断湿度传感器是否存在故障;智能终端发出加湿指令看加湿器 是否启动,若不启动,说明加湿器存在故障。具体见答案。 14. 某学院举行运动会,比赛设跳高、100米等项目,每个项目分男子组和女子组。现要进行报名数据处 理和比赛成绩分析。请回答下列问题: 图a 图b 图c (1)运动会报名规则为:对于每个项目的男子组和女子组,每个专业最多各报5人(如“软件工程”专业 在男子跳高项目中最多报5人)。软件工程专业的报名数据保存在DataFrame对象df中,如图a所示。若 要编写Python程序检查该专业男子跳高项目报名是否符合规则,下列方法中,正确的是____(单选,填字母)。 A.从df中筛选出性别为“男”的数据dfs,再从dfs中筛选出项目为“跳高”的数据,判断筛选出的数据 行是否超过5行 B.对df中数据按性别排序并保存到dfs中,再从dfs中筛选出项目为“跳高”的数据,判断筛选出的数据 行是否超过5行 的 C.从df中筛选出项目为“跳高” 数据dfs,判断dfs中是否有连续5行以上的男生数据 (2)运动员比赛成绩的部分数据如图b所示。根据已有名次计算得分,第1名至第8名分别计9,7,6, 5,4,3,2,1分,第8名之后计0分。实现上述功能的部分Python程序如下,请在程序中划线处填入合 适的代码。 import pandas as pd import matplotlib.pyplot as plt #读取如图b所示数据,保存到DataFrame对象df1中,代码略 f=[9,7,6,5,4,3,2,1] for i in range(0,len(df1)): rank=df1.at[i,"名次"]#通过行、列标签取单个值 score=0 if rank<=8: ____ df1.at[i,"得分"]=score (3)根据上述 df1 中的得分数据,统计各专业总分,绘制如图c所示的柱形图,实现该功能的部分 Python程序如下: df2=df1.groupby("____",as_index=False).sum()#分组求和 #设置绘图参数,代码略 plt.bar(x,y)#绘制柱形图 ①请在程序中划线处填入合适的代码。 ②程序的方框中应填入的正确代码为____(单选,填字母) A. B. C. D.【答案】 ①. A ②. score=f[rank-1]或score=f[int(rank)-1] ③. 专业 ④. B 【解析】 【详解】本题考查Python数据分析相关内容。分析题目内容,可知: (1)A选项,从df中筛选出性别为“男”的数据dfs,再从dfs中筛选出项目为“跳高”的数据,筛选出 的数据全部是男子跳高项目报名信息,判断筛选出的数据行是否超过5行可以得出是否符合规则的结论, 选项正确。B选项,对df中数据按性别排序并保存到dfs中,再从dfs中筛选出项目为“跳高”的数据,这 些数据里面有可能包含女子跳高报名数据,判断筛选出的数据行是否超过5行不能做为是否符合规则的依 据,选项错误。C选项,从df中筛选出项目为“跳高”的数据dfs,其中男子组、女子组混杂在一起,判 断筛选出的数据行是否超过5行不能做为是否符合规则的依据,选项错误。故本题答案是:A。 (2)当选手名次为第1名时,其得分为9,即f[0];当选手名次为第2名时,其得分为7,即f[1];...; 当选手名次为第8名时,其得分为1,即f[7];由此推出,若rank<=8成立,则score的值为:f[rank-1], 故本题答案是:score=f[rank-1]或score=f[int(rank)-1]。 (3)由“统计各专业总分,绘制如图c所示的柱形图”知,该程序段功能是按照各专业总分建立柱形图, 故③处答案是:专业。横轴以专业为参数,纵轴以各专业总分为参数,数据均从df2中获得,故④处答案 为:B。 15. 某项活动有n个单位(编号1到n)参加,需将员工分成若干个小组,每个小组的人数上限为m,小组 编号按新建次序从1开始编号。分组时,首先按单位编号次序依次在各单位内部分组,每m人分配到一个 新建小组中,不足m人的剩余员工暂不分配;然后按剩余员工人数由大到小的顺序,依次为各单位剩余员 工分配小组。 若某单位剩余员工人数为k,则分配方法为:在已建的小组中查找空位数(该小组还可容纳的人数)大于 或等于k的小组,如果找到的小组有多个,则选择空位数最少的小组,将此k人分配到该小组中;如果没 有找到,则新建一个小组,将此k人分配到该小组中。 设n为5,m为20,各单位员工人数及单位内部的分组过程如图a所示,各单位剩余员工的分组过程如图b 所示。图a 图b 编写程序:给定各单位编号及员工人数,根据上述方法进行分组处理,按单位编号次序输出各单位所分配 的分组编号。请回答下列问题: (1)由题意可知,若仅将图a中1号单位的员工人数修改为25,然后对图中5个单位重新分组,则1号单 位所分配的分组编号为____。 (2)定义如下bubble_sort(lst)函数,参数lst的每个元素由单位编号和剩余员工人数2个数据项构成。 函数的功能是根据每个单位的剩余员工人数,对lst进行降序排序。 def bubble_sort(lst): n = len(lst) for i in range(0,n-1): for j in range(n-1,i,-1): if lst[j-1][1] < lst[j][1]: tmp = lst[j] lst[j] = lst[j-1] lst[j-1] = tmp if lst[i][1] == 0: break return 调用该函数,若lst为[[1,0],[2,0],[3,18],[4,0],[5,19],[6,17]],请回答①和②两个问题。 ①虚线框中的程序段第1次执行后,关于lst中的剩余员工人数,下列说法正确的是____(单选,填字母) A.lst[0][1]数值最小 B.lst[0][1]数值最大 C.lst[5][1]数值最小 D.lst[5][1]数值最大 ②虚线框中的程序段执行的次数为____。 (3)实现分组功能的部分Python程序如下,程序中用到的列表函数与方法如图c所示,请在程序中划线 处填入合适的代码。图c def group(data,m): n = len(data) a = [] for i in range(n+1): a.append([])#a[i]初始为空列表,存放编号为i的单位所分配的分组编号 gnum=0 for i in range(n):#各单位内部分组 while data[i][1] >= m: gnum += 1 k = data[i][0] a[k].append(gnum) ①____ bubble_sort(data)#根据每个单位的剩余员工人数,对data进行降序排序 b = [] for i in range(m): b.append([]) i = 0 while i < n and data[i][1] != 0:#对剩余员工分组 ②____ while j < m and len(b[j])== 0: j += 1 if j < m: v = b[j].pop() else: gnum += 1 v = gnum a[data[i][0]].append(v) ③____i += 1 #输出各单位的分组编号,代码略 ''' 读取小组人数上限存入m;读取1至n号单位的数据,依次存入列表 data 的 data[0]至data[n-1]中。 data[i]包含2个数据项,data[i][0],data[i][1]分别存放单位编号及员工人数,代码略 ''' group(data,m) . 【答案】 ① 1,8 ②. B ③. 4 ④. data[i][1]-=m ⑤. j=data[i][1] ⑥. b[j- data[i][1]].append(v) 【解析】 【详解】本题考查Python程序设计相关内容。分析题目内容,推知: (1)1号单位的员工人数25,组建1个小组后剩余5人,依据编号分组规则,3号单位组建小组,其中8 组不满20人,尚缺6人,可以将1号单位剩余5人分配至3号单位小组,即8组。故本题答案是:1,8。 (2)程序段功能是根据每个单位的剩余员工人数,对lst进行降序排序,则排序后,lst[0][1]为序列最大值, lst[5][1]为序列最小值,故②处答案为:B。虚线框中的程序段执行次数由lst[i][1]是否为0决定,以当前lst 为例,j所在for循环分别经过排序将[5,19]、[3,18]、[6,17]放在正确位置后,i值为2,此时,lst[i][1] 不为0,i所在for循环使得i取值为3,再执行虚线框中的程序段,此时满足lst[i][1]==0,执行break,跳 出循环。所以虚线框中的程序段共执行4次,故③处答案为:4。 (3)for循环实现各单位内部分组,对于第i个单位,当data[i][1]>=m成立时,可以按照分组规则以m为 人数标准进行分组,每组m人,每分一组,再判断剩余人数是否满足条件,故④处答案为:data[i][1]- =m。⑤处所在循环对剩余员工分组,j为第i组剩余员工,其初值为data[i][1],故⑤处答案为:j=data[i] [1]。⑥根据题中代码,我们需对上面两种情况分类讨论::1、若查找成功,则从体积为j的空位数包b[j]中 取一个分组编号v,然后将体积为data[i][1]物品放入到该空位数包对应的分组编号v中。 此时,体积为j 的空位数包中分组编号v已不存在b[j]中,但实际上包体积j放入体积data[i][1]后,仍可能会得到一个体积 更小的新空位数包,新空位数包体积为j-data[i][1]。 因此,我们更新前i个物品放入后的状态b[0..i],在体 积为j-data[i][1]中增加组编号v的新空位数包,表示该组编号v下还可以继续放,更新其空位数体积为:j- data[i][1]。2、若查找失败,则重新分配一个组编号v,此时体积 data[i][1]独占这个包体积,放入后可能还 有空位数空间,因此将得到一个体积为m-data[i][1]的新空位数包,结合代码查找失败时,变量j值等同变 量m。 因此,本小题答案为:b[j-data[i][1]].append(v)。