相关试卷
-
1、下列关于数据与信息的说法,不正确的是( )A、数据是对客观事物的符号表示 B、对数据进行加工处理有利于发掘其中蕴含的价值 C、信息可以脱离它所反应的事物被存储、保存和传播 D、信息的加工和处理必须使用计算机才能完成
-
2、某工厂收到了n个产品的订单,这n个产品分别在A、B两个车间加工,并且必须先在A车间加工后才可以送到B车间加工。为了使得总加工时间最短,我们可以将这n个产品分为两类,第一类在A车间加工时长少于在B车间加工时长,第二类在A车间加工时长不少于在B车间加工时长。第一类应将在A车间花费时间少的产品排在前面,第二类应将在B车间花费时间少的产品排在后面,然后先处理所有第一类产品,再处理第二类产品。可以证明,这样排序后所有产品加工完成花费的总时间最少。例如有4种产品,它们在A车间加工时长分别为3、5、8、4,在B车间加工时长分别为6、1、2、7,产品分类、排序、合并、计算时长的过程如图所示,最后得出总时长为21。(每个产品在B车间开始加工需同时满足它在A车间加工完并且B车间已加工完上一个产品这两个条件)
编写程序模拟工厂对这n个产品的处理过程,计算总加工时间。请回答下列问题:
(1)、由题意可知, 若 3 种产品在 A 车间加工时长分别为 5、7、3,B 车间加工时长分别为6、1、2,则总加工时长为。(2)、小华先编写了如下将第一类产品排序的函数:def sort1(a,b): #参数 a、b 的元素分别表示每个产品在A、B车间的加工时长。
n=len(a)
for i in range(n-1):
for j in
:
if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
b[j],b[j+1]=b[j+1],b[j]
加框处可以填写的代码有______ (多选)
A、range(n-1-i) B、range(n-1,i,-1) C、range(i,n-1) D、range(n-2,i-1,-1)(3)、小强编写了如下将第二类产品排序的函数:def sort2(a,b): #参数 a、b 的元素分别表示每个产品在 A、B 车间的加工时长。
n=len(a)
for i in range(1,n):
k1,k2=a[i],b[i]
j=i-1
while ① :
a[j+1],b[j+1]=a[j],b[j]
j-=1
a[j+1],b[j+1]=k1,k2
①此程序时间复杂度为 ② 。(单选, 填字母)
A. O(1) B.O(n) C.O(n2 ) D.O(nlog2 n)
②请在划线处填入合适的代码。
① ②
(4)、小张结合前两位同学的程序, 计算产品加工总时长。请在划线处填入合适的代码。读取n个产品在A、B两车间加工的时间,根据题目要求分为两类,第一类产品在A、B两车间加工的时间分别存储在列表a1和列表b1中,并通过sort1()函数排序,第二类产品在A、B两车间加工的时间分别存储在列表a2和列表b2中,并通过sort2()函数排序, 代码略
a=a1+a2
b=b1+b2
n=len(a)
k,t=0,0 #k 为 A 加工时间,t 为 B 加工时间
for i in range(n):
k+=a[i]
if :
t=k
print("总加工时长最短为:",t)
-
3、全国文明城市(区),简称文明城市,是指在全面建设小康社会中市民整体素质和城市文明程度较高的城市。小明收集并整理了从第1届到第6届文明城市的名单数据,存储在“wmcs.xlsx”文件中,部分界面如图a所示。
文明城市的名单构成:
Ⅰ.在没有复查环节的年份:当年评比通过的城市(表中“复查”项为空)+之前入选的城市(顺延,表中不体现)
Ⅱ.在有复查环节的年份:当年评比通过的城市(表中“复查”项为空)+之前已入选的城市复查通过(表中“复查”项为“通过”)
其中第2、5、6届有复查环节。以“宁波”为例,第1届评比通过,第2届复查通过,第3届第4届顺延(表中无宁波的数据),第5届复查通过,第6届复查通过。
图a
(1)、为了统计分析连续六次入选的全国文明城市(区),编写了 Python 程序,输出结果如图 b,请在划线处填入合适的代码。import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #解决图表中的中文显示问题 df=pd.read_excel ('wmcs.xlsx')
df1=df[df['届次']=='第 1 届']
lst=list(df1['地区'])
for i in range(2,7):
#将“地区”列数据转换为列表, 存入 lst
dfg=df[df['届次']=='第'++'届']
tmp=[]
if dfg['复查'].!=0: #只须处理复查的年份
for j in lst:
if j not in list():
tmp.append(j)
for num in tmp:
lst.remove(num)
#tmp 追加一个元素 j
#lst 删除一个元素num
print('连续六次入选全国文明城市(区)为:')
for i in lst:
print(i,end=';')
输出结果:
图b
(2)、第6届全国文明城市(区)共有133个,复查确认保留荣誉称号的前5届全国文明城市有151个,为了统计出入选第6届全国文明城市(区)数量前10的省份(直辖市或自治区)并绘制垂直柱形图(如图c),部分Python程序如下,请在划线处填写合适的代码。df=df[df['届次']=='第 6 届']
dsg=df.groupby('省份').地区.count() #此操作将使'省份'成为 dsg 的索引 dsg=dsg.sort_values(ascending=False) #对各省的地区数量进行降序排列 dsg=dsg.
plt.bar ( ) # 绘制垂直柱形图
plt.title('入选第 6 届全国文明城市(区)数量前 10 的省份(直辖市或自治区)') plt.
图 c
(3)、为实现第(2)题功能,则加框处的语句最合适的是( ) (单选,填字母)A、dsg.省份,dsg.地区 B、dsg.index,dsg.地区 C、dsg.index,dsg.values D、dsg.省份,dsg.values -
4、小王为解决智能家居项目中的灯光控制问题搭建了一套智能照明系统,该系统成功实现了灯光的亮度自动调节,并增加了亮度记忆功能。该系统的结构示意图如图所示,具体设计过程如下:
Ⅰ.用传感器实时监测室内光线亮度数据并由智能终端经IoT模块上传到Web服务器;
Ⅱ.Web服务器端程序采用FlaskWeb框架开发,通过终端浏览器可查看实时灯光信息和历史灯光信息;
Ⅲ.监测室内光线低于设定值,启动亮度记忆功能打开灯光,并随着光线与设定值之间的波动,执行器会按照控制信号完成灯光亮度的调整。
(1)、小王需要为“智能照明系统”中虚线框内的 4 个对象进行标注,这 4 个对象所对应 的具体内容有①光线传感器②micro:bit 板③灯④室内光线。请结合功能需求,给图中的传感器、控制器、执行器以及受控对象分别选择合理的对应内容 (单选,填字母)。A、①②④③ B、①③②④ C、①②③④ D、①③④②(2)、①该信息系统的控制是 (单选,填字母:A .开环控制 / B .闭环控制)。②该系统采用的架构模式是 (单选, 填字母: A .B/S 架构 / B .C/S 架构)。
(3)、在智能终端用代码 err,resp=Obloq.get("input?id=1&val="+str(light),10000)来 实时传送所需数据,服务器端接收到数据并存储,Web服务器端的部分代码如下。若要查看最近10条光线记录,在浏览器应输入的网址是。Web 服务器端的部分代码:
#导入所需模块,代码略
app=Flask(__name__)
@app.route("/")
def index():
#网页显示当前传感器数据, 并显示最近 10 条光线记录,代码略 @app.route("/input",methods=["GET","POST"])
def add_data():
#读取终端最近一次的光线数据并保存到数据库文件,代码略
if __name__ =="__main__":
app.run ("10.40.160.49",port=8080)
(4)、该系统在连续正常工作几个星期后,某一天小王忽然发现数据库中该天的灯光亮度数据一直显示在8:36这个时间而不再更新,可能的原因是。 -
5、有如下 Python 程序段:
import random
q=[1]*12;head=0;tail=1;s=0
k=random.randint(1,5)
while k>0:
q[tail]=q[head]*2
tail+=1
q[tail]=q[head]*2+1
tail+=1;head+=1;k-=1
while head<tail:
s+=q[head]
head+=1
执行该程序段后,s 的值不可能的是( )
A、7 B、22 C、35 D、51 -
6、使用Python 程序在链表 a 中删除一个数据 data,代码如下:
import random
a=[[87,1],[93,3],[97,5],[95,2],[80,0],[98,-1]]
head=4
x=random.randint(0,len(a)-1) #randint(a,b)返回[a,b]区间内的一个随机整数
data= ①
q=head
while q!=-1:
if ② :
if q==head:
head=a[q][1]
else:
a[p][1]=a[q][1]
break
else:
③
q=a[q][1]
则划线处的代码为( )
②data==a[q][0]
②data!=a[q][0]
②data==a[q][0]
②data!=a[q][0]
③p=q
③p=head
③p=q
③q=head
A、①a[0][x] B、①a[0][x] C、①a[x][0] D、①a[x][0] -
7、运行下列 Python 程序段,输出结果是( )
def trans(n):
if n <= 1:
return str(n)
else:
return trans(n // 2) + str(n % 2)
print(trans(13))
A、1101 B、1011 C、13 D、31 -
8、有一棵二叉树,如图所示,下列说法正确的是( )A、此二叉树是完全二叉树 B、此二叉树的深度是 3 C、此二叉树的中序遍历为 H-D-B-E-A-C-F D、此二叉树用一维数组表示为
['A ', 'B ', ' ', 'C ',
'D ', 'E ', ' ', 'F ', ' ', 'H ']
-
9、有一个空栈,规定用 I 表示一个元素入栈, 用 O 表示一个元素出栈。现经过 IIOIOOIO 系列操作后, 元素的出栈顺序是 4,1,3,2,则元素的入栈顺序是( )A、1,3,4,2 B、3,4,1,2 C、2,3,1,4 D、1,4,3,2
-
10、某算法部分流程图如图所示。执行这部分流程,输入 s、i、k 的值分别为 0、0、1,输出 s 的值是( )A、1 B、-1 C、0 D、2
-
11、家庭网络系统支持将有线终端和无线终端接入家庭局域网,从而访问Web站点,使用各种网络应用。小王搭建好家庭网络系统后,通过在PC浏览器的地址栏输入http://www.baidu.com浏览该网站信息,以下关于网络系统和网络技术的说法,正确的是( )A、移动终端通过无线方式接入家庭局域网,仅需开启路由器的DHCP 服务即可 B、手机需接入家庭局域网, 才能访问 http://www.baidu.com 网站 C、家庭局域网内的各种设备之间的通信无需网络协议的支持 D、家庭网络系统可以通过移动通信网络接入互联网
-
12、阅读以下材料, 回答问题。
某校园内设置有“共享雨伞服务”信息系统。在校园各处安装了雨伞租借机,租借机上有读卡器,学生可通过刷“一卡通”学生卡,教师可通过有NFC功能的手机,在租借机上自助借伞还伞,租借机如图所示。
(1)、关于该信息系统的组成和功能,下列说法正确的是( )A、雨伞不属于该系统的硬件 B、在租借雨伞时,读取卡片信息的过程属于信息系统的数据收集和输入功能 C、该信息系统里的用户只有学生和教师 D、该信息系统不需要通信网络的支持(2)、关于该信息系统中数据的采集、存储,下列说法正确的是( )A、租借数据存储在学生卡或教师手机里 B、在租借过程中,读卡器是发射端, 学生卡或教师手机是接收端 C、该系统采用了 RFID 技术, 在信息采集过程中, 没有使用传感器技术 D、学生卡是一种无源电子标签, 它依靠读卡器获得能量, 从而激活标签中的芯片 -
13、下列关于信息系统安全的说法,正确的是( )A、安装防火墙后可阻挡所有外部攻击,因此无需对防火墙进行升级 B、为了便于管理,系统发布时应保留为测试系统而预留的后门 C、用户通过身份认证后可以访问管理系统内的所有数据 D、为降低计算机病毒感染的风险,应坚持预防为主、查杀为辅的原则
-
14、下列关于人工智能的说法,正确的是( )A、专家系统是联结主义人工智能体的典型代表 B、采用联结主义方法的智能体通过与环境的交互学习提升智能 C、深度学习是从海量数据出发, 对数据中所蕴含的特征模式进行学习的算法模型 D、人类不会失去对人工智能技术发展的控制, 无需担忧人工智能技术威胁到人类安全
-
15、下列关于数据、信息的说法,正确的是( )A、数字和数值都是可以进行算术运算的数据 B、单纯的数据是没有意义的,必须经过解释, 数据才变得有意义 C、信息具有价值性, 对于不同的人群、不同的时间,其价值是相同的 D、尽管同一信息可以依附于不同的载体, 但人们获取信息的途径与方法是相同的
-
16、某工厂需要加工n批货物,但同一时间只能加工同一批货物。货物的信息包含送达时间、加工时间和是否加急(0表示不加急,1表示加急),每批货物的送达时间各不相同,已送达的货物按照是否加急分别排队,先到达先入队,每次加工都优先处理加急货物队列,选取队首货物出队进行加工(同一时刻出现入队和出队时,先处理入队)。求出所有货物的平均等待时长,其中每批货物等待时长为其开始加工的时间与送达时间的时间差。(1)、由题意可知,图中待加工货物A、B、C、D、E的加工顺序应为A-C-B-E-D。A、C、B、E的等待时长分别为0、0、2、1、那么D等待时长为:;
货物编号
送达时间
加工时间
是否加急
A
0
2
0
B
1
3
0
C
2
1
1
D
4
2
0
E
5
2
1
(2)、实现模拟加工过程并计算平均等待时长的部分Python程序段如下,请在划线处填入合适代码。读取n批待加工货物信息存于列表data,data中的数据已经按货物送达时间升序排列。例如存储题中实例的数据:
data=[["A",0,2,0],["B",1,3,0],["C",2,1,1],["D",4,2,0],["E",5,2,1]] '''
n=len(data)
qA=[0]*n;qB=[0]*n
headA=0;tailA=0
headB=0;tailB=0
curtime=0 ;i=0 ;sum=0
while i<n or headA!=tailA or headB!=tailB:
if i<n and data[i][1]<=curtime:
k=data[i][3]
if :
qA[tailA]=i
tailA+=1
else:
qB[tailB]=i
tailB+=1
elif
:
if headA!=tailA:
p=qA[headA]
headA+=1
else:
p=qB[headB]
headB+=1
curtime+=data[p][2]
else:
curtime=data[i][1]
print("平均等待时间为:",sum/n)
(3)、加框处代码错误,请改正。 -
17、某中学高一年级完成一次7选3意向调查,数据存储在“xk73.xlsx”中,如图a所示,其中1代表选择科目,0代表弃选科目。
图a
(1)、使用 pandas 编程计算本次选课各门课人数占总人数的比例, 请在划线处填入合适的代码。import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#图表显示中文
df=pd.read_excel (" ")
a=[""]*len(df) #存储每个学生的选课组合
dic={"物":0,"化":0,"生":0,"政":0,"历":0,"地":0,"技":0}
for i in df.index:
for j in df.columns[3:]:
if df.at[i,j]==1:
a[i]+=j
for i in dic.keys():
dic[i]=round(dic[i]/len(df)*100,2)
(2)、按照各科选考人数占比创建如图b所示的图表。图 b
df1=pd.DataFrame({"学科":dic.keys(),"人数占 比":dic.values()})
df1= ①
plt.title("各科选考人数占比")
plt.bar ( ② , label="人数占比") plt.legend()
plt.show ()
观察图所示,横线处应填入的代码: ① ② (选填字母)
A.df1.sort_values("人数占比",ascending=True)
B.df1.sort_values("人数占比",ascending=False)
C.df1.学科,df1.人数占比
D.df1.人数占比, df1.学科
(3)、小李同学想查询某种七选三组合的有多少人。以下程序代码可以为小李同学提供查询功能,程序运行示例如图c所示,请在划线处填上合适代码。图 c
cx=input("请输入需要查询的选课组合: ")
cnt=0
for i in range(len(a)):
if :
cnt=cnt+1
print(f"选择{cx}组合的同学共有: {cnt}人")
-
18、信息时代要提升个人信息安全意识,确保个人信息安全,需经常修改登录密码,小明设计一种字符加密方法,用原密码加密生成新密码。他设计的加密规则如下:
㈠将原密码中的小写字母转换成大写字母;
㈡将原密码中的大写字母转换成小写字母;再利用移位秘钥中对应的数字循环右移,移位秘钥不够时可以循环使用。如移位秘钥为“312”,待加密字母“abcde”,则应将字母a,b,c,d,e分别循环右移3位、1位、2位、3位、1位;
㈢将原密码中的数字转换为与其对称的数字,例如:0→9,3→6,5→4……9→0;
㈣原密码中其它特殊字符不改变。
程序运行界面如图所示,实现上述功能的程序代码段如下:
def change(zf):
if "A"<=zf<="Z":
s=zf.lower() else: #将字符 zf 中的大写字母转化为小写字母
else:
s=zf.upper() #将字符 zf 中的小写字母转化为大写字母
return ①
pw=input("请输入原密码:")
yw=input("请输入移位秘钥: ") res="";n=0
for ch in pw:
if "a"<=ch<="z":
ch=change(ch)
"A"<=ch<="Z": ch=change(ch)
ch=chr((ord(ch)-97+int(yw[n]))%26+97)
n= ②
elif "0"<=ch<="9":
ch= ③
res=res+ch
print("生成新密码:",res)
(1)、请在划线处填上合适代码。① ② ③
(2)、若将加框处代码 elif 改为 if,则第 14 图中生成的新密码为: 。 -
19、有两个降序序列的链表a,b。现将链表b中的数据合并到链表a,形成一个新的降序序列存于链表a,实现数据合并的代码段如下:
a = [[98,1],[96,2],[95,3],[93,4],[90,-1]];b = [[99,1],[97,2],[94,3],[93,4],[92,-1]] head_a = head_b = 0
pre = p = head_a;q = head_b
while q!=-1:
if p!=-1 and (1) :
pre=p
p=a[p][1]
else:
a.append( (2) )
if p==head_a:
pre=head_a=len(a)-1
else:
a[pre][1]= (3)
pre=len(a)-1
q=b[q][1]
上述程序段中可选填的语句为:
①a[p][0]>= b[q][0] ② a[p][0]<= b[q][0] ③q
④len(a)-1 ⑤[b[p][0],q] ⑥[b[q][0],p]
则划线处填写的语句依次为:( )
A、①⑥④ B、①⑤④ C、①⑥③ D、②⑥③ -
20、有如下 Python 程序段:
import random
p="abcde*";st=[] ;s="";i=0
while i<=5:
m=random.randint(0,1)
if m==0:
st.append(p[i])
i+=1
elif len(st)>0:
s+=st.pop()
print(s)
执行上述程序段后,输出结果可能的是:( )
A、a* B、cdabe C、abcde* D、cdba