精品解析:浙江绍兴市诸暨市2025-2026学年高二上学期期末考试技术试卷-高中信息技术

标签:
精品解析文字版答案
2026-05-18
| 2份
| 20页
| 193人阅读
| 0人下载

资源信息

学段 高中
学科 信息技术
教材版本 -
年级 高二
章节 -
类型 试卷
知识点 -
使用场景 同步教学-期末
学年 2026-2027
地区(省份) 浙江省
地区(市) 绍兴市
地区(区县) 诸暨市
文件格式 ZIP
文件大小 283 KB
发布时间 2026-05-18
更新时间 2026-05-18
作者 学科网试题平台
品牌系列 -
审核时间 2026-05-18
下载链接 https://m.zxxk.com/soft/56754780.html
价格 5.00储值(1储值=1元)
来源 学科网

摘要:

**基本信息** 本试卷聚焦高中信息技术核心知识,以成绩表分析、体育比赛模拟、合并果子等真实情境设计问题,考查数据结构应用与算法设计能力,体现计算思维与问题解决素养。 **题型特征** |题型|题量/分值|知识覆盖|命题特色| |----|-----------|----------|----------| |选择题|12题24分|数据分类、栈/队列操作、二叉树遍历、Python程序分析|结合成绩表考查数据项与结构,通过流程图和代码分析算法逻辑| |非选择题|3题26分|循环结构、条件判断、排序算法、贪心算法|以合并果子问题考查最小体力计算,体育比赛模拟体现规则转化,注重算法优化与编程实践|

内容正文:

