资源简介 余姚中学2023学年第一学期期中考试高二技术(选考)试卷信息技术部分答案一、选择题(每题2分,共24分)1 2 3 4 5 6 7 8 9 10 11 12A D A B C C B B D B D B二、非选择题(本大题共3小题,第13题6分,第14题8分,第15题12分,共26分)13. ① num1*10+int(s[i]) (2分)② s[j:] (2分)③ num1+num2*x (2分)14. (1) 删除标题行 (2分)(2)① n=len(name_list) (2分)② 0 (1分)③ n-1 (1分)④ grade[bj-1]-=1 (2分)15. (1) 1 (2分)(2)① x -sqrt(d * d - y * y) (2分)② qj[k][0]>qj[j][0] or qj[k][0]==qj[j][0] and qj[k][1]>qj[j][1] (2分)③ cur(3) D (2分)(4) n-1 (2分)2023 学年余姚中学 期中考试高二技术选考试卷 第一学期第一部分:信息技术(共 50 分)一、选择题(本大题共 12 小题, 每小题 2 分,共 24 分。在每小题给出的四个选项中, 只有一个符 合题目要求)1. 下列关于人工智能的说法,不正确的是A. 深度学习方法一般脱离数据进行学习B. 采用行为主义方法的智能体通过与环境的交互学习提升智能C. 符号主义人工智能的实现依赖对符号的推理和运算D. 人工智能促进社会发展的同时也会带来一定的社会担忧2. 下列有关大数据的说法,不正确的是A. 处理大数据时, 一般采用分治思想B. 社交网络数据可采用图计算进行处理C. 利用大数据,可以对天气情况进行预测D. 随着时间的流逝,流数据的价值一般会随之提高3. 关于数据的说法,正确的是A. 数字和数值属于数据B. 数值包含数字,数字就是数值C. 数字可以直接进行算术运算D. 在计算机领域参与运算的数据都是数字4. 数据类型可以分为A.基本数据类型和原子数据类型 B.基本数据类型和结构数据类型C.原子数据类型和编程数据类型 D.应用数据类型和结构数据类型5. 在二维数组 a 中, a[3][1]表示的是第几行第几列的数据A.第 1 行 3 列 B.第 3 行 1 列C.第 4 行 2 列 D.第 2 行 4 列6. 有如下Python程序段:1下列关于两个程序段的说法,正确的是A. 程序1和程序2都使用了递归算法B. 若问题规模为n,程序1和程序2的时间复杂度不同C. 若程序1中问题规模为n,则n的值就是其循环执行的次数D. 若程序2中自定义函数内的代码只保留①处语句,也能获取到目标值7. 定义如下函数:def move(n,a,b,c):if n==1:print(a,”->”,c)returnmove(n- 1,a,c,b)move(1,a,b,c)move(n- 1,b,a,c)执行语句move(3,”A”,”B”,”C”),输出的第一行内容是A .B->C B.A->C C.C->A D.A->B8. 有如下Python程序段:import randomdef find(x,y):m=(x+y+1)//2if a[m]==key:return mif a[m]>key:y=m- 1else:x=m+1return find(x,y)a=[2,4,6,8,10,12,14,16]key=random.choice(a)i=0;j=len(a)- 1xb=find(i,j)print(xb,key)上述程序执行结束后,函数find被调用的最多次数是A.3 B.4 C.5 D.69. 数组 a 中 存 储 着 全 校 学 生 的 学 号 和 BMI 信息,格式为 [[“0101”,19.2], [“0102”,18.5], [“0103”,20.1],…..]。其中每条数据的第一项为学号, 第二项为BMI值。数组a已经按学号升序2排序, 现要求按照BMI值进行降序排序, BMI相同的情况下仍然按照学号保持升序。则下列 程序段可以实现该功能的是10. 有如下Python程序:import randoma=[2,4,5,6,6,6,8,8,10,12]key=int(random.random()*5+5)i=0;j=9;s=0while i<=j:m=(i+j)//2if a[m]<=key:i=m+1else:j=m- 1s+=m程序运行后, s的值不可能是A.10 B.14 C.19 D.2211. 有如下Python程序段:import randoma=[0]*6i=0while i<6:a[i]=random.randint(1,5)*2if a[i]==i*2:a[i]=0i+=1elif a[i]%2==i%2:a[i]=a[i]- 1i+=13print(a)执行该程序后,输出的结果可能是A.[11,0,3,0,0,0] B.[0,0,1,0,3,0]C.[1,0,5,0,4,0] D.[3,0,5,0,5,0]12. 有如下Python程序段:a=[[1,1],[2,2],[3,3],[4,- 1]]head=0cur=a[head][1]a[head][1]=- 1while cur!=- 1:p=a[cur][1]a[cur][1]=headhead,cur=cur,p则程序运行后, a的值为A. [[1,1],[2,2],[3,3],[4,- 1]] B. [[1,- 1],[2,0],[3,1],[4,2]]C. [[4,1],[3,2],[2,3],[1,- 1]] D. [[4,- 1],[3,0],[2,1],[1,2]]二、非选择题(本大题共 3 小题, 其中第 13 题 6 分, 第 14 题 8 分, 第 15 题 12 分, 共 26 分。 )13. 如下自定义函数实现一个加减法算式的运算, 要求输入一个只包含运算符“+”和运算符“- ” 的合法算式,输出算式的运算结果。具体程序如下,请在划线处填入合适的代码。def fun(s):num1=i=0while iif s[i]>=“0 ” and s[i]<=“9”:num1= ①i+=1elif s[i]==“+ ” or s[i]<=“- ”:x=1if s[i]==“-”:x=- 1num2=0;j=i+1while jif s[j]>=“0 ” and s[j]<=“9”:num2=mum2*10+int(s[j])j+=1elif s[j]==“+ ”or s[j]==“-”:4(图a)return fun(str(num1+x*num2)+ ② )if j==len(s):return ③14. 已知某年级有6个班级,所有学生名单存储在文件“name.csv”中(如图a所示),学校举行 某趣味活动项目中,需要每个班级抽3名代表参加比赛, 请编写一个随机抽取程序,执行效果如图b。请回答以下问题:(1) 加框处代码的作用是(2) 实现上述功能的部分Python程序如下,请在划线处填写合适的代码。import csvimport randomf=open(“name.csv” ,“r ”)flines=csv.reader(f)name_list=[]m=6 #班级总数total=18 #参赛总人数for line in lines:if line[0]== “班级”:continuename_list.append(line)①(图b)flag=[False]*ngrade=[3]*mi=0while ip=random.randint( ② , ③ )bj=int(name_list[p][0])if flag[p]==False:if grade[bj- 1]>0:flag[p]=True④i+=1print(“抽取名单为: ”)print(“班级” ,“姓名”)for i in range(n):if flag[i]:print(name_list[i][0],name_list[i][1])f.close()15. 某国计划在海岸线上安装雷达探测海上的岛屿。假设海岸线是一条无限的直线, 一边是陆地,5另一边是海洋。为了找到覆盖所有岛屿所需雷达装置的最小数量, 编写程序: 输入岛屿数量 n、雷达装置的覆盖距离d以及每个岛屿的位置(由x,y坐标值表示),若雷达能覆盖所有岛屿, 则输出所需雷达的最小数量;否则,输出“无法覆盖”。第 15 题图如第15题图所示海洋中有3个岛屿, 位置分别为(1,2) 、(-3,1) 、(2,1),雷达的覆盖距离为2,则 至少需要安装2个雷达装置,分别安装在(-2,0),(1,0)位置上。(1)若上述雷达覆盖距离修改为3,则至少需要安装的雷达装置数为 (2)实现上述功能的Python程序如下,请在划线处填入合适的代码。from math import sqrtn = int(input('请输入岛屿的数量n:'))d = int(input('请输入雷达的半径d:'))# qj[i][0] 、qj[i][1]分别存储可以覆盖第i个岛屿的雷达,能安装的最左边和最右边位置 qj = [[0, 0] for i in range(n)]flag = Truefor i in range(n):x = int(input('岛屿坐标x:'))y = int(input('岛屿坐标y:'))if y > d:flag = Falsebreakqj[i][0] = ①qj[i][1] = x + sqrt(d * d - y * y)if flag == False:print('无法覆盖')else:# 按左端点升序排序,左端点相同时按右端点升序排序for i in range(n - 1):k = ifor j in range(i + 1, n):if ② :k = jifk != i:qj[k], qj[i] = qj[i], qj[k]6num = 1cur = qj[0][1]for i in range(1, n):if cur > qj[i][1]:cur = qj[i][1]elif ③ :num += 1cur = qj[i][1]print('安装的雷达数为: ', num)(3)若将程序中加框处代码修改为 (单选:填字母),不影响的正确性。A. i==n- 1 B. i==n C.id(4)根据代码可知,对于n个岛屿,在进行排序时最多的交换次数为 。7 展开更多...... 收起↑ 资源列表 高二信息技术学考期中考试学选考答案11.23(final).docx 高二信息技术期中考试11.23(高二信息).docx