精品解析:浙江省金砖联盟2024-2025学年高二上学期金砖联盟期中技术试题

标签:
精品解析文字版答案
切换试卷
2024-12-12
| 2份
| 21页
| 268人阅读
| 0人下载

内容正文:

浙江省金砖联盟2024学年第一学期期中联考 高二年级技术学科 试题 考生须知: 1.本卷满分100分,考试时间90分钟; 2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。 3.所有答案必须写在答题卷上,写在试卷上无效; 4.考试结束后,只需上交答题卷。 一、信息技术部分(50分) 一、选择题(共12题,每题2分,共24分) 1. 下列关于数据、信息说法正确的是( ) A. 信息的价值会随着时间的变化而消失 B. 信息是数据经过储存、分析及解释后产生的意义 C. 模拟信号经过采样和量化转换成二进制数据 D. 为了验证数据的安全性可以进行数据校验操作 【答案】B 【解析】 【详解】本题考查数据与信息的基本概念。A选项错误,信息的价值会随着时间的变化而增加或减少,而不是消失;B选项正确,信息是数据经过加工、处理和解释后产生的意义;C选项错误,模拟信号转化为二进制数字信号通常需要经过取样、量化和编码三个步骤;D选项错误,数据校验是验证数据完整性的一种重要手段,用于检测数据传输或存储过程中是否出现错误。故答案为:B。 2. 下列关于大数据说法不正确的是( ) A. 大数据处理采用分治的思想 B. 大数据产生的速度很快,导致体量庞大,处理速度不要求快 C. 对于台风路径的实时数据,我们可以使用流计算 D. 大数据不再追求数据的精确性,能够接受数据的混杂性 【答案】B 【解析】 【详解】本题考查大数据。B选项,大数据产生的速度很快,导致体量庞大,并且处理速度也要很快。在很多实际应用场景中,如金融交易监控、实时交通流量分析等,数据的价值往往是有时效性的,如果不能快速处理大数据,就无法及时利用这些数据来做出有效的决策。A选项,大数据处理采用分治的思想。分治思想是将一个复杂的大数据问题分解为多个相对简单的子问题,分别对这些子问题进行处理,然后将结果合并起来。C选项,对于台风路径的实时数据,我们可以使用流计算。流计算是一种处理实时数据的计算模式,它可以对源源不断产生的数据流(如台风路径的实时监测数据)进行快速处理和分析,及时提供最新的信息,例如及时发布台风预警等,D选项,大数据不再追求数据的精确性,能够接受数据的混杂性。在大数据环境下,数据来源广泛,数据量巨大,很难保证所有数据都是精确无误的。因此本题选择B。 3. 下列关于人工智能说法正确的是( ) A. 联结主义需要事先手工构造知识库和推理引擎 B. 扫地机器人是数据驱动下的人工智能应用 C. “沃森”从益智游戏移植到医疗领域属于跨领域人工智能 D. 混合增强人工智能中机器智能是智能回路的总开关 【答案】C 【解析】 【详解】本题考查人工智能。C选项正确,“沃森” 从益智游戏移植到医疗领域属于跨领域人工智能。A选项错误,联结主义不需要事先手工构造知识库和推理引擎。联结主义主要基于神经网络,通过大量的数据训练来自动学习知识和模式,强调的是通过神经元之间的连接和信号传递来实现智能,与符号主义中手工构建知识库和推理引擎的方式不同,B选项错误,扫地机器人是问题引导下的人工智能应用,扫地机通过不断从环境中学习,与环境进行交互,从而提升自己的智能水平。D选项错误,在混合增强人工智能中,人类智能是智能回路的总开关。因此本题选择C。 4. 小明在校艺术节的时候录制了一首3分钟的立体声音频上交参评,录制时采样频率为44.1kHz,量化位数为16bit,该音频未经压缩时容量约为( ) A. 3MB B. 0.5MB C. 15MB D. 30MB 【答案】D 【解析】 【详解】本题考查音频文件的大小计算。音频文件的容量计算公式为:容量 = 采样频率 × 量化位数 × 声道数 × 时间。题目中采样频率为44.1kHz,即44100Hz,量化位数为16bit(即2字节),音频为立体声(2声道),时间为3分钟(180秒)。代入公式:容量 = 44100 × 2 × 2 × 180 = 31752000字节 ≈ 31.75MB。未压缩音频容量约为30MB。故答案为:D。 5. 下列关于数据结构说法正确的是( ) A. 不同的数据结构其处理效率是相同的 B. 链表能使用数据的位置信息访问任意节点 C. 计算机中的文件夹管理采用“树形”结构 D. 队列是一种“先进后出”的数据结构 【答案】C 【解析】 【详解】本题考查数据结构的基本概念和特点。A选项错误,不同的数据结构因为其组织方式和操作方式不同,处理效率通常也会不同。例如,数组在随机访问时效率高,而链表在插入和删除操作时效率高。B选项错误,链表是通过每个节点的指针或引用访问的,而不是通过数据的位置信息访问。数组才是通过索引(位置信息)访问的。C选项正确,计算机中的文件系统常用树形结构来组织和管理文件和文件夹,根目录是树的根节点,子目录和文件则是树的分支和叶子。D选项错误,队列是一种“先进先出”(FIFO)的数据结构,而“先进后出”是栈(Stack)的特点。故答案为:C。 6. 某算法流程图如图所示,下列说法不正确的是( ) A. 该算法使用了循环结构 B. 该算法输出时s值为236 C. 该算法执行完后“n>0?”共执行了3次 D. 该算法执行完后i值为3 【答案】C 【解析】 【详解】本题考查流程图。C选项,该流程图为循环结构,当循环条件n>0时,循环体反复执行,n初值为632,循环体中,n的值为n//10,因此,n的值依次为632,63,2,0,循环条件“n>0?”共执行4次。A选项,因为有语句反复被执行,所以该算法使用循环结构,B选项,s=s*10+n%10;因此,s其实是在实现倒序n,为236。D选项,n的值依次为632,63,2,0,当循环条件成立时,i=i+1;循环条件成立三次,因此i=0+1+1+1=3。因此本题选择C。 7. 下列表达式值最大的为( ) A. 123%10**2-123//10 B. len(range(1,20,3)) C. randint(1,20)-10 D. (ord("D")-ord("a"))*3 【答案】A 【解析】 【详解】本题考查运算符优先级和函数的使用。A选项123%10**2-123//10的值为23-12=11,因为123%10**2计算余数为23,而123//10计算整除部分为12;B选项len(range(1,20,3))的值为7,因为range(1,20,3)表示从1开始,每次加3,直至小于20,生成序列[1,4,7,10,13,16,19],长度为7;C选项randint(1,20)-10的值为一个随机整数减去10,范围为-9到10,因此值具有随机性,无法确定具体大小;D选项(ord("D")-ord("a"))*3的值为(-29)*3=-87,因为ord("D")=68,ord("a")=97,差值为-29,乘以3得-87。比较所有选项的结果,值最大的为A选项,其结果为11。故答案为:A。 8. 台风的风力等级是根据其中心附近的最大风速来划分,风速为32.7~41.4米/秒则风力等级为“台风”,风速为41.5~50.9米/秒则风力等级为“强台风”,风速为51.0米/秒或以上则风力等级为“超强台风”。现输入一个风速x(x≥32.7,且只含1位小数),下列python代码段不能根据上述信息正确划分这3个台风风力等级的是( ) A. x=float(input(":")) if x<=41.4: dj = "台风" elif x<=50.9: dj="强台风" else: dj="超强台风" print(dj) B. x=float(input(":")) if x<=41.4: dj = "台风" if 41.5<=x<=50.9: dj="强台风" else: dj="超强台风" print(dj) C. x=float(input(":")) dj="台风" if x>50.9: dj = "超强台风" elif x>=41.5: dj="强台风" print(dj) D. x=float(input(":")) dj="强台风" if x<=41.4: dj = "台风" if x>51.0: dj = "超强台风" print(dj) A. A B. B C. C D. D 【答案】B 【解析】 【详解】本题考查Python程序。选项B:同样先获取输入风速x。先判断x<=41.4时设为“台风”,接着又判断41.5<=x<=50.9时设为“强台风”,但这里的问题在于当x<=41.4不成立时,直接进入后面的else语句会将大于41.4的所有情况(包括41.5<=x<=50.9和x>50.9)都设为“超强台风”,而没有正确区分“强台风”和“超强台风”的情况,所以该选项不能正确划分风力等级。故答案为:B。 9. 若某个栈的深度为3,a,b,c,d,e依次入栈,则下列出栈顺序不可能的是( ) A. abcde B. acdbe C. cbaed D. bedca 【答案】D 【解析】 【详解】本题考查栈。栈是后进先出的,即最后进入栈的元素最先出栈。D选项,若要实现b最先出栈,那么在b入栈前a已经入栈,此时栈内元素从栈底到栈顶依次为a、b,然后b出栈;接着e要出栈,就需要e先入栈,在e入栈之前,c、d也需要依次入栈,此时栈内元素从栈底到栈顶依次为 a、c、d、e,和栈的深度为3不符合,因此,该选项不可能。A选项,依次将a入栈,然后a出栈;接着b入栈,b出栈;以此类推,按照入栈顺序入栈一个元素,然后紧接着出栈一个元素,所以此选项有可能。B选项,首先a入栈,a出栈;然后b、c依次入栈,c出栈;接着d入栈,d出栈;b出栈;最后e入栈,e出栈,所以该选项可能。C选项,先将a、b、c依次入栈,此时栈内元素从栈底到栈顶依次为a、b、c,然后c出栈,b出栈,a出栈;接着d、e入栈,最后e出栈,d出栈;所以此选项也有可能。因此本题选择D。 10. 有如下python代码段: s1="aabbcabba";s2="ab" result="";i=0 while i<=len(s1)-len(s2): if s1[i:i+len(s2)]!=s2: result+=s1[i] i=i+1 else: i=i+len(s2) print(result) 执行该代码段后,result的值为( ) A. "abcb" B. "abcba" C. "cb" D. "cba" 【答案】A 【解析】 【详解】本题考查循环结构的程序实现。A选项正确,通过一个while循环来遍历字符串s1,循环的条件是i<=len(s1)-len(s2),确保在遍历过程中不会超出s1的有效范围,每次循环,首先通过切片操作s1[i:i+len(s2)]获取从索引i开始,长度为len(s2)的子字符串,并与s2进行比较。如果不相等,说明当前位置不存在与s2匹配的子字符串,那么就将当前位置的字符s1[i]添加到result中,然后将索引i增加1,继续检查下一个位置。如果相等,说明找到了与s2匹配的子字符串,此时将索引i直接增加len(s2),跳过这个匹配的子字符串,继续检查后面的位置。因此,此函数功能为将s1中与s2相等的子串删除,并且由于i在循环条件成立时,最多能取到索引为len(s1)-len(s2)的位置,因此,s1中最后一个字符一定不可能被添加进result中,所以程序执行后,result为“abcb”。因此本题选择A。 11. 现有两个降序的链表lst1,lst2,要将链表lst2中的数据合并到链表lst1中,保持lst1的有序性,python代码段如下: lst1=[[49,1],[35,2],[23,-1]];lst2 =[[48,1],[34,2],[25,-1]] h1=h2=0;pre=p=h1;q=h2 while q! =-1: if p!=-1 and ① : pre=p p=lst1[p][1] else: lst1append( ② ) if p==h1: pre=h1=len(lst1)-1 else: lst1[pre][1]= ③ pre=len(lst1)-1 q=lst2[q][1] 上述程序段中可选填的语句为: ①[lst2[p][0],q] ② lst1[p][0]<= lst2[q][0] ③lst1[p][0]>= lst2[q][0] ④[lst2[q][0],p] ⑤q ⑥len(lst1)-1 则划线处填写的语句依次为( ) A. ③④⑤ B. ③④⑥ C. ③①⑥ D. ②④⑥ 【答案】B 【解析】 【详解】本题考查Python程序。对于①处:程序是要将链表 lst2 中的数据合并到降序的链表 lst1 中,当 lst1 中当前节点的值大于等于 lst2 中要插入节点的值时,就继续往后遍历 lst1,所以此处应填lst1[p][0]>= lst2[q][0],即③。 对于②处:当不满足①处条件时,也就是要将 lst2 中的节点插入到 lst1 中,插入的节点应该是包含 lst2 当前节点的值以及下一个要继续在 lst1 中比较的节点位置(即当前 lst1 中节点的位置 p),所以应填[lst2[q][0],p],即④。 对于③处:当插入的节点成为新的头节点时(即p==h1),要更新头节点 h1 的位置为新插入节点的位置也就是len(lst1) - 1;当不是头节点插入情况时,要更新前一个节点(pre)的下一个节点指向为新插入节点的位置,同样也是len(lst1) - 1,所以这里应填len(lst1) - 1,即⑥。故答案为:B。 12. python代码段如下: from random import randint lst=[0]*6 for i in range(6): lst[i]=randint(2,8)*2+1 for i in range(5): if i%2==0 and lst[i]>lst[i+1]: lst[i],lst[i+1]=lst[i+1],lst[i] else: lst[i]+=1 执行该代码段后,lst中可能的值是( ) A. [7,13,9,6,13,6] B. [10,10,6,18,11,14] C. [5,10,12,6,12,8] D. [5,12,6,16,5,17] 【答案】D 【解析】 【详解】本题考查循环结构的程序实现。D选项正确,通过第一个for循环,随机产生6个5(当randint返回2时)到17(当randint返回8时)之间的奇数赋值给lst中的每一个元素。第二个for循环,每次循环中,若当前索引i为偶数且当前元素大于后一个元素,则交换两数;否则,即当前索引i为奇数或当前元素小于等于后一个元素,则将当前元素的值增加1。因此,lst一定满足以下条件①当索引i为偶数,即0,2,4时,必然满足a[i]<=a[i+1],②当索引i为1,3时,由于此时一定执行else分支,因此该索引对应的元素会加1,a[i]为偶数③当索引i为5时,由于第二个for循环此时已经结束,a[5]的值不会改变,必定为奇数。D选项符合要求。A选项错误,第二个元素索引为13,这是不可能的,因为,在第二个for循环中,i=1,必然执行else分支,奇数加1必然为偶数。B选项错误,最后一个元素为14,这是不可能的,最后一个元素若是通过与前一个元素交换而来,那必然是奇数,若是未和前一个元素交换,由于第二个for循环,i=4,循环结束,索引为5的第六个元素不会发生改变,仍然是奇数。C选项错误,索引为2的元素为12,索引为3的元素为6,这是不可能的,因为当索引为2且该元素大于后一个数,必然要交换两个数。因此本题选择D。 二、填空题(共3题,共26分。13题7分,14题9分,15题10分) 13. 小明在学习了数的编码后,他用python编写了一个程序,可以实现不同进制的加法运算,加数可以是二进制数(B)、十进制数(D)、十六进制数(H)。如输入的算式为“1101B+2AH=”,则输出结果为“和为,55”。 (1)输入的算式为“1011B+3DH=”,则输出结果为____ (2)python代码如下,请在划线处填入合适代码,完善功能。 s=input("请输入算式:") def convert(ch): result=0 dic={"B":2,"D":10,"H":16} jz=①____ for i in range(len(ch)-1): if "A"<=ch[i]<="F": result=result*jz+②____ else: result=result*jz+int(ch[i]) return result temp="" sum=0 for i in range(len(s)): if s[i]== "+" or s[i]=="=": sum=sum+convert(temp) ③____ else: temp=temp+s[i] print("和为:",sum) 【答案】 ①. 和为:72 ②. dic[ch[-1]]或dic[ch[len(ch)-1]] ③. ord(ch[i])-55或ord(ch[i])-ord("A")+10 ④. temp="" 【解析】 【详解】本题考查python程序设计。①处答案为和为:72,根据题中例子可知,该程序可以实现不同进制的加法运算,并将最后的十进制结果输出,因此先将1011B这个二进制按权展开转换为十进制数为1*8+1*2+1*4=11;然后将十六进制数按权展开转换为十进制数为3*16+13*1=61;两数相加和为72。 ②处答案为dic[ch[-1]]或dic[ch[len(ch)-1]] ,在函数convert 中,需要根据输入的数的进制标识来确定转换时所使用的进制。通过字典dic可以获取到相应的进制值,这里应该根据输入字符ch的最后一个字符(即进制标识)来确定进制,所以应填入dic[ch[-1]]或dic[ch[len(ch)-1]]。 ③处答案为ord(ch[i])-55或ord(ch[i])-ord("A")+10,当遇到十六进制数中的A到F字符时,需要将其转换为对应的十进制数值进行计算。在十六进制中,A代表10,B代表11,以此类推,F代表15。所以当字符ch[i]在A到F范围内时,需要将其转换为对应的十进制数,即ord(ch[i])-55或ord(ch[i])-ord("A")+10。 ④处答案为temp="",在循环遍历输入的字符串s时,当遇到+或=字符时,说明已经完成了一个数的转换并累加到总和sum中,此时需要将临时存储当前数的字符串temp清空,以便后续存储下一个数。 14. 某次技术周练后,王老师在登记了学生的成绩(部分数据如图1),成绩文件名为“周练成绩.xlsx”。现王老师想通过python编程处理学生成绩并分析:计算每个学生的技术总成绩;然后根据总成绩计算每个学生的名次;最后计算出各班技术总成绩的平均分并做成如图2的图表。 图1 图2 (1)读取表格数据,计算每个学生的总分。代码如下,请在划线①②处填入合适代码。 import pandas as pd import matplotlib.pyplot as plt df=pd.read_excel("①____ ") plt.rcParams['font.sans-serif']=['SimSun'] #图表显示中文 for i in df.index: df.at[i,"总分"]=②____ (2)删除缺考同学的数据(总分为0的学生),计算每个学生的排名,代码如下。 df2=① #删除缺考学生数据 for i in df2.index: mc=1 for j in df2.index: if df2.at[i,"总分"]<df2.at[j,"总分"]: mc+=1 df2.at[i"名次"]=mc 请在划线①处填入合适代码( )(单选,填字母) Adf[df["总分"]!=0] B.df["总分"!=0] C.df["总分"]!=0 D.df[df["总分"]]!=0 (3)计算各班技术总成绩的平均分并做成如图2的图表。代码如下,请在划线①②处填入合适代码。 df3=df2.①____ ("班级",as_index=False).mean() x=df3.班级 y=②____ plt.bar(x,y) plt.title("周练各班均分") plt.xticks(x) #设置x轴刻度 plt.yticks(range(0101,20)) #设置y轴刻度 plt.show() 【答案】 ①. 周练成绩.xlsx ②. df.at[i, "信息"]+df.at[i, "通用"] ③. A ④. groupby ⑤. df3.总分 【解析】 【详解】本题考查pandas处理数据。①处答案为周练成绩.xlsx,read_excel 函数读取Excel文件时,需要在函数参数中传入要读取的文件名,根据题目可知成绩文件名为周练成绩.xlsx。 ②处答案为df.at[i, "信息"]+df.at[i, "通用"],要计算每个学生的总分,需要将该学生的信息成绩和通用成绩相加。所以此处应填入df.at[i, "信息"]+df.at[i, "通用"],这样就能实现将每个学生的两部分成绩相加得到总分,并存储在新增的 “总分” 列中。 ③处答案为A,要删除总分为0缺考同学的数据,可以通过筛选总分不为0的同学实现目的,筛选的格式为df对象[筛选条件],筛选条件即df["总分"]!=0。 ④处答案为groupby,要计算各班技术总成绩的平均分,需要先按照“班级”列对数据进行分组,然后再计算每组的平均值,使用groupby函数实现分组操作。 ⑤处答案为df3.总分,根据题意可知,绘制的柱状图y轴的数据是各班技术的平均成绩。上述程序已经分班级计算平均分并保存在df3中,技术平均成绩在“总分”列,所以此处应填入df3.总分。 15. 王老师带领同学们在操场上玩起了趣味游戏:n名同学(编号1,2,3,„,n分别表示),按照编号由小到大顺时针围成一个圆圈,马老师报一个数m(1到10之间的整数),学生从编号为1的学生开始顺时针报数,报到m的同学出列;下一名同学又从1开始报数,报数为m的同学继续出列;以此规律重复下去,直到剩下最后一位同学为止。作为幸运者,他将获得一份奖品。 (1)当n=10,m=3时,最后获奖同学的编号是____ (2)下列代码通过构造一个循环单向链表,模拟报数的过程,逐一删除报数为m的节点,直到剩下一个节点为止。请在划线处填入合适的代码。 n=int(input("请输入游戏人数:")) m=int(input("请输入 m 值:")) lst=[] for i in range(n-1): lst.append([i+1,i+1]) lst.append(①____) head=len(lst)-1 p=head while n>1: for i in range(1,m): p=lst[p][1] out=lst[p][1] ②____ n=n-1 print("最后留下的同学的编号是:",lst[p][0]) (3)下列代码通过构造一个一维数组,模拟报数的过程,逐一删除报数为m的编号,直到剩下一个编号为止。请在划线处填入合适的代码。 n=int(input("请输入游戏人数:")) m=int(input("请输入 m 值:")) a=[i for i in range(1,n+1)] k=n;j=0;p=-1 while k>1: j=j+1;p=p+1 if j==m: for i in range(①____): a[i]=a[i+1] k=k-1;j=0;p-=1 if p==k-1: ②____ print("最后留下的同学的编号是:",a[0]) 【答案】 ①. 4 ②. [n,0] ③. lst[p][1]=lst[out][1] ④. p,k-1 ⑤. p=-1 【解析】 【详解】本题考查链表和数组。 ①处答案为4,根据题意可知,第一次3号同学出列,第二次6号同学出列,第三次9号同学出列,第四次2号同学出列,第五次7号同学出列,第六次1号同学出列,第七次8号同学出列,第八次5号同学出列,第九次10号同学出列,因此,最后只剩下一个同学为4号。 ②处答案为[n,0],在创建循环单向链表的初始阶段,需要将最后一个节点的下一个节点指向第一个节点,形成循环。前面的循环已经添加了个n-1节点,这里添加最后一个节点n,并且要设置其下一个节点指向第一个节点(索引为0),所以应填入[n,0]。 ③处答案为lst[p][1]=lst[out][1],当找到要出列的同学(节点)后,需要在链表中删除该节点。这里通过调整指针来实现删除操作,即将当前节点(p)的下一个节点指向要出列节点(out)的下一个节点,所以应填入lst[p][1]=lst[out][1]。 ④处答案为p,k-1,当j==m时,表示找到了报数为m的编号,此时需要将该编号之后的所有编号向前移动一位,以实现删除该编号的效果。因此,需要被重新赋值的元素索引i的范围就是从当前要删除的编号索引p开始到数组倒数第二个元素k-2,由于range函数终值是不包含的,所以此处应填入p,k-1。 ⑤处答案为 p = -1,p是表示当前报数的位置索引,当p==k-1时,说明已经遍历到了数组的末尾,此时需要将p的值重新设置为-1,以便下一次循环从数组的开头继续报数。 第1页/共1页 学科网(北京)股份有限公司 $$ 浙江省金砖联盟2024学年第一学期期中联考 高二年级技术学科 试题 考生须知: 1.本卷满分100分,考试时间90分钟; 2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。 3.所有答案必须写在答题卷上,写在试卷上无效; 4.考试结束后,只需上交答题卷。 一、信息技术部分(50分) 一、选择题(共12题,每题2分,共24分) 1. 下列关于数据、信息说法正确是( ) A. 信息的价值会随着时间的变化而消失 B. 信息是数据经过储存、分析及解释后产生的意义 C. 模拟信号经过采样和量化转换成二进制数据 D. 为了验证数据的安全性可以进行数据校验操作 2. 下列关于大数据说法不正确的是( ) A. 大数据处理采用分治的思想 B. 大数据产生的速度很快,导致体量庞大,处理速度不要求快 C. 对于台风路径的实时数据,我们可以使用流计算 D. 大数据不再追求数据的精确性,能够接受数据的混杂性 3. 下列关于人工智能说法正确的是( ) A. 联结主义需要事先手工构造知识库和推理引擎 B. 扫地机器人是数据驱动下的人工智能应用 C. “沃森”从益智游戏移植到医疗领域属于跨领域人工智能 D. 混合增强人工智能中机器智能是智能回路的总开关 4. 小明在校艺术节时候录制了一首3分钟的立体声音频上交参评,录制时采样频率为44.1kHz,量化位数为16bit,该音频未经压缩时容量约为( ) A. 3MB B. 0.5MB C. 15MB D. 30MB 5. 下列关于数据结构说法正确的是( ) A. 不同数据结构其处理效率是相同的 B. 链表能使用数据的位置信息访问任意节点 C. 计算机中的文件夹管理采用“树形”结构 D. 队列是一种“先进后出”的数据结构 6. 某算法流程图如图所示,下列说法不正确的是( ) A. 该算法使用了循环结构 B. 该算法输出时s值为236 C. 该算法执行完后“n>0?”共执行了3次 D. 该算法执行完后i值为3 7. 下列表达式值最大的为( ) A. 123%10**2-123//10 B. len(range(1,20,3)) C. randint(1,20)-10 D. (ord("D")-ord("a"))*3 8. 台风的风力等级是根据其中心附近的最大风速来划分,风速为32.7~41.4米/秒则风力等级为“台风”,风速为41.5~50.9米/秒则风力等级为“强台风”,风速为51.0米/秒或以上则风力等级为“超强台风”。现输入一个风速x(x≥32.7,且只含1位小数),下列python代码段不能根据上述信息正确划分这3个台风风力等级的是( ) A. x=float(input(":")) if x<=41.4: dj = "台风" elif x<=50.9: dj="强台风" else: dj="超强台风" print(dj) B. x=float(input(":")) if x<=41.4: dj = "台风" if 41.5<=x<=50.9: dj="强台风" else: dj="超强台风" print(dj) C. x=float(input(":")) dj="台风" if x>50.9: dj = "超强台风" elif x>=41.5: dj="强台风" print(dj) D. x=float(input(":")) dj="强台风" if x<=41.4: dj = "台风" if x>51.0: dj = "超强台风" print(dj) A. A B. B C. C D. D 9. 若某个栈的深度为3,a,b,c,d,e依次入栈,则下列出栈顺序不可能的是( ) A. abcde B. acdbe C. cbaed D. bedca 10. 有如下python代码段: s1="aabbcabba";s2="ab" result="";i=0 while i<=len(s1)-len(s2): if s1[i:i+len(s2)]!=s2: result+=s1[i] i=i+1 else: i=i+len(s2) print(result) 执行该代码段后,result的值为( ) A. "abcb" B. "abcba" C. "cb" D. "cba" 11. 现有两个降序的链表lst1,lst2,要将链表lst2中的数据合并到链表lst1中,保持lst1的有序性,python代码段如下: lst1=[[49,1],[35,2],[23,-1]];lst2 =[[48,1],[34,2],[25,-1]] h1=h2=0;pre=p=h1;q=h2 while q! =-1: if p!=-1 and ① : pre=p p=lst1[p][1] else: lst1.append( ② ) if p==h1: pre=h1=len(lst1)-1 else: lst1[pre][1]= ③ pre=len(lst1)-1 q=lst2[q][1] 上述程序段中可选填的语句为: ①[lst2[p][0],q] ② lst1[p][0]<= lst2[q][0] ③lst1[p][0]>= lst2[q][0] ④[lst2[q][0],p] ⑤q ⑥len(lst1)-1 则划线处填写的语句依次为( ) A. ③④⑤ B. ③④⑥ C. ③①⑥ D. ②④⑥ 12. python代码段如下: from random import randint lst=[0]*6 for i in range(6): lst[i]=randint(2,8)*2+1 for i in range(5): if i%2==0 and lst[i]>lst[i+1]: lst[i],lst[i+1]=lst[i+1],lst[i] else: lst[i]+=1 执行该代码段后,lst中可能的值是( ) A. [7,13,9,6,13,6] B. [10,10,6,18,11,14] C. [5,10,12,6,12,8] D. [5,12,6,16,5,17] 二、填空题(共3题,共26分。13题7分,14题9分,15题10分) 13. 小明在学习了数的编码后,他用python编写了一个程序,可以实现不同进制的加法运算,加数可以是二进制数(B)、十进制数(D)、十六进制数(H)。如输入的算式为“1101B+2AH=”,则输出结果为“和为,55”。 (1)输入的算式为“1011B+3DH=”,则输出结果为____ (2)python代码如下,请在划线处填入合适代码,完善功能。 s=input("请输入算式:") def convert(ch): result=0 dic={"B":2,"D":10,"H":16} jz=①____ for i in range(len(ch)-1): if "A"<=ch[i]<="F": result=result*jz+②____ else: result=result*jz+int(ch[i]) return result temp="" sum=0 for i in range(len(s)): if s[i]== "+" or s[i]=="=": sum=sum+convert(temp) ③____ else: temp=temp+s[i] print("和为:",sum) 14. 某次技术周练后,王老师在登记了学生的成绩(部分数据如图1),成绩文件名为“周练成绩.xlsx”。现王老师想通过python编程处理学生成绩并分析:计算每个学生的技术总成绩;然后根据总成绩计算每个学生的名次;最后计算出各班技术总成绩的平均分并做成如图2的图表。 图1 图2 (1)读取表格数据,计算每个学生的总分。代码如下,请在划线①②处填入合适代码。 import pandas as pd import matplotlib.pyplot as plt df=pd.read_excel("①____ ") plt.rcParams['font.sans-serif']=['SimSun'] #图表显示中文 for i in df.index: df.at[i,"总分"]=②____ (2)删除缺考同学的数据(总分为0的学生),计算每个学生的排名,代码如下。 df2=① #删除缺考学生数据 for i in df2.index: mc=1 for j in df2.index: if df2.at[i,"总分"]<df2.at[j,"总分"]: mc+=1 df2.at[i,"名次"]=mc 请划线①处填入合适代码( )(单选,填字母) A.df[df["总分"]!=0] B.df["总分"!=0] C.df["总分"]!=0 D.df[df["总分"]]!=0 (3)计算各班技术总成绩的平均分并做成如图2的图表。代码如下,请在划线①②处填入合适代码。 df3=df2.①____ ("班级",as_index=False).mean() x=df3.班级 y=②____ plt.bar(x,y) plt.title("周练各班均分") plt.xticks(x) #设置x轴刻度 plt.yticks(range(0,101,20)) #设置y轴刻度 plt.show() 15. 王老师带领同学们在操场上玩起了趣味游戏:n名同学(编号1,2,3,„,n分别表示),按照编号由小到大顺时针围成一个圆圈,马老师报一个数m(1到10之间的整数),学生从编号为1的学生开始顺时针报数,报到m的同学出列;下一名同学又从1开始报数,报数为m的同学继续出列;以此规律重复下去,直到剩下最后一位同学为止。作为幸运者,他将获得一份奖品。 (1)当n=10,m=3时,最后获奖同学的编号是____ (2)下列代码通过构造一个循环单向链表,模拟报数的过程,逐一删除报数为m的节点,直到剩下一个节点为止。请在划线处填入合适的代码。 n=int(input("请输入游戏人数:")) m=int(input("请输入 m 值:")) lst=[] for i in range(n-1): lst.append([i+1i+1]) lst.append(①____) head=len(lst)-1 p=head while n>1: for i in range(1,m): p=lst[p][1] out=lst[p][1] ②____ n=n-1 print("最后留下的同学的编号是:",lst[p][0]) (3)下列代码通过构造一个一维数组,模拟报数的过程,逐一删除报数为m的编号,直到剩下一个编号为止。请在划线处填入合适的代码。 n=int(input("请输入游戏人数:")) m=int(input("请输入 m 值:")) a=[i for i in range(1,n+1)] k=n;j=0;p=-1 while k>1: j=j+1;p=p+1 if j==m: for i in range(①____): a[i]=a[i+1] k=k-1;j=0;p-=1 if p==k-1: ②____ print("最后留下的同学的编号是:",a[0]) 第1页/共1页 学科网(北京)股份有限公司 $$

资源预览图

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