浙江省杭州第二名校2024届高三上学期12月选考最后一测模拟考试技术试题 (解析版)

资源下载
  1. 二一教育资源

浙江省杭州第二名校2024届高三上学期12月选考最后一测模拟考试技术试题 (解析版)

资源简介

2024年1月浙江省普通高校招生选考科目考试模拟
技术
本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至13页。满分100分,考试时间90分钟。
考生注意:
1.答题前,请务必将自己的姓名、准考证号用黑色宇迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须使用黑色字迹的签字笔或钢笔描黑。
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列有关数据、信息、知识的理解正确的是( )
A. 知识是收集、加工、应用、传播信息的能力
B. 信息具有载体依附性,我们答题所看到的文字就是信息
C. 与物质、能源相同,信息会因为被别人获取而发生损耗
D. 知识是人类在社会实践中所获得的认识与经验的总和,它可以继承和传递
2. 下列有关大数据的说法,正确的是( )
A. 处理大数据时,一般采用分治思想 B. 某校汇总的新生学籍信息数据是大数据
C. 大数据分析的是抽样数据,而不是全体数据 D. 大数据更关注事物的因果关系而不是相关性
3. 下列关于人工智能的说法,不正确的是( )
A. “深度学习”是数据驱动人工智能的典型算法模型
B. 神经网络一旦给定海量数据,数据的分类就不需要训练数据
C. 问题引导下的试错学习可以根据反馈结果来调整相应的学习方法
D. 智能机器人和人工客服合作来回答顾客的问题,是混合智能应用的体现
4. 下列关于信息编码正确的是( )
A. 编码128种情况最少需要8位二进制数
B. 根据ASCII码标准,“IT”两字的内码共占4个字节
C. 已知大写字母“I”的ASCII码值为49H,则大写字母“J”的ASCII码值为50H
D. 将未经压缩的像素值为1024*768的彩色bmp图像,转换为黑白图像,转换后图像容量为96K
5. 智慧停车系统采用“移动互联网+云计算+大数据”模式,具有车位实时数据采集、状态监控、车位查找、停车绑定、在线支付及执法监管等强大功能。该系统包含采集模块、监控模块、管理模块、用户模块等。采集模块获取车位状态和车牌号码等数据后上传到数据库中。管理员通过网页实现对系统进行设置与管理。用户通过APP进行车位预定、根据车牌号进行车位查找和停车费的在线支付等。关于智慧停车系统的安全与防护的说法,正确的是( )
A. 网际协议(IP)作用是管理被传送信息的完整性 B. 用户登录在线支付APP时收到的短信验证属于静态口令
C. 可用替代加密、换位加密等加密算法强化数据的安全 D. 该系统用户通过身份认证后即可访问数据库中所有系统资源
6. 下列有关信息系统的搭建正确的是( )
A. 收到用户的开发要求后,即可进行软件的编写等详细设计
B. 目前信息系统的开发模式一般选用B/S架构,因为这种模式对服务器要求较低
C. 信息系统搭建后需要进行系统测试,其中软件测试包括正确性证明、静态测试和动态测试
D. Python中开发Web应用程序可以使用FlaskWeb框架,它是功能齐全的一种大型框架
7. 下列有关数据结构的说法正确的是( )
A. 数组是一种适合用于组织、存储涉及频繁插入与删除的数据结构
B. 链表中数据元素的逻辑顺序是通过链表中的指针链接次序实现的
C. 链表在访问、插入和删除元素时,算法效率比数组高
D. 树结构中,每个子节点的父节点可以有多个
8. 若入栈顺序为1,2,3,4,5,6,7,出栈序列为1,4,3,2,7,6,5,则栈深度至少是( )
A. 3 B. 4 C. 5 D. 6
9. 已知一棵二叉树的前序遍历序列为:A-B-D-C-E,后序遍历序列为:D-B-E-C-A,则该二叉树是否 能唯一确定?中序遍历序列是?( )
A. 能唯一确定,中序遍历序列为:B-D-A-E-C
B. 不能唯一确定, 中序遍历序列可能为: B-D-A-E-C
C. 能唯一确定,中序遍历序列为:D-C-B-A-E
D. 不能唯一确定, 中序遍历序列可能为: D-C-B-A-E
10. 某递归函数如下所示:
def fx(m):
if m<=1:
f=1
else:
f=fx(m-1)+2*(m-1)
return f
ans=0
for i in range(3, 5):
ans+=fx(i)
print(ans)
程序运行后,输出的结果是( )
A. 12 B. 20 C. 25 D. 46
11. 现有n个学生的7门学科成绩已存入一维数组cj中。某python程序代码段如下:
deff(x) :
p=x*7;k=0
for j in range(7):
if cj[p+j]>cj[p+k]:
k=j
return (k)
km="物化生政史地技"
n=2;s=""
for i in range(n):
s+=km[deff(i)]
print(s)
cj数组元素的值依次为96,83,91,85,86,77,88,98,93,94,82,96,87,99,运行后,输出的结果为( )
A. 物生 B. 地政 C. 物技 D. 技物
12. 有如下Python程序段:
from random import randint
n=input("请输入一串数字:")
k=randint(0,len(n)) #randint用于随机生成[0,len(n)]之间的整数
for i in range(k):
for j in range(len(n)-1):
if n[j]>n[j+1]:
break
else:
n=n[:len(n)-1]
continue
n=n[:j]+n[j+1:]
执行该程序段后,输入“1529”,则变量n可能是( )
A "1" B. "12" C. "152" D. "1259"
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 有n根火柴,第1次取1根,第2次取2根,第i次取i根,当剩余火柴数为0时,不用添加火柴(即k=0),游戏结束。如果剩余火柴数不为0,但不够下一次取,此时添加k(k≥1)根火柴,在剩余火柴中再从1根开始取,直到能取完为止,求k的最小值。
例如:n=3时,第1次取1根,第2次取2根,此时正好取完,无须添加火柴,k=0。n=4时,第1次取1根,第2次取2根,第3次不够取,若加上1根,剩余2根,再从1根开始取,第3次取1根,剩余1根不够第4次取,再加1根,又是剩余2根,显然加1根永远不可能取完。所以改用每次加2根,第1次取1根,第2次取2根,第3次不够取,添加2根,第3次取1根 ,第4次取2根,恰好能取完,得k=2。运行界面如图所示。
(1)当n=18时,最少需要添加的火柴数量是____根。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
m=n=int(input('请输入火柴数量:'))
a=[False]*100
①____
k=0
while n!=0:
i=1
while i<=n:
②____
i+=1
if n==0:
print('最少需要添加'+str(k)+"根火柴。")
else:
if k==0:
k=1
n=n+k
if a[n]:
k=k+1
③____
else:
a[n]=True
14. 小姜设计了一个“温度监测系统 ”。主要功能为:温度传感器每间隔5分钟采集一次温度值,并将数据上传至服务器,根据服务器反馈的数据执行是否发出“报警”声提醒。学生也可以通过手机浏览器或PC客户端浏览器查看历史记录。该系统结构示意图如图a所示。
图a
(1)图a①和②处设备可能是____(单选,填字母:A.路由器和智能终端/B.IOT模块和数据库/C.智能终端和数据库/D.执行器和智能终端)。
(2)小姜准备采用B/S架构,确定该架构方式属于信息系统前期准备中____的过程。(单选,填字母:A.需求分析/B.开发模式的选择/C.概要设计/D.详细设计)。
(3)小姜基于Falsk Web框架编写服务器端的程序,部分代码如下。编写完成后,若要通过浏览器获取视图函数index()返回的页面,则应访问的URL是http://____。
#导入Falsk框架模块及其他相关模块,代码略
app=Flask( name )
@app.route('/')
def index():
# 从数据库读取温度数据,并返回页面,代码略
#服务器其他功能,代码略
if name ==' main ':
app.run(host='192.168.1.108',port=8081)
(4)系统正常工作一段时间后,发现用浏览器能正常查询历史数据,但当服务器反馈的数据大于阈值时蜂鸣器也不会“报警”,试写出两种可能的原因。____
(5)某天数据存储在“data.xlsx”文件中,部分数据如图b所示。
图b 图c
①用Pandas读取温度数据进行处理,假设温度超过36摄氏度为过高,通过下面程序可以找出过高温度的数据条数。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('data.xlsx')
df1 =
print('温度过高的数据有',len(df1),'条')
下列语句填写在划线处可以正确实现上述功能的有____
A.df[df['摄氏温度']>36] B.df.摄氏温度>36 C.df[df.摄氏温度>36] D.df[‘摄氏温度’>36]
②为了消除过高温度值的影响,得到一天中温度变化的平滑曲线(如图c所示),可以将I时刻的温度用i-n到i+n之间的温度平均值替代,实现的python程序如下,请将划线处代码补充完整。
df=df.sort_values('时间')
df=df.reset_index()#重新设置df的index为0,1,2,3…
temps=[]
n=int(input('请输入n:'))
for i in range(n, len (df)-n):
s = 0
for j in range(-n,n+1):
s+=____
ave=s/(2*n+1)
temps.append(ave)
plt.plot(range(len (temps)), temps)
plt.title('24小时温度值变化曲线')
plt.xlabel('时间(每5分钟)')
plt.ylabel('温度值(°C)')
plt.show()
15. 小明编写了一个python程序,能够从全唐诗中学习并能够根据输入词生成藏头诗。程序运行示例如下图所示,请回答下列问题:
请输入每句长度:7 请输入四句诗的开头:杭州二中 杭州铁诗人间蝶 州铁牛乘鸾骖驃 二公心违颜色苍 中原君觞飞蓬莱 请输入每句长度:5 请输入四句诗的开头:春夏秋冬 春菲间然别 夏斋时艰难 秋凉州远复 冬闲日悲蝉
运行实例1 运行实例2
(1)全唐诗存储在“全唐诗.txt”中,部分诗句如下图所示:
欲出未出光辣达,千山万山如火发,须臾走向天上来,逐却残星赶却月 未离海底千山黑,才到天中万国明 满目江山四望幽,白云高卷嶂烟收,日回禽影穿疏木,风递猿声入小楼,远岫似屏横碧落,断帆如叶截中流 片片飞来静又闲,楼头江上复山前,飘零尽日不归去,帖破清光万里天 因登巨石知来处,勃勃元生绿藓痕,静即等闲藏草木,动时顷刻遍乾坤,横天未必朋元恶,捧日还曾瑞至尊,不独朝朝在巫峡,楚王何事谩劳魂 若教作镇居中国,争得泥金在泰山
全唐诗.txt
首先统计所有诗句中,任意两个汉字前后连续出现的次数,即转移频率。
①比如只统计“年年岁岁花相似,岁岁年年人不同”这两个诗句中,“年”字后面出现了“年”、“岁”、“人”三个字,次数分别是______、_____、_____
②实现该功能的python程序如下,请在划线处填写合适的语句:
#读取全唐诗
f=open('全唐诗.txt','r',encoding='utf-8')
corpus=f.readlines()
f.close()
#计算转移频率
trans={}
for line in corpus:
for senten in line. strip(). split(','):
for i in range (len(senten) -1):
prefix = senten[i]
suffix = senten[i+1]
if prefix not in trans:
trans[ prefix] = {}
if suffix not in trans[ prefix]:
trans[ prefix] [ suffix] = 0
else:
__________
(2)根据已经统计转移频率,可以在生成诗句时,按照概率去选择新的汉字,比如汉字a后面出现了汉字b,c,d,次数分别是1,3,6,那么当生成了汉字a之后,有10%的概率生成b,有30%的概率生成c,有60%的概率生成d。实现的程序如下:
def choose_word(words, weights):
rand = random.uniform(0 weights[-1])
left, right = 0, len(weights)-1
while left <= right:
m = (left + right)//2
if weights[m] < rand:
left = m + 1
else:
right = m - 1
_____
length = int(input("请输入每句长度:"))
heads = input("请输入四句诗的开头:")
for prefix in heads:
text = prefix
for i in range(length - 1):
suffixes = ________
words = []
weights = []
for word in suffixes:
words. append(word)
if len(weights) > 0:
weights. append(_______)
else:
weights. append(suffixes[word])
suffix = choose_word(words weights)
text += suffix
prefix = suffix2024年1月浙江省普通高校招生选考科目考试模拟
技术
本试题卷分两部分,第一部分信息技术,第二部分通用技术。全卷共12页,第一部分1至6页,第二部分7至13页。满分100分,考试时间90分钟。
考生注意:
1.答题前,请务必将自己的姓名、准考证号用黑色宇迹的签字笔或钢笔分别填写在试题卷和答题纸规定的位置上。
2.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
3.非选择题的答案必须使用黑色字迹的签字笔或钢笔写在答题纸上相应区域内,作图时可先使用2B铅笔,确定后必须使用黑色字迹的签字笔或钢笔描黑。
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)
1. 下列有关数据、信息、知识的理解正确的是( )
A. 知识是收集、加工、应用、传播信息的能力
B. 信息具有载体依附性,我们答题所看到的文字就是信息
C. 与物质、能源相同,信息会因为被别人获取而发生损耗
D. 知识是人类在社会实践中所获得的认识与经验的总和,它可以继承和传递
【答案】D
【解析】
【详解】本题考查数据、信息、知识的相关内容。A选项,知识是人类在社会实践中所获得的认识和经验的综合,也是人类在实践中认识客观世界的成果,它包括对事实、信息的描述以及在教育和实践中获得的技能;智慧是一种更高层次的综合能力,主要表现为手机、加工、应用、传播知识的能力以及对事物发展的前瞻性看法。选项错误。B选项,信息具有载体依附性,我们答题所看到的文字就是信息的一种载体,选项错误。C选项,与物质、能源不同,信息不会因为被别人获取而发生损耗,选项错误。D选项,知识是人类在社会实践中所获得的认识与经验的总和,它可以继承和传递,选项正确。故本题答案是D选项。
2. 下列有关大数据的说法,正确的是( )
A. 处理大数据时,一般采用分治思想 B. 某校汇总的新生学籍信息数据是大数据
C. 大数据分析的是抽样数据,而不是全体数据 D. 大数据更关注事物的因果关系而不是相关性
【答案】A
【解析】
【详解】本题考查大数据相关内容。A选项,处理大数据时,一般采用分治思想(把最初的问题分解成若干子问题,然后,在逐个解决各个子问题的基础上得到原始问题的解),选项正确。B选项,大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合,某校汇总的新生学籍信息数据不是大数据,选项错误。C选项,大数据要分析的是全体数据,不是抽样数据,选项错误。D选项,大数据更关注事物的相关性而不是因果关系,选项错误。故本题答案是A选项。
3. 下列关于人工智能的说法,不正确的是( )
A. “深度学习”是数据驱动人工智能的典型算法模型
B. 神经网络一旦给定海量数据,数据的分类就不需要训练数据
C. 问题引导下的试错学习可以根据反馈结果来调整相应的学习方法
D. 智能机器人和人工客服合作来回答顾客的问题,是混合智能应用的体现
【答案】B
【解析】
【详解】本题考查人工智能相关内容。A选项,“深度学习”是一种典型的基于数据驱动的人工智能方法,选项正确。B选项,神经网络解决分类问题需要训练数据,选项错误。C选项,试错学习是一种学习方法,有机体通过重复尝试不同的行为或策略来实现目标目标,它涉及增量学习、强化和纠错,虽然它提供了灵活性和洞察力,但它可能既耗时又低效,选项正确。D选项,有人和机器的认知模型同时参与,属于混合增强人工智能,选项正确。故本题答案是B选项。
4. 下列关于信息编码正确的是( )
A. 编码128种情况最少需要8位二进制数
B. 根据ASCII码标准,“IT”两字的内码共占4个字节
C. 已知大写字母“I”的ASCII码值为49H,则大写字母“J”的ASCII码值为50H
D. 将未经压缩的像素值为1024*768的彩色bmp图像,转换为黑白图像,转换后图像容量为96K
【答案】D
【解析】
【详解】本题考查信息编码相关内容。A选项,27=128,编码128种情况最少需要7位二进制数,选项错误。B选项,一个ASCII码字符在计算机中占用1个字节,“IT”两字的内码共占2个字节,选项错误。C选项,大写字母“I”的ASCII码值为49H(十进制数为73),则大写字母“J”的ASCII码值为4AH(十进制数为74),选项错误。D选项,1024*768*2/8/1024=96KB,选项正确。故本题答案是D选项。
5. 智慧停车系统采用“移动互联网+云计算+大数据”模式,具有车位实时数据采集、状态监控、车位查找、停车绑定、在线支付及执法监管等强大功能。该系统包含采集模块、监控模块、管理模块、用户模块等。采集模块获取车位状态和车牌号码等数据后上传到数据库中。管理员通过网页实现对系统进行设置与管理。用户通过APP进行车位预定、根据车牌号进行车位查找和停车费的在线支付等。关于智慧停车系统的安全与防护的说法,正确的是( )
A. 网际协议(IP)作用是管理被传送信息的完整性 B. 用户登录在线支付APP时收到的短信验证属于静态口令
C. 可用替代加密、换位加密等加密算法强化数据的安全 D. 该系统用户通过身份认证后即可访问数据库中所有系统资源
【答案】C
【解析】
【详解】本题考查信息系统安全防护相关内容。A选项,网际协议(IP,Internet Protocol)是TCP/IP协议族使用的网络层传输协议,IP是TCP/IP一系列协议的核心,主要负责网络层IP分组的传输,从而实现广域异构网络的互连,选项错误。B选项,静态口令实际就是一个口令字,是日常使用最为普遍的一种认证方式,但是安全性也是最脆弱的一种认证方式,如密码;动态口令也叫做一次性口令字,它比静态口令更安全,一般分为两种:同步和异步,如短信验证码;用户登录在线支付APP时收到的短信验证属于动态口令,选项错误。C选项,替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表;换位加密法是一种加密方式,它将明文中各个字符的位置调换来生成密文,从而达到加密的目的,具体来说,它将纯文本中的字符重新排列,但是不会改变字符本身。可用替代加密、换位加密等加密算法强化数据的安全,选项正确。D选项,该系统用户通过身份认证后,只能进行权限范围内的操作,选项错误。故本题答案是C选项。
6. 下列有关信息系统的搭建正确的是( )
A. 收到用户的开发要求后,即可进行软件的编写等详细设计
B. 目前信息系统的开发模式一般选用B/S架构,因为这种模式对服务器要求较低
C. 信息系统搭建后需要进行系统测试,其中软件测试包括正确性证明、静态测试和动态测试
D. Python中开发Web应用程序可以使用FlaskWeb框架,它是功能齐全的一种大型框架
【答案】C
【解析】
【详解】本题考查信息系统搭建相关内容。A选项,搭建信息系统的前期准备准备过程主要包括:需求分析、可行性分析、开发模式选择、概要设计、详细设计等。收到用户的开发要求后,要按照开发流程进行,选项错误。B选项,B/S架构对服务器要求较高,选项错误。C选项,软件测试的方法有3种:动态测试、静态测试和正确性证明;动态测试指通常的上机测试,这种方法是使程序有控制地运行,并从多种角度观察程序运行时的行为,以发现其中的错误,而测试是否能发现错误取决于测试实例的设计;静态测试一般指人工评审软件文档或程序,借以发现其中的错误,由于被评审的文档或程序不必运行,所以称为是静态的,选项正确。D选项,使用F1askWeb框架,简单但功能强大,但不是大型框架,选项错误。故本题答案是C选项。
7. 下列有关数据结构的说法正确的是( )
A. 数组是一种适合用于组织、存储涉及频繁插入与删除的数据结构
B. 链表中数据元素的逻辑顺序是通过链表中的指针链接次序实现的
C. 链表在访问、插入和删除元素时,算法效率比数组高
D. 树结构中,每个子节点的父节点可以有多个
【答案】B
【解析】
【详解】本题考查数据结构。A选项错误。数组在涉及频繁插入与删除时,由于元素在数组中的位置是固定的,插入和删除可能涉及移动大量元素,效率较低。B选项正确。链表中的元素通过指针链接,每个元素保存下一个元素的地址,从而形成逻辑上的顺序。C选项错误。链表在插入和删除元素时确实具有较高的灵活性和效率,但在访问元素时,由于需要遍历链表,效率相对较低,特别是对于随机访问。D选项错误。在一棵树中,每个子节点只有一个父节点,这是树结构的基本特性。故答案为:B。
8. 若入栈顺序为1,2,3,4,5,6,7,出栈序列为1,4,3,2,7,6,5,则栈深度至少是( )
A. 3 B. 4 C. 5 D. 6
【答案】A
【解析】
【详解】本题考查栈。入栈出栈顺序为:将1入栈;出栈1;将2入栈;将3入栈;将4入栈,此时栈顶元素是4;出栈4;出栈3;出栈2;将5入栈,此时栈顶元素是5;将6入栈,此时栈顶元素是6;将7入栈,此时栈顶元素是7;出栈7;出栈6;出栈5。因此,栈中元素最多出现3个。故答案为:A。
9. 已知一棵二叉树的前序遍历序列为:A-B-D-C-E,后序遍历序列为:D-B-E-C-A,则该二叉树是否 能唯一确定?中序遍历序列是?( )
A. 能唯一确定,中序遍历序列为:B-D-A-E-C
B. 不能唯一确定, 中序遍历序列可能: B-D-A-E-C
C. 能唯一确定,中序遍历序列为:D-C-B-A-E
D. 不能唯一确定, 中序遍历序列可能为: D-C-B-A-E
【答案】B
【解析】
【详解】本题主要考查二叉树的遍历。已知一棵二叉树的前序遍历序列为:A- B- D- C - E可以确定根节点为A,已知后序遍历序列为:D- B- E-C- A可以确定左子树的起点为B,无法确定左子树到哪里结束,同样无法确定右子树的开始节点。所以无法确定唯一性,中序遍历序列可能为:B- D- A- E- C,故本题选B选项。
10 某递归函数如下所示:
def fx(m):
if m<=1:
f=1
else:
f=fx(m-1)+2*(m-1)
return f
ans=0
for i in range(3, 5):
ans+=fx(i)
print(ans)
程序运行后,输出的结果是( )
A. 12 B. 20 C. 25 D. 46
【答案】B
【解析】
【详解】本题考查Python递归函数相关内容。分析程序段,可知:
(1)i=3时,调用fx函数,f=fx(2)+2*2-->fx(1)+2*1+2*2-->f=7-->ans+=fx(i)-->ans=7。
(2)i=4时,调用fx函数,f=fx(3)+2*3-->f=7+6-->f=13-->ans=7+13=20。
故本题答案为B选项。
11. 现有n个学生的7门学科成绩已存入一维数组cj中。某python程序代码段如下:
deff(x) :
p=x*7;k=0
for j in range(7):
if cj[p+j]>cj[p+k]:
k=j
return (k)
km="物化生政史地技"
n=2;s=""
for i in range(n):
s+=km[deff(i)]
print(s)
cj数组元素的值依次为96,83,91,85,86,77,88,98,93,94,82,96,87,99,运行后,输出的结果为( )
A. 物生 B. 地政 C. 物技 D. 技物
【答案】C
【解析】
【详解】本题考查Python程序设计相关内容。分析程序可知,该程序将cj数组元素分为两组,第一组索引号为0--6,第二组索引号为7--13,分别在两组内找出最大值所对应的索引号,然后对照字符串km,将对应位置字符连接成新字符串。第一组最大值为96,其索引号为0,对应km中的字符为“物”;第二组最大值为99,其索引号为13,对应km中的字符为“技”,两者连接为:“物技”。故本题答案为C选项。
12. 有如下Python程序段:
from random import randint
n=input("请输入一串数字:")
k=randint(0,len(n)) #randint用于随机生成[0,len(n)]之间的整数
for i in range(k):
for j in range(len(n)-1):
if n[j]>n[j+1]:
break
else:
n=n[:len(n)-1]
continue
n=n[:j]+n[j+1:]
执行该程序段后,输入“1529”,则变量n可能是( )
A. "1" B. "12" C. "152" D. "1259"
【答案】B
【解析】
【详解】本题考查Python程序。程序中使用了输入函数input获取用户输入的一串数字,并通过randint随机生成一个范围在[0,len(n)]之间的整数赋值给变量k。接下来通过两层嵌套的循环对字符串n进行处理。在内层循环中,对字符串中相邻的字符进行比较,如果发现前一个字符大于后一个字符,则执行break跳出内层循环。否则,执行n=n[:len(n)-1]删除字符串的最后一个字符,并通过continue继续内层循环。根据以上过程,我们可以得出当k=0时,n的值为"1529",当k=1时,n的值为"12",当k=2,3,4时,n的值为空。故答案为:B。
二、非选择题(本大题共3小题,其中第13小题7分,第14小题10分,第15小题9分,共26分)
13. 有n根火柴,第1次取1根,第2次取2根,第i次取i根,当剩余火柴数为0时,不用添加火柴(即k=0),游戏结束。如果剩余火柴数不为0,但不够下一次取,此时添加k(k≥1)根火柴,在剩余火柴中再从1根开始取,直到能取完为止,求k的最小值。
例如:n=3时,第1次取1根,第2次取2根,此时正好取完,无须添加火柴,k=0。n=4时,第1次取1根,第2次取2根,第3次不够取,若加上1根,剩余2根,再从1根开始取,第3次取1根,剩余1根不够第4次取,再加1根,又是剩余2根,显然加1根永远不可能取完。所以改用每次加2根,第1次取1根,第2次取2根,第3次不够取,添加2根,第3次取1根 ,第4次取2根,恰好能取完,得k=2。运行界面如图所示。
(1)当n=18时,最少需要添加的火柴数量是____根。
(2)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。
m=n=int(input('请输入火柴数量:'))
a=[False]*100
①____
k=0
while n!=0:
i=1
while i<=n:
②____
i+=1
if n==0:
print('最少需要添加'+str(k)+"根火柴。")
else:
if k==0:
k=1
n=n+k
if a[n]:
k=k+1
③____
else:
a[n]=True
【答案】 ①. 2 ②. a[n]=True ③. n=n-i ④. n=n+k
【解析】
【详解】本题考查Python应用。
(1)n=18时,第1次取1根,第2次取2根,第3次取3根,第4次取4根,第5次取5根,第6次不够取,若加上1根,剩余4根,再从1根开始取,第2次取2根,第三次不够取,剩余1根,再加1根,剩余2根,再从1根开始取,剩余1根,再加1根,剩余2根,显然加1根永远不可能取完。所以改用每次加2根,因此刚刚开始剩余6根,第1次取1根,第2次取2根,第3次取3根,恰好能取完,得k=2。故答案为:2。
(2)在这个位置,将数组a中的索引为n的位置标记为True,表示当前火柴数量为n的状态已经被访问过。这是为了防止陷入死循环,确保在每个状态下只尝试一次,避免无限循环。故答案为:a[n]=True。在每次循环中,当取i根火柴时,更新剩余火柴数量n,减去取的火柴数i。这是因为每次取火柴后,剩余的火柴数量需要相应地减少。故答案为:n=n-i。在这里,如果无法在当前状态下取完火柴,就需要添加k根火柴。因此,增加k表示添加的火柴数量。这是因为在题目中规定了添加的火柴数量。故答案为:n=n+k。
14. 小姜设计了一个“温度监测系统 ”。主要功能为:温度传感器每间隔5分钟采集一次温度值,并将数据上传至服务器,根据服务器反馈的数据执行是否发出“报警”声提醒。学生也可以通过手机浏览器或PC客户端浏览器查看历史记录。该系统结构示意图如图a所示。
图a
(1)图a①和②处设备可能是____(单选,填字母:A.路由器和智能终端/B.IOT模块和数据库/C.智能终端和数据库/D.执行器和智能终端)。
(2)小姜准备采用B/S架构,确定该架构方式属于信息系统前期准备中____的过程。(单选,填字母:A.需求分析/B.开发模式的选择/C.概要设计/D.详细设计)。
(3)小姜基于Falsk Web框架编写服务器端的程序,部分代码如下。编写完成后,若要通过浏览器获取视图函数index()返回的页面,则应访问的URL是http://____。
#导入Falsk框架模块及其他相关模块,代码略
app=Flask( name )
@app.route('/')
def index():
# 从数据库读取温度数据,并返回页面,代码略
#服务器其他功能,代码略
if name ==' main ':
app.run(host='192.168.1.108',port=8081)
(4)系统正常工作一段时间后,发现用浏览器能正常查询历史数据,但当服务器反馈的数据大于阈值时蜂鸣器也不会“报警”,试写出两种可能的原因。____
(5)某天的数据存储在“data.xlsx”文件中,部分数据如图b所示。
图b 图c
①用Pandas读取温度数据进行处理,假设温度超过36摄氏度为过高,通过下面程序可以找出过高温度的数据条数。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('data.xlsx')
df1 =
print('温度过高的数据有',len(df1),'条')
下列语句填写在划线处可以正确实现上述功能的有____
A.df[df['摄氏温度']>36] B.df.摄氏温度>36 C.df[df.摄氏温度>36] D.df[‘摄氏温度’>36]
②为了消除过高温度值的影响,得到一天中温度变化的平滑曲线(如图c所示),可以将I时刻的温度用i-n到i+n之间的温度平均值替代,实现的python程序如下,请将划线处代码补充完整。
df=df.sort_values('时间')
df=df.reset_index()#重新设置df的index为0,1,2,3…
temps=[]
n=int(input('请输入n:'))
for i in range(n, len (df)-n):
s = 0
for j in range(-n,n+1):
s+=____
ave=s/(2*n+1)
temps.append(ave)
plt.plot(range(len (temps)), temps)
plt.title('24小时温度值变化曲线')
plt.xlabel('时间(每5分钟)')
plt.ylabel('温度值(°C)')
plt.show()
【答案】 ①. C ②. B ③. 192.168.1.108:8081/ ④. 蜂鸣器故障、智能终端故障;执行器和智能终端连接出现故障;web服务器程序代码有误导致执行器无法启动工作 ⑤. AC ⑥. df.at[i+j"摄氏温度"]
【解析】
【详解】本题考查信息系统相关内容。结合题目内容,可知:
(1)智能终端将温度传感器采集的温度值上传至服务器,然后根据服务器反馈的数据控制蜂鸣器是否发出“报警”声提醒。所以①处为智能终端,服务器端将数据存储在数据库中,所以②处为数据库。故本题答案为:C。
(2)搭建信息系统时,先要进行需求分析,分析系统的功能、性能等需求;然后进行可行性分析和开发模式的选择;接下来进行概要设计,设计时主要考虑系统如何开发,对系统进行模块划分、确定各模块的功能等;最后进行详细设计,主要设计系统的界面和代码等。小姜准备采用B/S架构,确定该架构方式属于信息系统前期准备中开发模式的选择过程。故本题答案为:B。
(3)由“app.run(host='192.168.1.108',port=8081)”知,访问的URL是http://192.168.1.108:8081/,故本题答案为:192.168.1.108:8081/。
(4)用浏览器能正常查询历史数据,说明网络连接正常,但当服务器反馈的数据大于阈值时蜂鸣器也不会“报警”,可能的原因有:蜂鸣器故障、智能终端故障;执行器和智能终端连接出现故障;web服务器程序代码有误导致执行器无法启动工作等。任选两种回答即可。
(5)⑤处,分析程序段,其功能是统计温度超过36摄氏度的数据条数,先通过read_excel函数将文件“data.xlsx”的数据读取到df中,若要统计温度超过36摄氏度的数据条数,可在df中进行筛选,筛选条件是df['摄氏温度']>36或df.摄氏温度>36,故⑤处答案为:AC。⑥处所在程序段功能是统计一天中温度变化的平滑曲线,s作用是统计第i行到第j行(i-n到i+n之间)的摄氏温度和,故⑥处答案为:df.at[i+j,"摄氏温度"]。
15. 小明编写了一个python程序,能够从全唐诗中学习并能够根据输入词生成藏头诗。程序运行示例如下图所示,请回答下列问题:
请输入每句长度:7 请输入四句诗的开头:杭州二中 杭州铁诗人间蝶 州铁牛乘鸾骖驃 二公心违颜色苍 中原君觞飞蓬莱 请输入每句长度:5 请输入四句诗的开头:春夏秋冬 春菲间然别 夏斋时艰难 秋凉州远复 冬闲日悲蝉
运行实例1 运行实例2
(1)全唐诗存储在“全唐诗.txt”中,部分诗句如下图所示:
欲出未出光辣达,千山万山如火发,须臾走向天上来,逐却残星赶却月 未离海底千山黑,才到天中万国明 满目江山四望幽,白云高卷嶂烟收,日回禽影穿疏木,风递猿声入小楼,远岫似屏横碧落,断帆如叶截中流 片片飞来静又闲,楼头江上复山前,飘零尽日不归去,帖破清光万里天 因登巨石知来处,勃勃元生绿藓痕,静即等闲藏草木,动时顷刻遍乾坤,横天未必朋元恶,捧日还曾瑞至尊,不独朝朝在巫峡,楚王何事谩劳魂 若教作镇居中国,争得泥金在泰山
全唐诗.txt
首先统计所有诗句中,任意两个汉字前后连续出现的次数,即转移频率。
①比如只统计“年年岁岁花相似,岁岁年年人不同”这两个诗句中,“年”字后面出现了“年”、“岁”、“人”三个字,次数分别是______、_____、_____
②实现该功能python程序如下,请在划线处填写合适的语句:
#读取全唐诗
f=open('全唐诗.txt''r',encoding='utf-8')
corpus=f.readlines()
f.close()
#计算转移频率
trans={}
for line in corpus:
for senten in line. strip(). split(','):
for i in range (len(senten) -1):
prefix = senten[i]
suffix = senten[i+1]
if prefix not in trans:
trans[ prefix] = {}
if suffix not in trans[ prefix]:
trans[ prefix] [ suffix] = 0
else:
__________
(2)根据已经统计的转移频率,可以在生成诗句时,按照概率去选择新的汉字,比如汉字a后面出现了汉字b,c,d,次数分别是1,3,6,那么当生成了汉字a之后,有10%的概率生成b,有30%的概率生成c,有60%的概率生成d。实现的程序如下:
def choose_word(words, weights):
rand = random.uniform(0, weights[-1])
left, right = 0, len(weights)-1
while left <= right:
m = (left + right)//2
if weights[m] < rand:
left = m + 1
else:
right = m - 1
_____
length = int(input("请输入每句长度:"))
heads = input("请输入四句诗的开头:")
for prefix in heads:
text = prefix
for i in range(length - 1):
suffixes = ________
words = []
weights = []
for word in suffixes:
words. append(word)
if len(weights) > 0:
weights. append(_______)
else:
weights. append(suffixes[word])
suffix = choose_word(words, weights)
text += suffix
prefix = suffix
print(text)
【答案】 ①. 2 ②. 1 ③. 1 ④. trans[prefix][suffix]+=1 ⑤. return words[left]或者return words[right+1] ⑥. trans[prefix] ⑦. weights[-1]+sufs[word]或者weights[len(weights)-1]+sufs[word]
【解析】
【详解】本题考查Python综合应用。
(1)我们给出的两个诗句是:“年年岁岁花相似,岁岁年年人不同”。在这两个句子中,“年”字后面出现了“年”、“岁”、“人”三个字的次数分别是2、1、1。故答案为:2、1、1。在这个空白处,我们需要将转移频率的计数加一。具体地,当我们遍历每个汉字对时,如果后缀字已经在字典trans[prefix]中存在,则表示该后缀字已经被统计过了,我们需要将其计数加一;如果后缀字不存在,则需要创建一个新的键值对,并将计数初始化为1。因此,正确的填写是trans[prefix][suffix]+=1。这段代码的作用是增加字典trans[prefix]中后缀字suffix的计数。这样,在后续的遍历中,就可以正确统计每个前缀后面跟着的后缀以及它们出现的次数。故答案为:trans[prefix][suffix]+=1。

展开更多......

收起↑

资源列表