-
1、某调查机构准备做一份关于《在校学生视力情况数据分析报告》,下列说法正确的是( )A、学生视力情况分析的目的与背景在报告中可以忽略 B、该报告中涉及的数据呈现方式必须用图表 C、该报告报告重点呈现数据分析的过程,可以没有结论 D、该报告要重点呈现数据分析过程、结论和建议
-
2、气象部门想绘制某地区近十年来降雨量随时间逐年变化的图表,以推测未来若干年降雨量的变化趋势,下列最适合选用的图表类型是( )A、柱形图 B、饼图 C、散点图 D、折线图
-
3、某同学将自己在高三和高一年级时填写的霍兰德职业倾向调查数据进行分析,发现所有采集的数据在六个维度上与之前的变化不大。该同学使用的数据分析方法是( )A、横向对比 B、纵向对比 C、平均分析 D、词云分析
-
4、贪吃蛇在?×?(1≤?≤10)的方阵中游走,它可以往上下左右四个方向游走,当穿越方阵的边界时还可以从该边界的对立面继续进入方阵。初始时你可以任意安排贪吃蛇的起点位置,并且选择一个方向一直走?步。方阵中“.”表示空位置,数字表示可以吃的食物,每吃到一个数字时,这个数字便会附着到贪吃蛇的尾部,同时方阵中该数字会消失。问:在某个时刻,贪吃蛇身上会不会出现我们想要的某个整数;若有,会有多少个数会小于该整数。
例如,在右侧5×5的方阵中可以产生[1,3,4,12,21,234,243,324,342,423,432]共11个数。其中数“234”的产生过程可以是:选择第4行第2列为起点,第一步吃掉2,接着往右走三步吃掉3,再往右走一步穿越到对面的4,吃掉它成为“234”,共五步。其中“1234”或“123”等整数是不可能出现的。
请回答以下问题。
(1)、输入方阵保存至数组?,然后将贪吃蛇所有可能吃到的所有数字组合保存到数组?中,请补充完该算法程序。dx = [0, 1, 0, -1] # 模拟贪吃蛇往四个方向游走时行号变化的数组
dy = [1, 0, -1, 0] # 列号变化数组
n = int(input()) # 方阵的大小
a, b = [], []
for i in range(n):
s = input().strip().split() #方阵中的一行数据,“.”号和数字字符都以空格分隔
a.append(s)
def calc(i, j, p):
x, y, res = i, j, 0
if '0' <= a[x][y] <= '9':
res = int(a[x][y])
for i in range(n-1):
x = # 产生新的行号
y = # 产生新的列号(与行号类似),代码略
if '0' <= a[x][y] <= '9':
res = res * 10 + int(a[x][y])
return res
for i in range(n):
for j in range(n):
for k in range(4):
num =
if num > 0:
b.append(num)
print(b) # 输出所有可能能产生的整数(可能会产生重复的整数)
(2)、若数组 a= [['.', '1', '.'], ['.', '2', '3'], ['.', '.', '.']],上述程序处理完后?数组中(选填:存在 / 不存在)整数2。(3)、对?数组中的所有整数进行升序排序,输入待查找的数据,输出小于等于该数字的数有多少个。请补充完该算法程序。b = [1, 12, 23, 23, 23, 35, 35,146]
输入输出示例:
请输入待查找的整数:23
小于等于23的数共有5个
请输入待查找的整数:31
小于等于31的数共有5个
bn = len(b)
for i in range(bn-1):
for j in range( ):
if b[j] > b[j+1]:
b[j], b[j+1] = b[j+1], b[j]
key = int(input("请输入待查找的整数:"))
i, j = 0, bn-1
while i <= j:
m = (i + j) // 2
if :
i = m + 1
else:
j = m - 1
print("小于等于", key, "的数共有", i, "个")
-
5、小林收集了各地市各年份检测的PM2.5浓度值保存于Excel文件“PM2.5.xlsx”中,部分数据如图a所示。小林使用Python进行数据分析,请回答以下问题。
图 a
图 b
(1)、小林先将同一个地区的数据输出到各自独立的 Excel 文件中,部分结果如图b所示,实现程序如下所示:import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel("PM2.5.xlsx")
# cities 保存所有地区名称,这里仅演示部分数据
cities = ["安吉县", "淳安县", "慈溪市", "杭州市", "湖州市"]
for city in cities:
dfc = ①
dfc.to_excel(city + ".xlsx", index=False) # 输出文件结果示例如图b所示
那么划线部分语句可以是 ;
A、df[df["地区名称"] == city] B、df[df["地区名称"]] == city C、df[df.地区名称 == city] D、df[df."地区名称"]] == city(2)、对于图a所示的原始数据,小林要进行数据整理:删除“地区编码”、“指标名称”、“计量单位”等对后面统计无用的数据列,请将划线处②的语句补充完整。df = pd.read_excel("PM2.5.xlsx")
# 删除“地区编码”、“指标名称”、“计量单位”数据列
df = df.drop(["指标名称", "地区编码", "计量单位"], axis= ② )
# 同一个地市取 PM2.5 浓度最高的值
dfg = ③
# 按 PM2.5 的值升序排序
dfg = dfg.sort_values("PM2.5", ascending=True)
# 输出排序后的最后五行结果
print(dfg.tail())
(3)、对于整理后的数据,在同一个地市中取历次 PM2.5 浓度检测值最高的值,最后按 PM2.5 升序排序数据,输出结果如图 c 所示,则第③空应填写的语句是( )(单选,填字母)图 c
图 d
A、df.groupby("PM2.5").max() B、df.groupby.地区名称.max() C、df.sort_values("PM2.5").max() D、df.groupby("地区名称").max()(4)、将排序后的数据分别取PM2.5检测值最高和最低的五行数据合并成新的DataFrame对象后绘制成柱形图如图d所示。请将程序补充完整。df2 = pd.concat([dfg.head(5), dfg.tail(5)]) # 合并两个对象成为新的 DataFrame 对象
plt.rcParams['font.sans-serif']=['KaiTi','SimHei','FangSong'] # 设置图表字体
plt.figure(figsize=(8,4))
plt.title("部分县市 PM2.5 浓度对比")
plt.xlabel("PM2.5 浓度值")
plt.bar( , df2["PM2.5"], color="orange")
for i in range(len(df2)):
x = df2.index[i]
y =
# text()方法可以绘制数据标签,语法:text(横坐标,纵坐标,显示内容)
plt.text(x, y, '%d' % y)
-
6、小范参加“科学玩家”绿色植物生态缸制作比赛,为此他搭建了“生态缸温度控制系统”。系统可以采集生态缸的气温,通过Wi-Fi传输到服务器并存储到数据库,当气温过高或过低时通过执行器控制温控设备为生态缸维持合适的气温。请回答以下问题。(1)、系统架构简图如上所示,图中①处连接的设备是(选填:服务器 / 智能终端 /路由器 / 防火墙)。(2)、生态缸采集并发送气温数据的部分程序代码如下所示:
from microbit import *; import Obloq
#uart串口配置和初始化,并用Obloq连接Wi-Fi,准备发送数据,代码略
while True:
value = pin0.read_analog() # 获取1号温度传感器数据,注意这是模拟值
t = round(value * 330 / 1024, 1) # 将模拟值转换成摄氏温度值
errno, resp = Obloq.get(② , 10000) # 向服务器发送数据
# 根据服务器反馈信息控制执行器进行温控,代码略
sleep(1000 * 5)
若某一时刻传感器获取到的温度值是27℃,它向服务器发送数据时使用的URL是http://192.168.113.5/data?id=1&v=27,请将划线处②的语句补充完整。
(3)、服务器端采用 Flask 框架搭建,其部分程序如下:import sqlite3; from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/')
def index():
#连接并读取数据库,获取传感器编号为1的所有气温值,用变量result保存,代码略
tmp = result[-1][2] #获取最后一条记录中的气温值,保存在变量tmp中
@app.route('/data', methods=['GET', 'POST'])
def add():
#获取智能终端传输的传感器编号id和气温v的值,并插入到相应数据表中
#最后根据数据库中存储的气温临界值向智能终端发送反馈信息,代码略
if __name__ == '__main__':
app.run(host="192.168.113.5", port="80")
在add()视图函数中,需要将数据插入到数据表中,其操作语句如下:
sql = "Insert Into sensorlog (sensorid, sensorvalue) values ('%s', '%s')" % (id, v)
①cur = db.cursor() ② db.commit()
③db = sqlite3.connect("temp.db") ④cur.execute(sql)
cur.close(); db.close()
那么其中①~④条语句正确的顺序是: 。
(4)、在上述程序的index()视图函数中,加框处语句试图用view.html模板渲染网页内容,并将tmp的值传递给网页模板变量temperature,但语句有误,正确的应该是( )(单选,填字母)A、return temperature B、return render_template('view.html', temperature) C、return render_template('view.html', tmp = temperature) D、return render_template('view.html', temperature = tmp) -
7、有如下Python程序段:
q = [1, 2, 3, 4, 5, 6, 7, 8, 9]
f, r = 0, 8
n = int(input())
while r < n:
cur = q[f]
f = f + 1
m = cur % 10
if m == 0:
q.append(cur * 10 + m)
q.append(cur * 10 + m + 1)
r += 2
elif m == 9:
q.append(cur * 10 + m - 1)
q.append(cur * 10 + m)
r += 2
else:
q.append(cur * 10 + m - 1)
q.append(cur * 10 + m)
q.append(cur * 10 + m + 1)
r += 3
对于该程序,下列说法正确的是( )
A、q[12]的值是20 B、若程序输入𝑛的值等于21,则列表q中的元素个数是22个 C、对列表任一元素q[i](9≤𝑖≤𝑟),其个、十、百、千……等相邻位上的数值相差都不超过1 D、q中元素值递增,且任意相邻两个元素q[i]和q[i+1](0≤𝑖<𝑟),它们数值相差不会超过1 -
8、有如下Python程序段,运行后程序的输出结果是( )
a = [[3,1], [2,2], [3,3], [3,4], [17,5], [2,6], [3,-1]]
p = head = 0
while p != -1:
q = p
while q != -1:
t = q
q = a[q][1]
if q != -1 and a[q][0] == a[p][0]:
a[t][1] = a[q][1]
q = t
p = a[p][1]
p = head
while p != -1:
print(a[p][0], end=' ')
p = a[p][1]
A、3 2 17 B、3 2 17 2 C、3 2 17 2 3 D、17 -
9、某表达式树如下图所示,下列说法错误的是( )A、该表达式树是一棵二叉树,树的度是2,高度是5 B、该树的叶子节点数比度为2的节点数多1个 C、若采用完全二叉树数组从0号位开始存储,则节点𝑏存储在6号位 D、该表达式树的前序遍历序列是×𝑑+/𝑓𝑐−𝑎𝑏
-
10、判断某序列?是否是入栈序列a=[1,2,3,4,5]的出栈序列,程序如下:
输入示例:
2 3 5 4 1
输出示例:
[2,3,5,4,1]是[1,2,3,4,5]的出栈序列
a = [1, 2, 3, 4, 5]
b = list(map(int, input().split()))
stack = []
i = j = 0
while i < len(a):
stack.append( ① )
i += 1
while len(stack) > 0 and ② :
stack.pop()
j += 1
if len(stack) == 0 and i == j == len(a):
print(b, '是', a, '的出栈序列')
else:
print(b, '不是', a, '的出栈序列')
划线处应填写的语句是( )
A、① a[i] ② stack[-1] == a[j] B、① a[i] ② stack[-1] == b[j] C、① b[i] ② stack[-1] == b[i] D、① b[i] ② stack[-1] == a[j] -
11、有如下Python程序段:
a = b = ""
k = 0
s = input().strip()
for i in range(len(s)):
if '0' <= s[i] <= '9':
k += 1
else:
b = s[i-k:i]
if a < b:
a = b
k = 0
print(a)
运行后若输入“3.803.93.520.888”(不包括引号),则输出是( )
A、803 B、93 C、520 D、888 -
12、某算法流程图如下图所示,已知randint(0,10)函数可以产生闭区间[0,10]内的随机整数,执行完该流程图后,输出结果可能是( )A、6 6 6 6 6 B、10 12 16 18 22 C、0 2 4 5 8 D、12 8 10 16 20
-
13、关于网络组成与构建,下列说法不正确的是( )A、为主机动态分配IP地址的服务器是DHCP服务器 B、局域网要接入互联网,需要调制解调器(Modem)和路由器(Router)等设备 C、网络由传输介质、网络互联设备、网络软件和网络协议组成 D、访问网站http://www.163.com,必须通过三层协议:网际协议、传输控制协议和应用程序协议
-
14、下列关于信息系统的说法,正确的是( )A、信息系统的硬件包括看得见、摸得着的设备和可以操作的应用程序 B、移动终端的存储器是整个设备的控制中枢系统和逻辑控制中心 C、信息系统中的传感技术负责对外部世界的控制 D、搭建信息系统主要包括硬件搭建和软件模块选择或编写两方面
-
15、随着信息技术的发展,信息安全保护也越来越重要,采取下列措施无助于信息安全的是( )A、数据可视化 B、异地容灾 C、USB Key 认证 D、非对称密码
-
16、下列四个选项中所描述的数从数值上比较,最大的是( )A、5位十六进制数能表示的最大值 B、20位二进制能表示的不同数的个数 C、存储10000个ASCII码所需字节数 D、存储图像大小为100×100像素的黑白两色位图所需的字节数
-
17、阅读下列材料,回答问题。
微软亚洲研究院视觉计算组曾在ImageNet计算机视觉识别挑战赛中取得了96.43%的图像识别正确率而一举夺冠。这得益于它前期对海量已分好类的图像大数据中所蕴含的特征模式的深度学习。该深度学习模型如图所示。
(1)、结合材料,下列关于信息、知识等的说法正确的是( )A、图中狗和猫等分类图像都是信息 B、96.43%是数据,即使脱离材料中给出的语境,我们可以获知其中的信息 C、人类知道左侧照片中是猫和狗,这是知识的体现 D、即使大部分输入数据的分类、特征信息不准确,深度学习结果也不会有偏差(2)、结合材料,下列关于人工智能的说法正确的是( )A、该技术用已知的数据定义来推导出其他图像数据定义,是符号主义实现方法 B、增大该系统前期输入的训练量,可以完全消除该系统图像识别的错误率 C、该技术需要人工参与输入已分类的图像信息,属于混合增强型人工智能 D、人工智能改善了人类生活,促进了经济发展,也带来了社会问题 -
18、操作系统在管理磁盘时,会将磁盘分为一个个“盘块”。在为文件分配空间时,可以将文件装到离散的盘块中。读取一个文件时,首先在目录结构中找到文件项。从文件项中可以获取文件名、存储时间、该文件在存储块中的起始地址等基本信息,但不包含文件具体内容,然后在磁盘文件分配表中找到对应的文件。磁盘文件分配表如图 1 所示。
文件结束块用-1 表示,空闲盘块用 0xff 表示。
(1)、根据文件的起始地址,能方便地找到文件的其它盘块。如图 1中,文件abc在磁盘中的盘块号依次是(注:各盘块号用→分隔)。(2)、如果目录结构损坏,就不能获取文件的基本信息和起始地址。但我们可以借助文件分配表来恢复部分数据(不考虑恢复文件名、存储时间等信息)。函数 regain 的功能是模拟数据恢复,找到各个文件的起始地址和大小(盘块数量),并返回以[[起始地址, 文件大小], …]形式的列表 lst。变量 allot 存储文件分配表信息。
def regain(allot):
lst=[]
visited=[] #记录 allot 的访问情况
for i in range(len(allot)):
if allot[i] != 0xff and i not in visited: #盘块 i 需要处理
fsize=0
p=i
while p!=-1 and p not in visited:
visited.append(p)
fsize+=l
p=allot[p]
if p==-1:
lst.append([i,fsize])
else:
for j in range(len(Ist)):
if lst[j][0]==p:
lst[j][0]=i
lst[j][1]=lst[j][1]+fsize
return lst
若allot为[3,7,13,9,0xff,0xff,0xff,8,-l,-l,0xff,l,0,1l,0xff,0xff],调用regain函数,
①则语句 lst[j][1]=lst[j][1]+fsize 一共会被执行次。
②如果把 while p!=-1 and p not in visited 改写为 while p!=-1,对程序的影响是(多选,填字母)。
A.会增加 while 的循环体执行次数
B.返回的 lst 中的节点数量保持不变
C.while 循环不能正常结束
D.返回的 lst 中,文件的起始地址部分不正确
(3)、在创建文件时,若新文件需要占据 5 个盘块大小,只需要从头到尾找到空闲盘块,并依次链接,并把首地址存放到文件项中。为了有效管理空闲块,我们可以将所有空闲盘区(每个空闲盘区可以包括若干个空闲盘块)构建到一条空闲链 freelst 中。freelst 每个节点存储本空闲盘区的盘块号、长度和指向下个盘块的指针,创建时把新节点链接到 freelst 尾部。如图 2所示,共有3个空闲盘区,盘块号依次为 4、5、6、10、14、15请在划线处填上合适的代码。
def mergefree(allot): #mergefree 的功能是从头到尾扫描文件分配表,创建空白盘区链
freeh=-1:freelst=[]
n=len(allot)
i=0
while i<n:
if allot[i]==0xff:
j=i+1
while
j+1
freelst.append([i,j-i,-1])
if freeh==-1:
freeh=cur=len(freelst)-1
else:
freelst[cur][2]=len(freelst)-1
i=j+l
else:
i+=l
return freeh,freelst
#读取文件分配表信息存储到 a11ot 中,代码略
head,freelst=mergefree(allot)
p=head
whi1e p!=-1: #打印出所有空闲盘块号
for i in range(freelst[p][1]):
print(,end=',')
p=freelst[p][2]
-
19、一球迷收集了近3个赛季的CBA比赛数据,每个赛季的数据分别保存在独立文件中,如图a所示,文件中数据记录格式如图b所示,以球员“布莱克尼”的“二分”数据“7.9-16.3”为例,7.9表示二分球平均命中数量,16.3表示二分球平均投篮次数。
该球迷想根据历史赛季数据预测各球队下个赛季的首发阵容,编写了如下Python程序,请回答下列问题:
import pandas as pd
def readData(file):
df=pd.read_excel(file) #读取文件 file 中的数据
cols={"二分":2,"三分":3,"罚球":1}
for i in range(len(df)): #计算每个队员的得分
for col in cols:
p=df[col][i].find("-")#在字符串中找到“-”的位置
n=float(df[col][i][:p])
return df
(1)、定义readData函数,功能为:读取某赛季的excel文件,返回每个队员的得分(得分=二分球命中数量*2+三分球命中数量*3+罚球命中数量。函数代码如下,划线处应填入的代码为 (单选,填字母)。A、df["得分"][i]+=n*cols[col] B、df["得分"][i]=n*cols[co1] C、df["得分"]+=n*cols[col] D、df["得分"]=df.二分*2+df.三分*3+df.罚球(2)、定义select函数,功能为:筛选各球队得分最高的5名球员作为首发阵容,并把球员名字及得分存入列表members后返回。其中n号球队各球员名字存入members[2*n]中,得分存入members[2*n+1]中,请在划线处填写合适的代码。def select(teams) :
#teams 是字典变量,如:{"浙江":0,"上海":1},字典的值代表球队编号
seasons=["20-21","21-22","22-23"]
members=[0]*len(teams)*2
df=readData(seasons[0]+".x1sx")
for season in :
file=season+".xlsx"
df1=readData(file)
df=pd.concat([df, df1])#合并两个 DataFrame 对象数据
for team in teams:
df1=
df1=df1.groupby("球员" , as_index=False).mean()#计算各球员平均得分
df1=df1.sort_values("得分",ascending=False).head(5)#按得分降序排序并选取前5名
members[2*n]=df1["球员"].values
members[2*n+1]=df1["得分"].values
return members
(3)、定义showChart函数,功能为:查询某球队的首发阵容,绘制柱形图,图表如图c所示,程序如下,请在划线处填写合适的代码。import matplotlib.pyplot as plt
def showChart(tean, menbers) :
n=teams[team]
plt.bar(,)
plt.title(team+"队首发阵容")
plt.show()
⑷主程序代码如下。
teams={"浙江":0,"上海":1,"山东":2,"广东":3,"北京":4}
members=select (teams)
while True:
team=input("输入球队:")
if team=="" : break
showChart(team, members)
-
20、小明为他们教室搭建了环境温湿度监测系统,该系统结构示意图如图所示。该系统可实时监测教室温湿度数据,并持续运行一周,数据由智能终端经loT模块发送至Web服务器,若环境温湿度监测值超过设定阀值区间,则控制执行器调节温湿度,用户可以使用浏览器查看实时数据。本系统服务器端程序采用FlaskWeb框架编写,数据库管理系统选择sqlite3,服务器的IP地址是192.168.0.1,端口是5000。网站功能页面规划如下:
序号
子页面路径
功能说明
1
/
实时显示温湿度数据
2
/input
提交温湿度数据
3
lcount
显示温湿度统计数据
4
/search
查询显示某一天的历史数据
(1)、上述页面规划属于搭建信息系统的前期准备的哪个阶段?( )。A、需求分析 B、可行性分析 C、概要设计 D、详细设计(2)、根据该系统的功能要求,图中①②处的设备分别为、。(3)、教空里的学生最舒服的温度是范围是 tmin~tmax,现要实现温度 t 正常、非正常(偏高或偏低)时,将对应的状态 sta 的值设为 0 和 1。下列Python程序段中符合要求的有( )(多选,填字母)。A、if t<tmin:sta=1
if t>tmax:
sta=1
sta=0
B、sta=0if t<tmin:
sta=1
elif t>tmax:
sta=1
C、if t<tmin or t>tmax:sta=1
else:
sta=0
D、sta=1if t<=tmax:
sta=0
elif t>=tmin:
sta=0
(4)、小明在某次系统调试时,输入URL后浏览器出现“404”错误信息(服务器反锁404信息表示服务器端无法找到对应的网页),简要说明系统中可能造成上述问题的原因:。