2021-2022學(xué)年浙江省寧波市九校聯(lián)考高二(下)期末信息技術(shù)試卷
發(fā)布:2024/12/11 18:30:2
一、選擇題(本大題共12小題,每小題2分,共24分,每小題列出的四個備選項中只有一個是符合題目要求的,不選、錯選、多選均不得分)
-
1.下列有關(guān)人工智能的說法不正確的是( )
組卷:6引用:3難度:0.6 -
2.下列關(guān)于數(shù)制和編碼的說法正確的是( ?。?/h2>
組卷:8引用:6難度:0.6 -
3.下列關(guān)于信息系統(tǒng)及其組成要素說法不正確的是( ?。?/h2>
組卷:11引用:4難度:0.6 -
4.下列關(guān)于數(shù)據(jù)結(jié)構(gòu)的說法正確的是( )
組卷:0引用:3難度:0.5 -
5.有如下 python 程序段,運行該段代碼后,a[2]的值為( ?。?br />
組卷:1引用:1難度:0.5
二、非選擇題(本大題共4小題,其中第13小題8分,第14小題6分,第15小題6分,第16小題6分,共26分。)
-
15.根據(jù)網(wǎng)上選課系統(tǒng)的報名導(dǎo)出數(shù)據(jù)(存放在“社團選課.xlsx“文件中)(如圖 a 所示),小北又設(shè)計了程序?qū)υ撁麊巫隽诉M(jìn)一步處理,生成了以班級名稱為名(如圖a 所示) 和以社團名稱為名(如圖 b 所示) 的電子表格文件,以便分發(fā)給對應(yīng)的社團指導(dǎo)老師和各班班主任。
生成圖 b 所示名單的 python 程序如下,該程序的功能:先對導(dǎo)出數(shù)據(jù)按社團名稱進(jìn)行分類,再對選報同一社團的學(xué)生按班級為關(guān)鍵字進(jìn)行升序排序,最后生成相應(yīng)的社團名單。請 在橫線處填入合適的代碼。
import pandas as pd
def read_file(filename):
#讀入電子表格文件,并將表中的數(shù)據(jù)轉(zhuǎn)換成列表,代碼略
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):#按社團名稱(參照字符的編碼大小) 進(jìn)行升序排序
forjinrange(0,n-i):
if a[j][2]>a[j+1][2]:
a[j],a[j+1]=a[j+1],a[j]
#統(tǒng)計各社團人數(shù),存放在列表 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.根據(jù)前面幾題的分析發(fā)現(xiàn),部分社團的選報人數(shù)超過了 40 人,由于人數(shù)太多不便于開展活動,學(xué)校團委決定將人數(shù)超過 40 人的社團隨機分成兩個班。小北使用鏈?zhǔn)浇Y(jié)構(gòu)實現(xiàn)了該分班功能?,F(xiàn)以對“MULA 商社”進(jìn)行分班為例(“MULA 商社.xlsx”文件截圖如第 15 題圖c 所示),具體實現(xiàn)程序如下,請在橫線處填入合適的代碼。
import pandas as pd
importrandom
df=pd.read_excel(“MULA 商社.xlsx“)
namelist=df.values.jye.ai( ?。?將數(shù)據(jù)轉(zhuǎn)換成列表
#將數(shù)據(jù)轉(zhuǎn)換成列表后,namelist=[[101,“鄧**“,“MULA 商社“],?]
k=0
data=[[““fori in range(2)]for j in range(len(namelist))]
foriteminnamelist:#初始化鏈表結(jié)構(gòu)
data[k][0]=item
data[k][1]=k+1
k+=1
①
head=0
n=length=len(data)#每次抽取時剩余人數(shù)
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:#從頭節(jié)點開始查找第 t 個節(jié)點所在位置
p=q
q=data[p][1]
t=t-1
namelist1.jye.ai(data[q][0])
③
length=length-1
#生成MULA 商社 2 班名單及將生成的兩份名單保存成電子表格文件,代碼略組卷:1引用:1難度:0.3