相关试卷
-
1、小王为解决智能家居项目中的灯光控制问题搭建了一套智能照明系统,该系统成功实现了灯光的亮度自动调节,并增加了亮度记忆功能。该系统的结构示意图如图所示,具体设计过程如下:
Ⅰ.用传感器实时监测室内光线亮度数据并由智能终端经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这个时间而不再更新,可能的原因是。 -
2、有如下 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 -
3、使用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] -
4、运行下列 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 -
5、有一棵二叉树,如图所示,下列说法正确的是( )A、此二叉树是完全二叉树 B、此二叉树的深度是 3 C、此二叉树的中序遍历为 H-D-B-E-A-C-F D、此二叉树用一维数组表示为
['A ', 'B ', ' ', 'C ',
'D ', 'E ', ' ', 'F ', ' ', 'H ']
-
6、有一个空栈,规定用 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
-
7、某算法部分流程图如图所示。执行这部分流程,输入 s、i、k 的值分别为 0、0、1,输出 s 的值是( )A、1 B、-1 C、0 D、2
-
8、家庭网络系统支持将有线终端和无线终端接入家庭局域网,从而访问Web站点,使用各种网络应用。小王搭建好家庭网络系统后,通过在PC浏览器的地址栏输入http://www.baidu.com浏览该网站信息,以下关于网络系统和网络技术的说法,正确的是( )A、移动终端通过无线方式接入家庭局域网,仅需开启路由器的DHCP 服务即可 B、手机需接入家庭局域网, 才能访问 http://www.baidu.com 网站 C、家庭局域网内的各种设备之间的通信无需网络协议的支持 D、家庭网络系统可以通过移动通信网络接入互联网
-
9、阅读以下材料, 回答问题。
某校园内设置有“共享雨伞服务”信息系统。在校园各处安装了雨伞租借机,租借机上有读卡器,学生可通过刷“一卡通”学生卡,教师可通过有NFC功能的手机,在租借机上自助借伞还伞,租借机如图所示。
(1)、关于该信息系统的组成和功能,下列说法正确的是( )A、雨伞不属于该系统的硬件 B、在租借雨伞时,读取卡片信息的过程属于信息系统的数据收集和输入功能 C、该信息系统里的用户只有学生和教师 D、该信息系统不需要通信网络的支持(2)、关于该信息系统中数据的采集、存储,下列说法正确的是( )A、租借数据存储在学生卡或教师手机里 B、在租借过程中,读卡器是发射端, 学生卡或教师手机是接收端 C、该系统采用了 RFID 技术, 在信息采集过程中, 没有使用传感器技术 D、学生卡是一种无源电子标签, 它依靠读卡器获得能量, 从而激活标签中的芯片 -
10、下列关于信息系统安全的说法,正确的是( )A、安装防火墙后可阻挡所有外部攻击,因此无需对防火墙进行升级 B、为了便于管理,系统发布时应保留为测试系统而预留的后门 C、用户通过身份认证后可以访问管理系统内的所有数据 D、为降低计算机病毒感染的风险,应坚持预防为主、查杀为辅的原则
-
11、下列关于人工智能的说法,正确的是( )A、专家系统是联结主义人工智能体的典型代表 B、采用联结主义方法的智能体通过与环境的交互学习提升智能 C、深度学习是从海量数据出发, 对数据中所蕴含的特征模式进行学习的算法模型 D、人类不会失去对人工智能技术发展的控制, 无需担忧人工智能技术威胁到人类安全
-
12、下列关于数据、信息的说法,正确的是( )A、数字和数值都是可以进行算术运算的数据 B、单纯的数据是没有意义的,必须经过解释, 数据才变得有意义 C、信息具有价值性, 对于不同的人群、不同的时间,其价值是相同的 D、尽管同一信息可以依附于不同的载体, 但人们获取信息的途径与方法是相同的
-
13、某工厂需要加工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)、加框处代码错误,请改正。 -
14、某中学高一年级完成一次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}人")
-
15、信息时代要提升个人信息安全意识,确保个人信息安全,需经常修改登录密码,小明设计一种字符加密方法,用原密码加密生成新密码。他设计的加密规则如下:
㈠将原密码中的小写字母转换成大写字母;
㈡将原密码中的大写字母转换成小写字母;再利用移位秘钥中对应的数字循环右移,移位秘钥不够时可以循环使用。如移位秘钥为“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 图中生成的新密码为: 。 -
16、有两个降序序列的链表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、②⑥③ -
17、有如下 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 -
18、有1个队列,队首到队尾的元素依次为1,2,3,4,5。约定:T操作是指队列中1个元素出队后再入队,Q操作是指队列中1个元素出队。则经过TTQTTQTTQ系列操作后,队列中队首到队尾的元素依次为:( )A、4,5 B、5,4 C、2,4 D、4,2
-
19、有如下 Python 程序段:
a=[1,5,9,2,6,8,3,4,7] n=0 ;flag=True
for i in range(len(a)-1):
if a[i]<a[i+1] and flag==True:
n+=1;flag=False
elif a[i]>a[i+1] and flag==False:
n-=1;flag=True
print(n)
执行上述程序段后, 输出的值为:( )
A、2 B、0 C、-1 D、1 -
20、左右对称的字符串称回文串。若要判断字符串s是否为回文串,可以先找到s的中间位置mid=len(s)//2;再采用切片操作取出s的左半部分left=s[0:mid];然后取出s的右半部分并反转 , 存储在变量right中;若left与right相等,则为回文串。则下列表达式能正确表达变量right值的是:( )A、s[mid::][::-1] B、s[mid+1::] [::-1] C、s[len(s)-1:mid:-1] D、s[-1:-mid-1:-1]