2021-2022学年浙江省宁波市九校联考高二(下)期末信息技术试卷
发布:2024/12/11 18:30:2
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分)
-
1.下列有关人工智能的说法不正确的是( )
组卷:6引用:3难度:0.6 -
2.下列关于数制和编码的说法正确的是( )
组卷:8引用:6难度:0.6 -
3.下列关于信息系统及其组成要素说法不正确的是( )
组卷:11引用:5难度:0.6 -
4.下列关于数据结构的说法正确的是( )
组卷:0引用:3难度:0.5 -
5.有如下 python 程序段,运行该段代码后,a[2]的值为( )
组卷:1引用:1难度:0.5
二、非选择题(本大题共4小题,其中第13小题8分,第14小题6分,第15小题6分,第16小题6分,共26分。)
-
15.根据网上选课系统的报名导出数据(存放在“社团选课.xlsx“文件中)(如图 a 所示),小北又设计了程序对该名单做了进一步处理,生成了以班级名称为名(如图a 所示) 和以社团名称为名(如图 b 所示) 的电子表格文件,以便分发给对应的社团指导老师和各班班主任。
生成图 b 所示名单的 python 程序如下,该程序的功能:先对导出数据按社团名称进行分类,再对选报同一社团的学生按班级为关键字进行升序排序,最后生成相应的社团名单。请 在横线处填入合适的代码。
import pandas as pd
def read_file(filename):
#读入电子表格文件,并将表中的数据转换成列表,代码略
defsave_file(a):#保存名单至电子表格文件
df=pd.DataFrame(a,columns=[“班级“,“姓名“,“选报社团“])
df.to_excel (a[0][2]+“.xlsx“,index=False)
a=read_file(“社团选课.xlsx“)
n=len(a)
foriinrange(1,n):#按社团名称(参照字符的编码大小) 进行升序排序
forjinrange(0,n-i):
if a[j][2]>a[j+1][2]:
a[j],a[j+1]=a[j+1],a[j]
#统计各社团人数,存放在列表 rs 中,rs=[[“SDV“,32],„],代码略
s=0
foriinrange(len(rs)):
①
left,right=s,s+num-1
while left<right:
imin=imax=left
forkinrange(left+1,right+1):
if a[k][0]<a[imin][0]:
imin=k
elifa[k][0]>a[imax][0]:
imax=k
ifimin!=left:
a[imin],a[left]=a[left],a[imin]
ifimax==left:
②
ifimax!=right:
a[imax],a[right]=a[right],a[imax]
left=left+1
right=right-1
③
s=s+num
save_file(a[s:])组卷:3引用:2难度:0.3 -
16.根据前面几题的分析发现,部分社团的选报人数超过了 40 人,由于人数太多不便于开展活动,学校团委决定将人数超过 40 人的社团随机分成两个班。小北使用链式结构实现了该分班功能。现以对“MULA 商社”进行分班为例(“MULA 商社.xlsx”文件截图如第 15 题图c 所示),具体实现程序如下,请在横线处填入合适的代码。
import pandas as pd
importrandom
df=pd.read_excel(“MULA 商社.xlsx“)
namelist=df.values.jye.ai( )#将数据转换成列表
#将数据转换成列表后,namelist=[[101,“邓**“,“MULA 商社“],„]
k=0
data=[[““fori in range(2)]for j in range(len(namelist))]
foriteminnamelist:#初始化链表结构
data[k][0]=item
data[k][1]=k+1
k+=1
①
head=0
n=length=len(data)#每次抽取时剩余人数
namelist1=[]
namelist2=[]
foriinrange(n//2+1):#生成 MULA 商社 1 班名单
t=random.randint(0,length-1)
p=head
q=data[p][1]
ift==0:
namelist1.jye.ai(data[head][0])
②
else:
while t!=1:#从头节点开始查找第 t 个节点所在位置
p=q
q=data[p][1]
t=t-1
namelist1.jye.ai(data[q][0])
③
length=length-1
#生成MULA 商社 2 班名单及将生成的两份名单保存成电子表格文件,代码略组卷:1引用:1难度:0.3