-
1、下列关于数据和信息的说法,正确的是( )A、数据的表现形式可以是音频和视频 B、同一信息只能依附于同一种载体 C、计算机中保存的数据可以是未经数字化的 D、结绳记事中“大事大结,小事小结”,绳结是信息
-
2、汽车整车安装流水线有n个工序(编号为0到n-1),每个工序可以有若干个前置工序,但最多只有一个未完成的后续工序。对于每个工序,只有完成其所有的前置工序,才能开始作业,完成每个工序需要费用。编写程序模拟该安装过程,输入每个工序的编号、后续工序及费用,计算编号为m的工序需要的费用。
请回答下列问题:
(1)、如图所示,完成工序5有两个前置工序(2和4),需要先完成两个流程:工序0→工序1→工序2,以及工序3→工序4,才能开始工序5的作业。总费用为(1+2+8)+(4+2)+3=20。完成工序7总费用是。(2)、定义 sort(info)函数,将输入的工序信息 info 排序。def sort(info):
m=len(info)
for i in range(1,m):
for j in range(0,m-i):
if info[j][0] > info[j+1][0]:
info[j],info[j+1] = info[j+1],info[j]
若输入的info=[[1,2,1],[0,1,3],[2,3,4],[3,-1,2]],运行 sort(info)后,info中的数据为 (单选,填字母)。
A、[[3,-1,2],[2,3,4],[1,2,1],[0,1,3]] B、[[0,1,3],[1,2,1],[2,3,4],[3,-1,2]] C、[[3,-1,2],[0,1,3],[1,2,1],[2,3,4]] D、[[2,3,4],[1,2,1],[0,1,3],[3,-1,2]](3)、实现输入工序m,计算完成工序m所需费用的部分Python程序如下,请在划线处填入合适的代码。def crt_lnk(): #创建工序链表,维护相关信息
for job in info:
lnk.append([job[0],job[1]])
for i in range(n):
if pre[i] == 0:
cur = i
while cur != -1:
src[cur].append(i)
def cal_ans(obj): #计算完成工序 obj 的费用
flag=[0]*n
res = info[obj][2]
for i in src[obj]:
p = i
while p != obj:
if flag[p]==0:
flag[p]=1
p = lnk[p][1]
return res
#读取数据到列表 info,每个元素依次为工序编号、后续工序及该工序的费用,代码略
n = len(info)
pre = [0] * n #pre 列表用于存储每个工序的前置工序的数量
lnk = []
src = [[] for i in range(n)]
sort(info)
m = int(input())
crt_lnk()
print(cal_ans(m))
-
3、小美收集了某电商平台某年 1-12 月的“十大”空调品牌的销售数据,每个月的数据保存在一个 CSV 文件中,文件如1 图所示,分别记录了对应月份的订单数据。
1 图
2 图
请回答下列问题:
(1)、定义 get_sales 函数,功能为:读取某月的 CSV 文件,返回某品牌当月的销售额。函数代码如下,划线处应填入的代码为: (单选,填字母)。import pandas as pd
def get_sales(brand, month):
filename = str(month) + '.csv'
df = pd.read_csv(filename) #读取文件
df =
sales = (df['数量'] * df['单价']).sum() #求出 df 中所有数量*单价的总和
return sales
A、df[df['品牌'] == brand] B、df[df['品牌'] == month] C、df['品牌'] == brand D、df['品牌'] == month(2)、统计十大品牌全年销售额,并找出销售额最大的品牌,绘制该品牌的1-12月销售额的线形图,部分Python程序如下,请在划线处填写合适的代码。import matplotlib.pyplot as plt
brand_dict = {'格力': 0, '美的': 0, '海尔': 0, '奥克斯': 0, '海信': 0, '三菱重工': 0, '日立': 0, '华菱': 0, 'TCL':0, '大金': 0}
x,y,max_sales,brandmax = [],[],0,''
for i in range(1,13):
for j in brand_dict:
brand_dict[j] +=
for i in brand_dict:
if brand_dict[i] > max_sales:
max_sales = brand_dict[i]
for i in range(1,13):
x.append()
y.append(get_sales(brandmax,i))
plt.plot(x,y)
plt.show() #生成线形图如3 图所示
(3)、由第3图可知,该空调销售额增量最大的月份是。 -
4、校园一卡通系统是数字化校园必备的系统之一。学生凭借一张校园卡,可以在校内完成食堂就餐、超市购物、图书借阅等应用,家长可以借助手机APP查询学生的在校消费记录,系统拓扑结构如图所示。(1)、刷卡就能消费,使用的是技术(单选,填字母:A .移动网络 / B .射频识别)。(2)、在一卡通服务器和互联网之间增加设备可以提高系统安全性(单选,填字母) 。A、调制解调器 B、路由器 C、交换机 D、防火墙(3)、若学生在食堂编号id为1的刷卡机上消费了15元,提交数据的URL为http://192.168.200.15:8080/dm?id=1&data=15,参考第13-2图所示的路由函数,若学生在超市编号id为5的刷卡机上消费了20元,此时提交数据的URL为http://192.168.200.15:8080/。
2 图
(4)、系统设置了消费阈值wmax来防止学生过度消费,分别用sta值的0和1来表示学生的单笔消费金额w1小于等于wmax和大于wmax的情况,下列Python程序段中符合要求的有 (多选填字母)。A、sta = 0t = wl // wmax
if t > 1:
sta = 1
B、if wl > wmax:sta = 0
else:
sta = 1
C、sta = 0t = wl - wmax
if t > 0:
sta = 1
D、sta = 0if wl > wmax:
sta = 1
(5)、学生能够在图书馆正常借阅,在食堂刷卡时却无法正常消费,请分析可能的原因是。 -
5、有如下Python程序段:
def find_base(x,y):
left, right = 2, 10
while left <= right:
mid = (left + right) // 2
value = calc(mid, y) #calc 函数将 mid 进制的整数 y 转化为十进制数
if value == x:
return mid
elif value < x:
left = mid + 1
else:
right = mid - 1
return -1
x = int(input()) ; y = int(input())
print(find_base(x,y))
执行该程序段后,依次输入83和123,程序输出为( )
A、2 B、6 C、8 D、-1 -
6、有如下Python程序段:
Q=[0]*10
cnt,head,tail = 0,0,0
S=input()
for i in range(0,9,2):
t = S[i]
n = int(S[i+1])
if t == 'A':
for j in range(n):
Q[tail] = cnt
tail += 1
cnt += 1
elif t == "D":
while head != tail and n > 0:
head += 1
n -= 1
print(Q[head : tail])
若输入S的值为"A2D1A1D3A2",则程序的输出结果是( )
A、[3,4,5] B、[3,4] C、[4,5] D、[4] -
7、有一堆桃子,猴子第一天吃掉其中的一半,并再多吃一个。之后每天猴子都吃掉剩余桃子的一半,再多吃一个。假设到第十天时,猴子发现只剩下了一个桃子,问原来这堆桃子最初有多少个。实现上述问题的两段Python程序如下:
#程序 1
def eat_peach(day):
s=1
for i in range(9,day-1,-1):
s=(s+1)*2
return s
print(eat_peach(1))
#程序 2
def eat_peach(day):
if day==10:
return 1
else:
return (eat_peach(day+1)+1)*2
print(eat_peach(1))
下列说法不正确的是( )
A、程序1和程序2的输出结果相同,均为第1天的桃子数量 B、程序2使用递归算法,函数eat_peach的调用次数为10次 C、将程序1的划线语句修改为range(day, 10),输出结果发生改变 D、将程序2的划线语句修改为print(eat_peach(8)),输出的结果为10 -
8、使用键盘输入“ac←booo←←un←t”,其中 “←”表示一次撤销操作(删除前一个字母)。模拟输入过程,合适的数据结构和最后的单词分别是( )A、栈 about B、栈 account C、队列 about D、队列 account
-
9、如图所示,将二叉树A的根节点与二叉树B的根节点连接,使得二叉树A成为二叉树B的左子树,合并为一棵新的二叉树C。下列说法中正确的是( )A、二叉树C的高度为3 B、二叉树C的叶子节点数量为3 C、二叉树C是一棵完全二叉树 D、二叉树C中序遍历的结果是一个有序序列
-
10、执行如图所示的流程图,若输入的x、y、p的值分别为:60、20、5,则输出的结果是( )A、2 B、3 C、4 D、5
-
11、下列关于网络系统和信息安全的说法,正确的是( )A、不同网络之间的数据不能互通 B、移动互联网使万物互联成为可能 C、密码只要设置得越长安全性就越好 D、信息系统的漏洞只来源于操作系统
-
12、阅读以下材料,回答问题
某超市配备了“智能购物车”,用户只需要将物品扫码后放入购物车,购物车就会自动计费,同时还具备商品推荐和导航功能。该系统的主要硬件参数及软件功能如下:
(1)、下列关于该信息系统的说法,正确的是( )A、智能终端上既要安装系统软件,也要安装应用软件 B、超市网络环境的好坏,不会对智能购物车的使用造成影响 C、摄像头用于刷脸及商品扫码,属于输出设备 D、该购物车可以直接拿到其他超市去使用(2)、下列关于该信息系统中使用的软硬件技术的说法,不正确的是( )A、根据消费者需求提供路径导航,依靠的是陀螺仪和导航技术 B、扫码商品二维码添加到购物车,依靠的是摄像头和文字识别技术 C、刷脸登录后根据喜好推荐商品,依靠的是人脸识别和大数据处理技术 D、生鲜商品称重及自动金额计算,依靠的重力传感器和购物系统(3)、下列关于该信息系统中数据的说法不正确的是( )A、用户扫码商品的数据,可以保存在购物车的智能终端上 B、用户登录购物系统后,以往的消费数据会从系统数据库中被提取并分析 C、用户的购买记录,在用户付款结算后会保存到系统数据库中 D、用户增删当前购物车的商品,必须实时将数据上传到系统数据库 -
13、下列关于人工智能的说法,正确的是( )A、人工智能主要有符号主义、联结主义、行为主义等代表性方法 B、深度学习体现了自我学习的能力,即从过去的经验中不断学习,提升能力 C、联结主义人工智能从“交互-反馈”角度来刻画智能行为 D、人工智能发展会取代人类部分职业,应该禁止其发展
-
14、下列关于数据与信息的说法,正确的是( )A、数据就是指各种数字 B、数字信号是指连续变化的物理量 C、信息不会随着时间的推移而发生变化 D、同一信息可以依附于不同的载体
-
15、为分析数据中各元素的变化情况,进行如下定义:若在数组d中满足d[a]<...<d[i-1]<d[i]>d[i+1]>...>d[b],则从下标a到下标b区间的数据称为一个波峰,下标a到b的距离即为一个波峰的长度(长度≥3)。例如:数组d元素为“78,46,50,37,5,42,6,6,23”,存在2个波峰,分别是从d[1]到d[4]和d[4]到d[6],波峰长度分别为4和3。
编写程序分析数据,找出所有波峰,按波峰长度降序排序(若波峰长度相同,则按开始下标升序),并输出波峰长度和开始到结束元素下标;若不存在,则输出“不存在波峰”,运行结果如图所示。
请回答下列问题:
(1)、根据题意,若数组d元素“23,14,35,31,13,20,3,40,10,10,9”,则最长的波峰长度为。(2)、执行该程序,若数组d元素为“2,1,1,2”,则A处while语句中循环体的执行次数是。(3)、实现上述功能的程序代码如下,请在划线处填入合适的代码。#读取待处理数据,保存在数组 d 中,并显示输出,代码略
mt,i,n=[],1,len(d)
while i<n:
while i<n and d[i]<=d[i-1]: #A
i+=1
st=i-1
while i<n and d[i]>d[i-1]:
i+=1
if:
continue #跳出本轮循环,然后继续进行下一轮循环
while i<n and d[i]<d[i-1]:
i+=1
ln=i-st
if len(mt)==0:
mt.append([ln,st,-1]) #为 mt 追加一个列表元素
head=0;q=head
else:
while p!=-1 and :
q=p
p=mt[p][2]
if p==head:
mt.append([ln,st,head])
head=len(mt)-1
else:
mt.append([ln,st,p])
if len(mt)==0:
print("不存在波峰")
else:
print("输出结果(长度:开始下标~结束下标):")
p=head
while p!=-1:
print(mt[p][0],":",mt[p][1]," ~",mt[p][0]+mt[p][1]-1)
p=mt[p][2]
(4)、使用以下代码替换加框处代码,可以减少链表mt遍历次数的是 (单选,填字母)。A、if mt[q][0]>ln:p=mt[q][2]
else:
p=head
B、if mt[q][0]<ln:p =mt[q][2]
else:
p=head
-
16、小天收集了浙江省某年各地市年龄段数据,保存在“T14.xlsx”文件中,如图a所示。为统计分析各地市不同年龄段人口占比,编写Python程序,输出结果如图b所示。
请回答下列问题:
(1)、为统计分析各地市不同年龄段人口占本地市人口比例,编写 Python 代码如下,划线处①应填入的代码为(单选,填字母),划线处②应填入的代码为。A.df.groupby("地市",as_index=False).count()
B.df.groupby("地市",as_index=False).sum()
C.df.groupby("地市",as_index=True).mean()
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel("T14.xlsx")
df1 = ① # 计算各地市不同年龄段的人数
print ("地 市17 岁以下 18-34 岁 35-59 岁 60 岁及以上")
#“df1.values.tolist()”实现将 df1 转换为二维列表。列表中每个元素包含 5 个数
#据项,分别对应地市名称和该地市 4 个年龄段人数总计,如['丽水市', 501421, ...]
df2=df1.values.tolist()
x,y = [],[]
for area in df2:
for c in range(len(area)):
if c == 0:
x.append(area[0])
print(area[0], end=" ?")
else:
sm = sum(area[1:]) #sum 函数实现对序列求和
t= ②
print('%.2f' %(t), end="% ?") #按设置格式输出
if c == 4:
y.append(t)
print()
plt.title("浙江省各地市 60 岁以上人数占本地市总人口比例", fontsize=24)
plt.bar(x, y)
#绘制 60 岁及以上人数占本地市总人口比例柱形图
#设置绘图参数,显示如图 c 所示,代码略。
(2)、由图c可知,60岁及以上人数占本地市人口比例超过25%的地市有个。(3)、小天编写mygroupby函数模拟实现上述分类汇总功能,计算各地市不同年龄段的人数,结果以列表形式返回。函数代码如下,请在划线处填入合适的代码。#df1为二维列表,列表中每个元素包含6个数据项,内容如图a所示;函数返回值dfs格式同题(1)二维列表 df2
def mygroupby(df1):
dfs=[] #创建一个空列表 dfs
for row in df1:
if n>0:
for j in range(n):
if row[0]==dfs[j][0]:
break
if n==0 or row[0] != dfs[j][0]:
dfs.append([row[0],0,0,0,0])
j=n
for k in range(2,len(row)):
return dfs
-
17、小强搭建家庭灯光、温度监控系统,该系统使用传感器采集光线、温度等数据由智能终端经过IoT模块发送到Web服务器。服务器端程序采用FlaskWeb框架编写,实现监控灯光与空调等功能。系统结构示意图如图a所示。请回答下列问题:(1)、完善该系统结构图。若图a中ABC处的设备由以下三部分组成:①Web服务器;②智能终端;③IoT模块,则ABC处的设备依次为(填数字编号)。(2)、小强使用智能终端上传采集的温度数值(范围为[0,1023]之间的整数),服务器接收到上传温度数值t后,将其转换为摄氏度d(转换公式为:t÷1024×3000÷10.24,保留2位小数)保存到数据库中数据类型为实型的tem字段中。服务器端部分Python代码如下,请在划线处填入合适的代码。
#导入各模块代码略
@app.route("/s")
def index( ):
#数据库连接等代码略
id=request.args.get("id") #接收智能终端上传的传感器编号
t=int(request.args.get("t")) #接收智能终端上传的温度数值
d=
s="insert into da(id,tem)
values ('"+id+"',"+str(d)+ ")"
cur.execute(s) #将数据保存到数据库中
#数据库其它操作代码略
return "ok"
if __name__ == "__main__":
app.run(host="192.168.0.1",port=8080)
(3)、结合上述代码,若上传编号id为1,温度数值t为72时,则能正确提交数据到服务器的URL为 (单选,填字母)。A、http://192.168.0.1.8080/index?id=1&t=72 B、http://192.168.0.1/8080:s?id=1&t=72 C、http://192.168.0.1:8080/index?id=1&t=72 D、http://192.168.0.1:8080/s?id=1&t=72(4)、为提升该系统Web服务器的性能,从硬件角度着手,除了增加内存容量外,还可以在哪些方面加以改进,请简要说明改进方案。 -
18、有如下Python程序段:
import random
q = [0] * 5
head = tail = 0
for i in range(5):
if random.randint(0,1)== 0:
q[tail] = random.randint(1,9)
tail += 1
elif head != tail and q[tail - 1] < q[head]:
q[tail] = q[head]
head += 1
tail += 1
执行该程序段后,q的值不可能是( )
A、[0, 0, 0, 0, 0] B、[5, 4, 3, 2, 1] C、[5, 8, 3, 0, 0] D、[0, 5, 6, 0, 0] -
19、有如下Python程序段:
import random
a = [2,3,5,8,10,10,10,17,19,20]
key = random.randint(1,30)
# 随机生成[1,30]之间的整数
i,j = 0,9
while i <= j:
m = (i + j) // 2
if a[m] > key:
j = m - 1
else:
i = m + 1
print(j)
执行该程序段,下列说法正确的是( )
A、若key的值为10,则输出的值为3 B、若输出的值为8,则key的值一定为19 C、对于任意key值,语句“m=(i+j)//2”最少执行1次 D、对于任意key值,语句“m=(i+j)//2”最多执行3次 -
20、定义如下递归函数,计算正整数n的每位数字之和,例如n=123,函数返回值为6。
def f(n):
x =
if x == 0:
return n
else:
y =
return
上述程序段中方框处可选代码为:
①n % 10
②n // 10
③y + f(x)
④y + f(n - 1)
则(1)(2)(3)处代码依次为( )
A、①②③ B、①②④ C、②①③ D、②①④