相关试卷
-
1、小林统计了一首英文诗中的字母出现频率,把出现频率最高的10个字母组成一套编码,将自己生日中的8个数字转换成对应字符,其中小林的生日、出现频率最高的10个字母组成的编码、转换后的字符串在密码系统中分别是( )A、明文,密文, 密钥 B、密文,密钥, 明文 C、明文,密钥, 密文 D、密钥,明文, 密文
-
2、某文本数据集处理的词云如图所示,下列有关文本数据处理的说法正确的是( )A、最能表现该数据集中文本特征的词是“算法” B、对数据源进行特征提取后,再分词,可提高数据分析效率 C、该数据集中,词语“机器”比“学习”的出现频率高 D、该词云中显示了该数据集中出现的所有词语
-
3、下列有关计算机工作原理,说法错误的是( )A、20世纪30年代,原始递归函数、lambda演算和图灵机三种计算机机制被相继提出 B、现代计算机大多采用“存储程序式”体系结构 C、计算机的性能主要由CPU、存储器等部件的性能指标决定 D、计算机处理信息主要包括输入、运算、存储、输出
-
4、根据以下材料,请回答问题。
之江汇教育广场是基于教育云实名制的社交网络教育应用的信息系统,旨在构建一个绿色安全、即时交互的免费家校沟通工具,搭建家庭与学校、家长与老师沟通的桥梁,最终实现学校、家庭和社会“三位一体”协同教育。
(1)、下列关于该信息系统说法不正确的是( )A、老师上传的视频、课件,学生的学习记录,家长的评论等都是该信息系统的数据 B、按照不同的应用领域划分,该信息系统属于通用信息系统 C、该信息系统中学生、家长、老师、软件开发者等都是该系统的用户 D、学生周末在家通过该系统进行学习,体现了信息系统跨越时空限制,服务随时随处的优势(2)、下列是有关信息系统支撑技术及信息系统安全的说法, 其中说法正确的是( )①该信息系统采用了B/S架构
②学生登录系统后能观看老师的课件,但不能下载该课件,主要原因是未通过该系统的身份认证
③小明家里网络发生故障后,就无法使用该系统,说明通信网络是信息系统的重要支撑技术之一
④小王在登录该信息系统时,遇到了密码错误的提示,说明小王的账号没有登录该系统的权限
⑤该信息系统以软件的方式面向用户,说明该信息系统不包含硬件
A、①②③ B、③④ C、①③ D、②③ -
5、下面关于数据与信息的说法, 正确的是( )A、数据是最简单的一种知识,是对知识的狭义理解 B、数据信号只有经过模拟化后才能用计算机进行处理 C、二进制数码较长,计算机中的数据可由十六进制数存储 D、计算机一般采用树形目录结构来管理文件
-
6、小明所在的班级共有 20 名男生,要参加学校举办的拔河比赛,赛前根据体重分成 AB 两组进行训练,要求每组 10 人, 且每组男生的体重之和尽量接近。小明设计了如下算法:
①初步分组:将所有男生按体重从高到低排序,并以 ABAB…进行初步分组;
②计算体重差: 计算每组对应两个男生的体重差;
③交换学生:按体重差从高到低判断是否交换学生。
例如 20 名男生的体重(单位: kg)从高到低为:
95, 93, 93, 90, 90, 90, 84, 83, 83, 78, 77, 75, 74, 69, 64, 61, 61, 60, 56, 55。
步骤
体重
体重和
初步分组
A 组
95
93
90
84
83
77
74
64
61
56
777
B 组
93
90
90
83
78
75
69
61
60
55
754
体重差
2
3
0
1
5
2
5
3
1
1
23
交换学生
否
否
否
是
是
否
是
否
否
否
最终分组
A 组
95
93
90
83
78
77
69
64
61
56
766
B 组
93
90
90
84
83
75
74
61
60
55
765
小明按照以上算法编写Python程序如下,请在划线处填入合适的代码。
def group(student): #初步分组
a=[];b=[]
i=0
while i<len(student):
a.append(student[i])
b.append(student[i+1])
return a,b
def cal_diff(a,b): #计算体重差并降序排序
d=[]
for i in range(len(a)):
d.append([i,a[i]-b[i]])
for i in range(len(d)-1):
for j in range(0,len(d)-i-1):
if :
d[j],d[j+1]=d[j+1],d[j]
return d
def change(d,a,b): #标记是否交换
k=(sum(a)-sum(b))//2
f=[0]*len(d)
ssum=0
for i in range(len(d)):
ssum+=d[i][1]
if ssum>k:
ssum-=d[i][1]
else:
if ssum==k:
break
return f
student=[95, 93, 93, 90, 90, 90, 84, 83, 83, 78, 77, 75, 74, 69, 64, 61, 61, 60, 56, 55]
qA,qB=group(student)
print("初步分组后 A 组体重: ",qA,"和为:",sum(qA))
print("初步分组后 B 组体重: ",qB,"和为:",sum(qB))
diff=cal_diff(qA,qB)
flag=
for i in range(len(flag)): #交换
if flag[i]==1:
qA[i],qB[i]=qB[i],qA[i]
print("交换后 A 组体重:",qA,"和为:",sum(qA))
print("交换后 B 组体重:",qB,"和为: ",sum(qB))
-
7、知识竞赛结束后,小明从信息系统中导出参赛学生的成绩,存储在“知识竞赛.xlsx”文件中,如图a所示,并编写Python程序,按总分降序排序,分别输入一二三等奖的获奖比例,计算获奖人数和分数线,程序运行结果如图b所示。由于同分人数较多,计算奖次时按最接近规定比例的人数划定分数线,若按两个相邻分数线划定的人数与规定比例的人数同样接近,则取较低的分数线。例如:总人数100人,应有10人获一等奖,若98分及以上有9人,97分及以上有15人,则一等奖分数线为98分;若98分及以上有9人,97分及以上有11人,则一等奖分数线为97分。Python程序如下,请回答下列问题。
图 a
图 b
def find(now,step):
i=now
while score[i][2]==score[now][2]:
①
return i
import pandas as pd
df=pd.read_excel ("知识竞赛.xlsx")
df= ②
score=df.values #二维数组 score 存储所有参赛学生的考号、班级和总分,按总分降序排列
n=len(score)
prize=["一等奖","二等奖","三等奖"]
print("总人数:"+str(n))
s=input("请分别输入一二三等奖的比例: ")
percent=list(map(float,s.split(","))) #一二三等奖比例转换成实数存储在列表 percent 中 nums=[0,0,0]
nums[0]=round( ③ )
for i in range(1,3):
nums[i]=nums[i-1]+round(n*percent[i])
pre=0;res=[""]*n #res 存储学生的奖次
for i in range(3):
now=nums[i]-1
k1=find(now,-1)
k2=find(now,1)
if k2-now<=now-k1:
now=k2-1
line=score[k2-1][2]
else:
now=k1
line=score[k1][2]
print(prize[i],"人数:",now-pre+1,"分数线:",line)
for j in range(pre,now+1):
res[j]=prize[i]
④
(1)、请在划线处填入合适的代码。①②③④
(2)、加框处代码有误, 请改正。 -
8、小明为学校搭建一个信息技术知识竞赛的信息系统,服务器网站基于Python的FlaskWeb框架编写,考生信息存储在数据库文件“data.db”的“user”数据表中,如图a所示;考生通过浏览器访问网站,登录页面如图b所示;登录成功后网站自动跳转到答题页面,如图c所示。
请回答下列问题。
(1)、考生登录系统采用的身份认证技术是 (填字母:A .用户名+口令 B .依靠生物 特征识别 C .USB-Key),该信息系统采用的架构为 (填字母:A .B/S 模式 B .C/S 模式)(2)、服务器端的部分程序如下, 请在划线处填入合适的代码。 import sqlite3from flask import Flask,render_template,request,redirect
ip="192.168.1.100"
port="8080"
app=Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route("/",methods=['POST'])
def login():
sid=request.form.get("sid")
psw=request.form.get("psw")
conn=sqlite3.connect("data/data.db")
cur=conn.cursor()
cur.execute("SELECT * FROM where sid='%s' and psw='%s'"%(sid,psw)) res=cur.fetchall()
cur.close()
conn.close()
if len(res)==1:
return redirect("/test?sid="+sid+"&name="+ )
#redirect 表示跳转指定的 URL
else:
return "用户名或密码错误,请检查后重新登录!"
@app.route(" ")
def test():
#显示答题页面,代码略。
if __name__=="__main__":
app.run ( )
(3)、图b所示的登录页面渲染的网页模板文件为 ,考生填写了考号和密码后,点击“登录”按钮,浏览器将考号和密码提交给服务器,服务器端执行的视图函数名为; 登录成功后,网站跳转到答题页面。 -
9、有如下Python程序段:
#随机产生 n 个两位正整数存入数组a 中
q=[-1]*n;top=-1
for i in range(n):
if a[i]%3==0 :
top+=1
q[top]=a[i]
elif a[i]>q[top] and a[i]%2==0:
top+=1
q[top]=a[i]
while top>-1:
print(q[top],end=',')
top-=1
执行上述程序段后, 输出结果不可能是( )A、48,57, B、74,80,76, C、74,68,62,33,44, D、98,45,78,88, -
10、生成一个元素个数为6、元素的值在1~9之间且不重复的数组a,Python代码如下:
import random
n=9
b=[[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,-1]]
head=0
a=[]
for i in range(6):
k=random.randint(0,n-i-1)
if k==0:
a.append(b[head][0])
①
else:
p=head
for j in range(k):
pre=p
p=b[p][1]
a.append(b[p][0])
②
划线处应填入的代码为( )
A、①head=b[head][1] ②b[pre][1]=p B、①head=b[0][1] ②b[pre][1]=p C、①head=b[0][1] ②b[pre][1]=b[p][1] D、①head=b[head][1] ②b[pre][1]=b[p][1] -
11、有如下Python程序段:
def sp(a,i):
if "a"<=a[i]<= "z" :
a=a[:i]+a[i+1:]
elif "0"<=a[i]<= "9":
a=a[:i]+str((int(a[i])+3)%10)+a[i+1:]
return a
s="cfi3H8qwz4";i=0
while i<len(s):
s=sp(s,i)
i+=1
执行上述程序段后,s的值为( )
A、”f3H1w4” B、”3H84” C、”6H17” D、”f6H1w7” -
12、有二叉树用数组表示如下表所示:
0
1
2
3
4
5
6
7
8
9
10
11
12
D
A
H
F
G
C
M
则关于该二叉树的说法正确的是( )
A、该二叉树是完全二叉树 B、该二叉树的叶子节点有3个,分别是 C、H、MC.该二叉树的后序遍历序列为C-F-A-M-G-H-D
D、该二叉树的层数为3,节点F在第3层 -
13、某算法的部分流程图如图所示:
执行该部分流程,若依次输入的数据为2、-3、5、-1、2、1、-3、0,则输出m的值为( )
A、7 B、6 C、5 D、4 -
14、下列Python表达式中,与表达式 abs(int(-4.62))的值不相等的是( )A、len([True,4, ”score”,[3,2.7]]) B、int(”324”[1])*2 C、round(24/7,0) D、[”red”,True,4][-1]
-
15、为了保障个人信息安全,下列做法不可取的是( )A、不同的社交账号尽量设置不同的密码 B、重要的数据经常备份或加密后存放在云盘上 C、个人计算机安装并开启防火墙 D、公共场所的免费 Wi-Fi 用起来很方便, 可以随意连接
-
16、以下有关数据和大数据的说法,不正确的是( )A、大数据中价值密度的高低与数据总量的大小成正比 B、基于用户购买行为的大数据, 网站对其进行深度挖掘实现个性化推荐 C、大数据给生活带来便利的同时也会带来信息泄露、数据安全等社会问题 D、数据可视化可以使用户通过直观的方式浏览和观察数据
-
17、某智能设备部分参数如下表所示:
屏幕尺寸
1.5 英寸
WiFi、蓝牙
都支持
操作系统
Ticwear OS
传感器
光学心率传感器、加速度传感器、陀螺仪、电子罗盘
匹配系统
Android 4.3 及以上,iOS 8.0 及以上
控制类型
触控:多点电容式触摸屏
屏幕分辨率
320*320
运行内存
512MB
处理器
联发科 MT2601,
1.2GHz 双核
机身存储
4GB
下列有关该智能设备的说法中, 不正确的是( )
A、该设备可以监测心率和记录运动数据 B、该设备使用的是四核处理器 C、该设备支持触屏控制 D、该设备可以通过蓝牙传输数据 -
18、下列有关信息和信息编码的说法, 正确的是( )A、计算机中的汉字是使用二进制进行编码的 B、根据不同的编码方式,数字图像可分为多种格式,如BMP、JPG、WAV等 C、16色未压缩的位图图像位深度为16位 D、声音数字化过程中,量化位数越大,量化精度越低
-
19、阅读下列材料,请回答第1~2题:
某大型超市使用自助收银系统,方便顾客自助结账,特别是遇到营业高峰期大大缩短了顾客排队结账的等候时间。顾客使用自助收银系统时,先逐个将商品条形码对准扫码口扫描,商品的名称、单价和数量在屏幕上显示,然后再选择扫码或人脸识别完成支付,随即,移动支付APP会发来扣款消息。
(1)、关于该自助收银系统,以下说法不正确的是( )A、除了顾客以外,超市收银员、系统分析员等也是自助收银系统的用户 B、商品的名称、单价和数量属于自助收银系统的数据 C、只要不断电, 自助收银系统就可以正常使用 D、自助收银系统的使用体现了“规范工作流程,提高工作效率”的优势(2)、关于该自助收银系统的工作过程和支付方式,以下说法不正确的是( )A、扫描商品条形码属于信息的采集 B、扫码识别的支付方式采用了 RFID 技术 C、人脸识别的认证方式具有防伪性能好、随时随地可用等优点 D、系统可以通过刷脸支付,说明人脸也是信息的载体 -
20、学校教室后方放有物品柜,柜子有n层,每层有m个格子,从上到下一次是第0层,第1层,…,第n-1层,从左到右依次是第0个格子,第1个格子,…,第m-1个格子。有k组物品(组号为0~k-1),每组至少有2个物品,物品总数不超过n*m个:将k组物品按组号由小到大依次放入柜中,放置方式有两种:
整体放置。按格子编号由小到大的次序查找第一个可放置该组全部物品的空区域(空区域是指从某个空格子开始的同层连续的所有空格子) ,若找到,则在该空区域居中、连续放置该组全部物品,如下图所示。
零散放置。若所有空区域格子数都小于该组物品数,即找不到连续放置的空区域,则将该组每个物品按照从上到下,从左到右的顺序,依次放置到柜中的空格子中,具体次序如下图所示。
小明编写了一个Python程序实现上述功能,程序依次输入n、m代表柜子层数和柜子每层格子数,第三行输入物品组数k,接下来一行输入k个整数代表每组物品个数。程序运行后输出n*m的矩阵代表物品的放置情况,1表示当前格子放置物品,0表示当前格子没有放置物品,运行结果如下图所示。
编写函数init(),功能为预处理i层j列格子开始的同层连续的所有空格子数,保存在数组v中。v[i][j]=0表示i层j列格子不是空格子,v[i][j]=x代表i层j列格子开始的同层连续的所有空格子数为x,代码如下
def init():
for i in range(n):
for j in range(m):
if q[i][j]==0:
k=j+1
while k<m and q[i][k] !=1:
k+=1
①
else:
v[i][j]=0
编写函数getpos(L),功能为寻找查找空格子数>=L的第一个空区域,若找到,返回该空区域的起始坐标[x,y],表示第x层,第y个格子开始的连续空格子的数量大于等于L,否则返回-1
def getpos(L):
ret=-1
for i in range(n):
for j in range(m):
if ② :
ret=[i,j]
return ret
return ret
解决问题的主程序如下:
n=int(input()) #输入层数
m=int(input()) #输入列数
k=int(input()) #输入物品组数
q=[[0 for i in range(m)]
for j in range(n)] # q 保存柜子的放置情况
v=[[0 for i in range(m)]
for j in range(n)] # v 的含义参考 init 函数 init() #预处理
s=input() #输入每组物品数量
a=s.split()
for i in range(k):
a[i]=int(a[i])
start=0
for i in range(k):
p=getpos(a[i])
if p!=-1:
row=p[0]
col=p[1]
k= ③
k=k//2
t=col
for j in range(k, 0, -1):
v[row][t]=j #更新 v 数组
t=t+1
for j in range(t,t+a[i]):
q[row][j]=1
v[row][j]=0
else:
cnt=0
while
:
row=start//m
col=start%m
if q[row][col]==0:
q[row][col]=1
v[row][col]=0
cnt+=1
start+=1
#输出放置情况
for i in range(n):
for j in range(m):
print(q[i][j], end=" ")
print( )
(1)、若柜子有5层,每层有10个格子。第1、第2组的物品数分别为6和2,则第二组第2个物品应放在第0层的第个格子里。(2)、请在划线处填入合适代码①②③
(3)、画框处代码有误,请改正