2025-2026 学年第一学期期末考试试卷 高二技术 第一部分 信息技术(共50分) 一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分) 1. 某次素养比赛后,小李整理部分考生的成绩,整理后的成绩表如下所示。 学号 姓名 客观题得分 主观题得分 等级 240101 张三 42 28 A 240102 李四 35 25 B 240103 王五 38 22 B 240104 赵六 29 18 C 下列有关数据分类及表现形式的说法,正确的是( ) A. 表中的所有数字都具有量的意义、可以进行算术运算 B. 数值本身没有意义、没有量含义 C. 数据的表现形式多样,表中数据涵盖了所有的表现形式 D. 表中“客观题得分”如42和35,是对考生客观题答题情况的符号表示 【答案】D 【解析】 【详解】本题考查数据分类及表现形式相关知识。A选项错误,表中的“学号”(如240101)是标识类数据,不具有量的意义,无法进行算术运算;B选项错误,“客观题得分”“主观题得分”等数值具有明确的量的含义,可用于算术运算;C选项错误,数据的表现形式多样,表中数据仅包含文本、数字等部分形式,并未涵盖所有表现形式;D选项正确,表中“客观题得分”的42、35等数值,是对考生客观题答题情况的符号化表示,用于量化描述其答题表现。因此,本题选择D选项。 2. 某次素养比赛后,小李整理部分考生的成绩,整理后的成绩表如下所示。 学号 姓名 客观题得分 主观题得分 等级 240101 张三 42 28 A 240102 李四 35 25 B 240103 王五 38 22 B 240104 赵六 29 18 C 下列有关数据项、数据元素和数据结构的说法不正确的是( ) A. 表中每一行对应一个数据元素,每个数据元素用于描述一名考生的成绩信息 B. 表中“学号”、“客观题得分”等列标题均为数据项名称,对应的具体内容为数据项的值 C. 该成绩表存储时可以用二维列表,但不能用一维列表 D. 表中每个数据元素包含5个数据项 【答案】C 【解析】 【详解】本题考查数据项、数据元素和数据结构相关知识。A选项正确,表中每一行对应一个数据元素,用于描述一名考生的成绩信息;B选项正确,“学号”“客观题得分”等列标题为数据项名称,对应的具体内容为数据项的值;C选项错误,该成绩表既可以用二维列表存储,也可以用一维列表存储(如将每个考生的信息封装为一个子列表,整体作为一维列表的元素),并非不能用一维列表;D选项正确,表中每个数据元素包含学号、姓名、客观题得分、主观题得分、等级共5个数据项。因此,本题选择C选项。 3. 下列有关数据结构的说法正确的是( ) A. 数组是一种适合用于组织、存储涉及频繁插入与删除的数据结构 B. 链表中数据元素的逻辑顺序是通过链表中的指针链接次序实现的 C. 链表在访问、插入和删除元素时,算法效率比数组高 D. 树结构中,每个子节点的父节点可以有多个 【答案】B 【解析】 【详解】本题考查数据结构。A选项错误。数组在涉及频繁插入与删除时,由于元素在数组中的位置是固定的,插入和删除可能涉及移动大量元素,效率较低。B选项正确。链表中的元素通过指针链接,每个元素保存下一个元素的地址,从而形成逻辑上的顺序。C选项错误。链表在插入和删除元素时确实具有较高的灵活性和效率,但在访问元素时,由于需要遍历链表,效率相对较低,特别是对于随机访问。D选项错误。在一棵树中,每个子节点只有一个父节点,这是树结构的基本特性。故答案为:B。 4. 某算法的部分流程图如图所示,输入下列数据,输出值与其它三项不同的是( ) A. 8 B. 12 C. 36 D. 42 【答案】C 【解析】 【详解】本题考查算法流程图的理解。根据流程图,该算法通过不断除以最小质因子并计数,最终得到质因数的总个数(含重复)。计算各选项:8=2³,输出3;12=2²×3,输出3;36=2²×3²,输出4;42=2×3×7,输出3。因此输出值与其他三项不同的是C。 5. 元素甲,乙,丙,丁,戊依次入栈,最先出栈的元素是丙,则最后出栈的元素不可能的是( ) A 甲 B. 乙 C. 丁 D. 戊 【答案】B 【解析】 【详解】本题考查栈"先进后出"的操作特性。元素甲乙丙丁戊依次入栈,且第一个出栈的元素是丙,说明丙出栈前,甲、乙已经先后入栈且未出栈,栈内从栈底到栈顶为甲、乙,甲始终位于乙下方,根据栈先进后出的特点,出栈时乙一定比甲先出栈,因此乙不可能是最后出栈的元素。验证其余选项:最后出栈为甲:可按入甲→入乙→入丙→出丙→入丁→出丁→入戊→出戊→出乙→出甲的顺序操作,符合要求;最后出栈为丁:可按入甲→入乙→入丙→出丙→出乙→出甲→入丁→入戊→出戊→出丁操作,符合要求;最后出栈为戊:可按入甲→入乙→入丙→出丙→出乙→出甲→入丁→出丁→入戊→出戊操作,符合要求。因此只有乙不可能。故答案为:B。 6. 某队列中,队首到队尾的元素依次为B,D,C,E,A,元素出队后直接输出或重新入队。若最终输出次序为A,B,C,D,E。则重新入队的最少次数为( ) A. 3 B. 4 C. 5 D. 6 【答案】D 【解析】 【详解】本题考查的是队列操作。初始队列为B,D,C,E,A(队首到队尾),目标输出顺序为A,B,C,D,E。需通过出队后直接输出或重新入队实现,并统计最少重新入队次数。1. 输出A:必须出队B,D,C,E并重新入队。2. 输出B,直接输出。3. 输出C: 出队D并重新入队。4. 输出D: 出队E并重新入队。5. 输出E:直接输出。 综上,重新入队至少6次,故答案为D。 7. 某二叉树用一维数组表示如下表所示: 下标 0 1 2 3 4 5 6 7 8 9 10 元素 A B C   D E       F G 则该二叉树的中序遍历结果为( ) A. BFDGAEC B. BDFGAEC C. BFGEADC D. BFGDACE 【答案】A 【解析】 【详解】本题考查二叉树的遍历。根据表格可画出二叉树如下, 该二叉树的中序遍历结果为BFDGAEC。故选A。 8. 有如下Python程序代码: n=int(input("请输入n:")) s,i=0,1 while i<=n: s=s+i i*=2 print("s=",s) 下列说法正确的是( ) A. 该程序算法时间复杂度为O(log2n) B. 若输入n的值为8,则输出的结果为21 C. 交换语句s=s+i与i*=2的位置,输出s的值将不变 D. 该算法的功能是求1+2+4+6+8+…+2*n的和 【答案】A 【解析】 【详解】本题考查算法效率。A选项正确, 在循环中,i的初始值为1,每次循环都乘以2,那么i的值依次为1,2,4,8,⋯,当i>n时循环结束。假设循环执行了k次,则2k>n,即k>log2n。所以循环执行的次数与log2n成正比,时间复杂度为O(log2n),该选项正确。B选项错误:当n=8时,循环执行过程如下:第一次循环:i=1,s=0+1=1,i=1×2=2。 第二次循环:s=1+2=3,i=2×2=4。第三次循环:s=3+4=7,i=4×2=8。 第四次循环:s=7+8=15,i=8×2=16,此时i>n,循环结束。所以输出结果为15,而不是21。C选项错误:如果交换这两条语句的位置,那么循环执行过程会发生变化,s的值也会发生改变。D选项错误:循环中i的值依次为1,2,4,8,⋯,是2的幂次方序列,而不是2,4,6,8,⋯这样的偶数序列,所以该算法的功能不是求1+2+4+6+8+⋯+2∗n的和。 综上所述,正确答案是选项A。 9. 有如下Python程序段: s="RGGBRRGBB" r=s[0] for i in range(1,len(s)): if len(r) == 0 or s[i] != r[-1]: r=r+s[i] else: r=r[:len(r)-1] print(r) 执行该程序段后,输出结果是( ) A. RBB B. RGB C. GRB D. RBG 【答案】D 【解析】 【详解】本题考查的是字符串处理。初始:r = "R"(s[0])。 i=1,s[1]='G':r 不为空,且 'G' != 'R'(r[-1] 为 'R'),因此 r = "R" + "G" = "RG"。 i=2,s[2]='G':r 不为空,且 'G' == 'G'(r[-1] 为 'G'),因此移除 r 的最后一个字符,r = "R"。 i=3,s[3]='B':r 不为空,且 'B' != 'R'(r[-1] 为 'R'),因此 r = "R" + "B" = "RB"。 i=4,s[4]='R':r 不为空,且 'R' != 'B'(r[-1] 为 'B'),因此 r = "RB" + "R" = "RBR"。 i=5,s[5]='R':r 不为空,且 'R' == 'R'(r[-1] 为 'R'),因此移除 r 的最后一个字符,r = "RB"。 i=6,s[6]='G':r 不为空,且 'G' != 'B'(r[-1] 为 'B'),因此 r = "RB" + "G" = "RBG"。 i=7,s[7]='B':r 不为空,且 'B' != 'G'(r[-1] 为 'G'),因此 r = "RBG" + "B" = "RBGB"。 i=8,s[8]='B':r 不为空,且 'B' == 'B'(r[-1] 为 'B'),因此移除 r 的最后一个字符,r = "RBG"。 故选D。 10. 有如下 Python 程序段: def gcd(a, b): if a == b: return a elif a > b: return gcd(a - b, b) else: return gcd(a, b - a) num1, num2 = 30, 36 result = gcd(num1, num2) print(result) 执行该程序段后,下列说法正确的是( ) A. result的值是6 B. 该算法使用了迭代算法 C. 将num2的值修改为120,函数的返回结果不变 D. 当执行语句 gcd(num1, num2)时,函数gcd被调用的次数为 4 【答案】A 【解析】 【详解】本题考查Python递归函数及最大公约数计算。A选项正确,通过递归计算gcd(30,36)的过程:首先30<36调用gcd(30,6),然后30>6依次调用gcd(24,6)、gcd(18,6)、gcd(12,6)、gcd(6,6)返回6,因此result值为6。B选项错误,该函数通过自身调用实现,属于递归算法而非迭代。C选项错误,将num2修改为120后,gcd(30,120)计算过程为30<120调用gcd(30,90)、30<90调用gcd(30,60)、30<60调用gcd(30,30)返回30,结果变为30,与原结果不同。D选项错误,执行gcd(30,36)时,函数被调用的次数包括初始调用共6次(依次为gcd(30,36)、gcd(30,6)、gcd(24,6)、gcd(18,6)、gcd(12,6)、gcd(6,6)),而非4次。因此,本题选择A选项。 11. 有如下Python程序: n=0 a=[5,11,18,23,27,33,34,41,45,69] key=int(input("请输入要查找的数:")) i=0;j=len(a)-1 while i<=j: m=(i+j)//2 n+=1 if a[m]==key: break elif a[m] < key: i=m+1 else: j=m-1 程序运行后变量n的值为3,则输入的key不可能是( ) A. 4 B. 18 C. 33 D. 49 【答案】D 【解析】 【详解】本题考查二分查找算法及比较次数的计算。给定列表a=[5,11,18,23,27,33,34,41,45,69],通过模拟二分查找过程,分析各选项对应的比较次数n:key=4时,经过三次比较后区间为空,n=3;key=18时,第三次比较找到目标,n=3;key=33时,第三次比较找到目标,n=3;key=49时,需要四次比较才能确定不存在,n=4。因此,n=3时输入的key不可能是49。故本题答案为D。 12. 使用列表a和列表b分别存储学生的总分和考号,已知考号为b[i]的学生的总分为a[i],使用Python编程实现如下功能:将成绩数据“按总分降序排序、总分相同按学号升序排序”,代码如下。 n=len(a) for i in range(1,n): for j in range(0,n-i): if (1) or (2) and (3) : a[j],a[j+1]=a[j+1],a[j] b[j],b[j+1]=b[j+1],b[j] 上述程序段中方框处可选代码: ①a[j]>a[j+1] ②a[j]==a[j+1] ③a[j] < a[j+1] ④b[j] < b[j+1] ⑤b[j]==b[j+1] ⑥b[j]>b[j+1] 则(1)(2)(3)处代码依次为( ) A. ③②④ B. ①⑤⑥ C. ③②⑥ D. ①⑤④ 【答案】C 【解析】 【详解】本题考查的是冒泡排序。将成绩数据“按总分降序排序、总分相同按学号升序排序”,而填空处所需填入的条件为需要交换的情况。因此可知,第一种情况,j号位的总分小于j+1号位,此时需要交换,转换为Python表达式为a[j]<a[j+1];第二种情况,j号位的总分和j+1号位的总分相同,此时若是j号位的学号大于j+1号位,则需要交换,转换为Python表达式为a[j]==a[j+1] and b[j]>b[j+1]。整合后为a[j]<a[j+1] or a[j]==a[j+1] and b[j]>b[j+1],故答案为C。 二、非选择题(本大题共3小题,其中第13题8分,第14题9分,第15题9分,共26分) 13. 一个十进制正整数,如果它能被5整除,或者它的某一位上的数字为5,则称其为与5相关的数。现求所有小于等于n的与5无关的正整数的平方和。 (1)实现上述功能的部分Python 程序如下,请在划线处填入合适的代码。 (2)程序中加框处代码有错,请改正。____ n=int(input()) ①_____ for i in range(n+1): flag=False if i%5==0: flag=True m=i while : if②____ : flag=True m//=10 if flag==False: print(i) sum=③_____ print(sum) 【答案】 ①. not flag and m>0 ②. sum=0 ③. m%10==5 ④. sum+i*i 【解析】 【详解】本题考查Python循环逻辑、条件判断及数字特征分析的综合应用,核心考点包括整除判断、数字逐位遍历、标志位使用及平方和累加计算。 (1)①处:需要初始化存储平方和的变量,后续用于累加符合条件的数的平方,因此代码为sum=0。②处:需要判断数字m的个位是否为5,逐位遍历数字的每一位,因此代码为m%10==5。③处:若数字i是与5无关的数,需将其平方累加到sum中,因此代码为sum+i*i。 (2)原代码的错误在于,当m被逐位整除至0时,循环仍会继续执行,导致逻辑错误。正确的循环条件应同时满足“标志位为False”和“数字m大于0”,即需要遍历数字的每一位直到结束,因此改正后的代码为not flag and m>0。 14. 某项体育比赛采取五局三胜制,一方获胜三局即停止此场比赛。每局比赛采用21分制,即当一方得分达到21分且领先对手至少2分时,该局比赛结束。为熟悉比分规则,某球迷编写程序模拟比赛过程,依次输出每局比赛比分,程序某次执行结果如图所示。 (1)根据比分规则,若一局比赛的比分为20:23,是否合理?___(选填:合理/不合理) (2)实现上述功能的Python程序如下,请在划线处填入合适的代码。 import random # 五局三胜制,先赢3局即终止比赛,因此循环条件为双方获胜局数均小于3 count = 1 wa = wb = 0 while①___: a = b = 0 # 表示比赛双方此局的分数 # 每局21分制:得分未到21分 或 分差不足2分,继续该局比赛 while a < 21 and b < 21 or abs(a - b) < 2: t = random.randint(0, 1) #产生随机得分0或1(0表示b得分,1表示a得分) a += t ②___ print("第", count, "局:", a, ":", b) if a > b: ③____ else: wb += 1 ④_____ print("胜负情况:", wa, ":", wb) 【答案】 ①. 合理 ②. wa<3 and wb<3 ③. b+=1-t  ④. wa+=1 ⑤.  count+=1 【解析】 【详解】(1)根据比分规则,一局比赛必须至少有一方得分达到21分且领先2分,20:23中一方得23分,另一方20分,分差为3,且23>21,因此符合规则,是合理的。所以答案是合理。 (2)①外层循环条件:比赛采用五局三胜制,即先赢得三局的一方获胜,比赛结束。因此,只要双方获胜局数都小于3,比赛就继续进行。所以循环条件为 wa<3 and wb<3。②内层循环中,每局比赛通过随机数t模拟得分,t为1表示a得分,t为0表示b得分。a的得分通过 a+=t 增加,相应地b的得分应增加与t相反的值,即当t=1时b不加,t=0时b加1,因此用 b+=1-t 实现。③当一局比赛结束,比较a和b,若a > b,则a赢得该局,因此a的胜场数wa增加1,即 wa+=1。 ④每局结束后,局数计数器count需要增加1,以便下一局输出正确的局数,故填写 count+=1。 15. 小松鼠喜欢收集各类坚果,它在森林里摘了n堆果子,决定把所有果子合成一堆后运回树洞。每次可以把任意两堆果子合并到一起,消耗的体力等于这两堆果子的数量之和。n堆果子经过n-1次合并后,最终变成一大堆。小松鼠合并果子时消耗的总体力等于每次合并所耗体力之和。请设计合并的次序方案,使小松鼠耗费的体力最少,并输出这个最小的体力耗费值。 例如有4堆果子,数量依次为1,4,2,5。可以先将数量为1、2的两堆合并,新堆数量为 3,耗费体力3;合并后4堆变3堆,数目为3,4,5;接着合并3、4的两堆,耗费体力7;最后合并5、7的两堆,耗费体力12,总体力为3+7+12=22。 (1)现有5堆果子,它们的数量依次为“2,7,6,12,10”,则合并为一堆的最小体力消耗值为______。 (2)定义如下sortdata(data),参数data存储了每堆果子的重量。函数的功能是对data中元素进行升序排序 def sortdata(data): n = len(data) i=0 flag=True while i<n and flag: return data 若data的数据为[3,1,2,7,6,5],则调用该函数时,加框部分代码执行的次数为____。 (3)实现合并果子的函数如下,请在程序划线处填入合适的代码 def merge_min(lst): data = ①____ n=len(data) link=[-1]*n for i in range(n-1): link[i]=i+1 total = 0 head=0 while link[head]!=-1: data[head]+=data[link[head]] total+=data[head] link[head]=link[link[head]]#删除第二个节点 p,temp=link[head],link[head] q=p while②____ : q=p p=link[p] if link[head]!=p: link[q]=head link[head]=p ③____ return total data = [1, 4, 2, 5] min1 = merge_min(data) print("最小体力:",min1) 【答案】 ① 82 ②. 12 ③. sorted(lst) ④. p != -1 and data[p] < data[head] ⑤. head = 0 【解析】 【详解】本题考查哈夫曼算法的应用、冒泡排序的执行过程分析、Python基于链表实现合并果子的代码补全能力。 (1) 计算最小体力消耗合并果子的最小体力消耗使用哈夫曼算法求解,每次选择最小的两堆合并,过程如下:原始数据排序为[2,6,7,10,12]:合并2和6得到新堆8,消耗体力8,剩余堆:[7,8,10,12],总消耗:8;合并7和8得到新堆15,消耗体力15,剩余堆:[10,12,15],总消耗:8+15=23;合并10和12得到新堆22,消耗体力22,剩余堆:[15,22],总消耗:23+22=45;合并15和22得到新堆37,消耗体力37,总消耗:45+37=82 。 (2)计算冒泡排序代码执行次数该排序是带提前退出优化的冒泡排序,flag标记本轮是否发生交换,无交换则终止排序,输入data = [3,1,2,7,6,5]长度为6,过程:i=0,flag=True进入循环,共执行5次循环体,发生交换,i变为1;i=1,flag=True进入循环,共执行4次循环体,发生交换,i变为2;i=2,flag=True进入循环,共执行3次循环体,无交换,flag保持为False,i变为3;循环因flag=False终止,总执行次数为5+4+3=12。 (3)①:算法需要先对输入的果子数量做升序排序,才能进行后续合并操作,因此填入排序结果:sorted(lst)。 ②:合并前两个节点得到新值后,需要在链表中向后查找,找到第一个大于新值的节点作为插入位置的终点,循环条件为当未到链表尾,且当前节点值小于新的节点值时继续向后找,因此填入:p != -1 and data[p] < data[head]。③:每次合并插入完成后,下一轮合并需要从链表头重新开始处理,因此重置链表头指针,因此填入:head = 0。 第1页/共1页 学科网(北京)股份有限公司 $ 2025-2026 学年第一学期期末考试试卷 高二技术 第一部分 信息技术(共50分) 一、选择题(本大题共 12 小题,每小题 2 分,共 24 分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分) 1. 某次素养比赛后,小李整理部分考生的成绩,整理后的成绩表如下所示。 学号 姓名 客观题得分 主观题得分 等级 240101 张三 42 28 A 240102 李四 35 25 B 240103 王五 38 22 B 240104 赵六 29 18 C 下列有关数据分类及表现形式的说法,正确的是( ) A. 表中的所有数字都具有量的意义、可以进行算术运算 B. 数值本身没有意义、没有量的含义 C. 数据的表现形式多样,表中数据涵盖了所有的表现形式 D. 表中“客观题得分”如42和35,是对考生客观题答题情况的符号表示 2. 某次素养比赛后,小李整理部分考生的成绩,整理后的成绩表如下所示。 学号 姓名 客观题得分 主观题得分 等级 240101 张三 42 28 A 240102 李四 35 25 B 240103 王五 38 22 B 240104 赵六 29 18 C 下列有关数据项、数据元素和数据结构说法不正确的是( ) A. 表中每一行对应一个数据元素,每个数据元素用于描述一名考生的成绩信息 B. 表中“学号”、“客观题得分”等列标题均为数据项名称,对应的具体内容为数据项的值 C. 该成绩表存储时可以用二维列表,但不能用一维列表 D. 表中每个数据元素包含5个数据项 3. 下列有关数据结构的说法正确的是( ) A. 数组是一种适合用于组织、存储涉及频繁插入与删除的数据结构 B. 链表中数据元素的逻辑顺序是通过链表中的指针链接次序实现的 C. 链表在访问、插入和删除元素时,算法效率比数组高 D. 树结构中,每个子节点的父节点可以有多个 4. 某算法的部分流程图如图所示,输入下列数据,输出值与其它三项不同的是( ) A. 8 B. 12 C. 36 D. 42 5. 元素甲,乙,丙,丁,戊依次入栈,最先出栈的元素是丙,则最后出栈的元素不可能的是( ) A. 甲 B. 乙 C. 丁 D. 戊 6. 某队列中,队首到队尾的元素依次为B,D,C,E,A,元素出队后直接输出或重新入队。若最终输出次序为A,B,C,D,E。则重新入队的最少次数为( ) A. 3 B. 4 C. 5 D. 6 7. 某二叉树用一维数组表示如下表所示: 下标 0 1 2 3 4 5 6 7 8 9 10 元素 A B C   D E       F G 则该二叉树的中序遍历结果为( ) A. BFDGAEC B. BDFGAEC C. BFGEADC D. BFGDACE 8. 有如下Python程序代码: n=int(input("请输入n:")) s,i=0,1 while i<=n: s=s+i i*=2 print("s=",s) 下列说法正确的是( ) A. 该程序算法的时间复杂度为O(log2n) B. 若输入n的值为8,则输出的结果为21 C. 交换语句s=s+i与i*=2位置,输出s的值将不变 D. 该算法的功能是求1+2+4+6+8+…+2*n的和 9 有如下Python程序段: s="RGGBRRGBB" r=s[0] for i in range(1,len(s)): if len(r) == 0 or s[i] != r[-1]: r=r+s[i] else: r=r[:len(r)-1] print(r) 执行该程序段后,输出结果是( ) A. RBB B. RGB C. GRB D. RBG 10. 有如下 Python 程序段: def gcd(a, b): if a == b: return a elif a > b: return gcd(a - b, b) else: return gcd(a, b - a) num1 num2 = 30, 36 result = gcd(num1 num2) print(result) 执行该程序段后,下列说法正确的是( ) A. result的值是6 B. 该算法使用了迭代算法 C. 将num2的值修改为120,函数的返回结果不变 D. 当执行语句 gcd(num1, num2)时,函数gcd被调用的次数为 4 11. 有如下Python程序: n=0 a=[5,11,18,23,27,33,34,41,45,69] key=int(input("请输入要查找的数:")) i=0;j=len(a)-1 while i<=j: m=(i+j)//2 n+=1 if a[m]==key: break elif a[m] < key: i=m+1 else: j=m-1 程序运行后变量n的值为3,则输入的key不可能是( ) A. 4 B. 18 C. 33 D. 49 12. 使用列表a和列表b分别存储学生的总分和考号,已知考号为b[i]的学生的总分为a[i],使用Python编程实现如下功能:将成绩数据“按总分降序排序、总分相同按学号升序排序”,代码如下。 n=len(a) for i in range(1,n): for j in range(0,n-i): if (1) or (2) and (3) : a[j],a[j+1]=a[j+1],a[j] b[j],b[j+1]=b[j+1],b[j] 上述程序段中方框处可选代码为: ①a[j]>a[j+1] ②a[j]==a[j+1] ③a[j] < a[j+1] ④b[j] < b[j+1] ⑤b[j]==b[j+1] ⑥b[j]>b[j+1] 则(1)(2)(3)处代码依次为( ) A. ③②④ B. ①⑤⑥ C. ③②⑥ D. ①⑤④ 二、非选择题(本大题共3小题,其中第13题8分,第14题9分,第15题9分,共26分) 13. 一个十进制正整数,如果它能被5整除,或者它的某一位上的数字为5,则称其为与5相关的数。现求所有小于等于n的与5无关的正整数的平方和。 (1)实现上述功能的部分Python 程序如下,请在划线处填入合适的代码。 (2)程序中加框处代码有错,请改正。____ n=int(input()) ①_____ for i in range(n+1): flag=False if i%5==0: flag=True m=i while : if②____ : flag=True m//=10 if flag==False: print(i) sum=③_____ print(sum) 14. 某项体育比赛采取五局三胜制,一方获胜三局即停止此场比赛。每局比赛采用21分制,即当一方得分达到21分且领先对手至少2分时,该局比赛结束。为熟悉比分规则,某球迷编写程序模拟比赛过程,依次输出每局比赛比分,程序某次执行结果如图所示。 (1)根据比分规则,若一局比赛的比分为20:23,是否合理?___(选填:合理/不合理) (2)实现上述功能的Python程序如下,请在划线处填入合适的代码。 import random # 五局三胜制,先赢3局即终止比赛,因此循环条件为双方获胜局数均小于3 count = 1 wa = wb = 0 while①___: a = b = 0 # 表示比赛双方此局的分数 # 每局21分制:得分未到21分 或 分差不足2分,继续该局比赛 while a < 21 and b < 21 or abs(a - b) < 2: t = random.randint(0, 1) #产生随机得分0或1(0表示b得分,1表示a得分) a += t ②___ print("第", count, "局:", a, ":", b) if a > b: ③____ else: wb += 1 ④_____ print("胜负情况:", wa, ":", wb) 15. 小松鼠喜欢收集各类坚果,它在森林里摘了n堆果子,决定把所有果子合成一堆后运回树洞。每次可以把任意两堆果子合并到一起,消耗的体力等于这两堆果子的数量之和。n堆果子经过n-1次合并后,最终变成一大堆。小松鼠合并果子时消耗的总体力等于每次合并所耗体力之和。请设计合并的次序方案,使小松鼠耗费的体力最少,并输出这个最小的体力耗费值。 例如有4堆果子,数量依次为1,4,2,5。可以先将数量为1、2的两堆合并,新堆数量为 3,耗费体力3;合并后4堆变3堆,数目为3,4,5;接着合并3、4的两堆,耗费体力7;最后合并5、7的两堆,耗费体力12,总体力为3+7+12=22。 (1)现有5堆果子,它们的数量依次为“2,7,6,12,10”,则合并为一堆的最小体力消耗值为______。 (2)定义如下sortdata(data),参数data存储了每堆果子的重量。函数的功能是对data中元素进行升序排序 def sortdata(data): n = len(data) i=0 flag=True while i<n and flag: return data 若data的数据为[3,1,2,7,6,5],则调用该函数时,加框部分代码执行的次数为____。 (3)实现合并果子的函数如下,请在程序划线处填入合适的代码 def merge_min(lst): data = ①____ n=len(data) link=[-1]*n for i in range(n-1): link[i]=i+1 total = 0 head=0 while link[head]!=-1: data[head]+=data[link[head]] total+=data[head] link[head]=link[link[head]]#删除第二个节点 p,temp=link[head],link[head] q=p while②____ : q=p p=link[p] if link[head]!=p: link[q]=head link[head]=p ③____ return total data = [1, 4, 2, 5] min1 = merge_min(data) print("最小体力:",min1) 第1页/共1页 学科网(北京)股份有限公司 $

资源预览图

精品解析:浙江绍兴市诸暨市2025-2026学年高二上学期期末考试技术试卷-高中信息技术
1
精品解析:浙江绍兴市诸暨市2025-2026学年高二上学期期末考试技术试卷-高中信息技术
2
精品解析:浙江绍兴市诸暨市2025-2026学年高二上学期期末考试技术试卷-高中信息技术
3
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。