浙江省名校协作体2022-2023学年高三上学期信息技术9月开学考试试卷
试卷更新日期:2022-09-20 类型:月考试卷
一、选择题(本大题共12小题,每小题2分,共24分。)
-
1. “核酸检测的物质是病毒的核酸。核酸检测是通过查找患者的呼吸道标本、血液或粪便中是否存在外来入侵的病毒的核酸,来确定是否被病毒感染。因此一旦检测为核酸阳性,即可证明患者体内有病毒存在。”结合上述示例,下列描述正确的是( )A、当人们听到核酸检测呈阳性,就会想到新冠,这是智慧的体现 B、人们使用核酸检测来检验是否感染病毒,这是知识的体现 C、几小时后可以在手机上查询核酸检测结果,这是信息的采集 D、一次核酸检测呈阴性,不能直接判断是否发生了病毒感染,体现了信息的真伪性2. 直播购物成为当下消费的趋势:淘宝、抖音、微信直播……你的每一次点击和滑动都会成为数据的一部分。有关组织通过数据的搜集、存储、分析和可视化技术,解决大数据海量、高速、多变、价值密度低的问题,帮助组织解决发展中遇到的实际问题。对于上述描述,下列说法不正确的是( )A、你在平台中的每次购物行为,都蕴含着巨大的价值 B、你在观看直播、购物过程中,有可能泄露个人隐私 C、平台提供给你的“直播推荐”,依赖于你的上网行为 D、你的每次观看、点赞、评论等行为及相关数据可能会被采集3. 一幅BMP格式的位图图像,图像参数如图所示,其所占的存储空间大小为( )A、0KB B、768KB C、16MB D、900KB4. 某算法的部分流程图如图所示,执行这部分程序,依次输入1 , 0 , 2 , 4 , -1,则输出的s值为( )A、516 B、528 C、596 D、5325. 阅读下列材料,回答下面小题
停车场智能车辆管理系统,是对停车场进行停车智能收费、停车智能引导、停车警报系统的综合管理系统,由停车场出入口车牌自动识别子系统进行全程的智能管理,该系统为其它停车场留有硬件接口,可以方便地将其它停车场的管理系统扩充为子系统进行统一管理。有效地提高停车管理系统的运行效率,保证车辆的停车安全。
(1)、下列关于该智能车辆管理系统的说法,不正确的是( )A、系统的使用可以有效提高车辆出入管理效率 B、车辆出入等数据一般存储在系统的数据库中 C、本系统只包含硬件、软件、用户和通信系统四个部分 D、由于系统的运行需要供电,因此该系统对外部环境有依赖性(2)、该信息系统的使用过程中,体现了人工智能技术的是( )A、车辆驶入停车场,摄像头拍摄车牌号 B、车辆驶出停车场,语音播报该车辆车牌号 C、系统能够实时显示空余车位数量 D、车主通过手机微信/支付宝扫码支付停车费用的过程(3)、系统网络是由计算机系统、数据通信系统以及网络软件和网络协议三部分组成,下列关于智能车辆管理系统中网络的组成与构建说法正确的是( )A、系统连接万维网一定需要光调制解调器(俗称“光猫”) B、系统服务器与终端必须在同一个局域网中,该系统才能正常运行 C、本系统中较重要的网络协议是网际协议(IP)、传输控制协议(TCP) D、系统中的计算机、数码摄像头等有线终端用双绞线连接至路由器的WAN6. 已知变量s= "2012abc2",下列Python表达式的值最小的是( )A、int ( s [ 2 : 4 ] + "6" ) // 8 B、len ( s ) * 3 C、round ( float ( s [ : 3 ] ) / 4 ) D、int ( s [ -1] ) ** 47. 有如下 Python 程序段:s = "Python"
ans = " "
for i in range(len(s)) : c = s [ i ]
if "a" <= c <= "z":
if i % 2 == 0:
c = chr ( ( ord ( c ) - ord ( " a " ) - i ) % 26 + ord ( " a " ) )
else:
ans += c print ( ans )
c = c . upper ( ) # x . upper( )将字符串x中的大写字母转换成小写字母
执行该程序段后,输出的内容是( )
A、PYwHtN B、YrHkN C、PaTIOt D、PYrHkN8. 已知二叉树T2的后序遍历序列为G-D-H-E-B-I-F-C-A,中序遍历序列是D-G-B-E-H-A-C-I-F,则二叉树T2的前序遍历序列为( )A、A-B-D-G-E-H-C-I-F B、A-B-D-G-E-H-C-F-I C、A-B-D-G-E-H-F-C-I D、该二叉树形态不唯一,无法确定9. 有如下 Python 程序段:def f (x) :
if x == 1 :
return 1
else :
return x * f ( x - 1 )
s = 0
for i in range( 1 , 6 ):
s += f ( i )
print ( s )
执行该程序段后,变量s的值是( )
A、33 B、34 C、154 D、15310. 某算法的 VB 程序段如下:key = randint ( 0 , 3 ) * 2 + 13
i , j , c = 0 , len ( a ) – 1 , 0
while i <= j :
m = ( i + j + 1 ) // 2
if a [ m ] >= key :
i = m + 1
else :
j = m - 1
c += 1
列表a = [ 23 , 21 , 19 , 18 , 16 , 15 , 14 , 11 ],该程序段执行后,下列说法不正确的是( )
A、i的值为j+1 B、i的值可能是8 C、j的值可能是5 D、c的值一定是3二、非选择题(本大题共4小题,6+6+7+7,共26分)
-
11. 大力老师收集了学校高三年级7选3选课数据,存储在“选课情况.xlsx”中,其数据格式如图所示,学科列下的“1”表示相应行的学生选了该学科,“0”表示未选。(1)、大力老师收集的数据存在一些问题,需要进行数据整理,下列说法合理的是( )(多选)A、数据集中格式不一致的数据,需要进行格式转换 B、数据集中的异常数据应该直接删除或忽略 C、数据集中的缺失的数据可以用任意值填充 D、数据集中的重复数据须在审核的基础上进行合并或删除(2)、为实现统计各班技术选考人数,并找出技术选考人数最多的3个班级,大力老师通过Python编程进行数据处理,并以图表的形式呈现结果。实现上述功能的Python程序如下,请在划线处填入合适的代码。
import pandas as pd
import matplotlib . pyplot as plt
plt . rcParams [ " font . sans-serif " ] = [ " SimHei " ] #中文显示df = pd . read_excel ("选课情况. xlsx")
g = df . groupby ("班级").技术.
df1 = pd . DataFrame ( { "班级":, "技术人数" : g . values } ) df1 = df1 . sort_values ( "" , ascending = False )
x =
y = df1 . 技术人数 [ 0 : 3 ]
plt . bar ( x , y , lable = "选技术人数" )
plt . title ( "技术选科人数最多的三个班级" ) plt . xlabel ( "班级" )
plt . ylabel ( "人数" ) plt . legend ( )
plt . ylim( 40 , 50 ) plt . show ( )
12. 大力老师为了强健班级学生体魄,推出乐跑活动,现开发“乐跑系统”,其功能需求如下:①校园环形跑道需要设置4个打卡点,学生佩戴电子标签经过每处打卡点时,都会记录下该生经过该点的打卡时间,相应的数据上传到服务器。
②学生可以通过浏览器访问该系统,进入该系统的“登录模块”,登录后,会显示“欢迎页面”,其中包含“个人数据查询”、“排行榜”、“全校乐跑数据可视化”三个链接。
③单击“个人数据查询”链接进入个人数据查询页面,查询个人每次有效跑步时长(完整打完四个点并且总时长在8分钟内)。
④单击“排行榜”链接进入排行榜页面,显示有效跑步时长次数最多的20名学生信息。
⑤单击“全校乐跑数据可视化”进入数据可视化页面。
信息课代表承接了该系统的设计与开发,基于上述需求分析,设计了系统工作流程如1图所示,系统框架如2图所示。
(1)、根据“系统工作流程图”,“乐跑系统”采用的开发模式为(单选题,填字母:A .C/S 架构;B .B/S 架构)。(2)、根据上述该系统介绍,结合2图可知,访问“个人数据查询”页面的URL为(3)、该系统数据采集部分工作原理如3 图所示,图中①处应为(单选题:A .传感器/ B .读写器/ C .电子标签)。3 图 数据采集部分工作原理图
(4)、课代表经过前期的规划设计,对该系统的“登录模块”进行界面设计及代码编写。登录 模块具体需求:学生数据(用户名、密码)由学校统一导入数据库中;学生登录系统后,即进入用户登录界面;输入其用户名、密码进行验证,验证正确则直接跳转到“欢迎页面”。具体代码如下。#相关模块导入代码略
class BaseLogin ( FlaskForm ) :
#表单定义代码略app = Flask (_name_)
#启用 CSRF 保护,代码略
@app . route ( '/ ' , methods = [ 'GET' , 'POST' ] ) def index( ) :
#进入登录页面代码略
@ app . route ( ' / login ' , methods = [ ' GET ' , ' POST ' ] ) def baselogin( ) :
form = BaseLogin( ) #创建表单对象,生成登录界面用户名和密码框
if form . validate_on_submit ( ) : #判断提交信息是否通过conn = sqlite3 . connect ( 'test . db' )
cur = conn.cursor ( )
cur . execute ("select * from user where username = ' %s ' " % uname ) data = cur . fetchall ( ) #获取查询结果的全部数据
#获取相关信息,进入欢迎页面相关判断代码略
else :
if _name_ == "_main_" :
app . run ( host = " 0.0.0.0 " , port = 8080 )
根据上述代码可知,完成以下问题:
①分析程序可知,存储学生数据(用户名、密码)的数据表名为。
②如要实现:当用户提交信息未通过时,跳转至“login.html”登录页面,则上述代码中方框内的代码为。
A、return request( " login . html " , form = form )
B、return redirect( " login . html ", form = form )
C、return render_template ( " login.html " , form = form )
13. 某校军训,需要按照身高由低到高排成n行5列的方阵。某班学生按照身高(100≤身高≤199)由低到高编写编号并将相关信息存在如图1所示“stu.txt”文件中。根据教官提出的排方阵要求,排成如图2所示方阵,方阵各点显示学生编号。
图1
图2现有延迟报道学生归队,归队学生编号延续该班现有编号依次往后,编写程序完成下列任务:输入学生身高,输出新的方阵布局图。例如:输入学生身高为168,新的方阵布局图如图3所示,学生在方阵的位置:3 , 4。
图3
(1)、若插入学生身高为160cm,根据图1及范例,该学生应该在图2方阵中的几行几列。(2)、为实现上述功能,请填写划线处代码。f = open ( "stu.txt" , "r" )
a = [ ]
line=f.readline( ).split ( )
i = 1
while line != [ ] :
a . append ( [ line[ 0 ] , line [ 1 ] , i ] )
i += 1
line = f . readline ( ) . split ( )
n = len ( a ) - 1
a [ n ] [ 2 ] = -1
sg = input ( "请输入插入的学生身高 ( cm ) : " )
xh = str ( len ( a ) )
head = 1
p = head ; q = head
while : p = q
q = a [ q ] [ 2 ]
if q == head :
head = len ( a ) -1
else :
a . append ( [ xh , sg , a [ p ] [ 2 ] ] )
a [ p ] [ 2 ] = len ( a ) - 1
p = head m = 1
while p != -1 :
if m != 5 :
print ( a [ p ] [ 0 ] , end = " " )
m += 1
else :
print ( a [ p ] [ 0 ] )
m = 1
14. 某会务组根据参会者到达指定上车点时间和每位参会者可以等待的时间信息,安排车辆接送参会者去宾馆(不考虑车子座位数量)。参会者到达上车点的时间和可以等待的时间用长度为 7 的字符串表示,例如“ 08:15 2”表示参会者当天8点15分到达上车点,最多等待2分钟(每个人的等待时间都小于10),那么该参会者最晚8点17分出发去宾馆(若8点17分刚到的参会者也一同出发)。编写Python程序,统计接送n个参会者所需的最少车辆数。运行程序,显示所有参会者提交的信息,按到达时间先后排列,再显示所需的最少车辆数,程序运行结果如图所示。
(1)、若将图中第4行“08:15 4”数据改为“08:15 1”,程序输出的结果是否会发生改变(A .会改变\ B .不会改变)。(2)、实现上述功能的部分Python程序如下,请在划线处填入合适的代码。a = [ '08:15 4','08:14 3','08:23 4','08:15 2','08:12 2','08:17 1','08:17 3','08:19 4','08:21 4','08:17 1' ]
def tran (str1) :
ss = int ( str1[ : 2 ] ) * 60 + int ( str1 [3 : 6] )
return ss
for i in range( len ( a ) - 1) :
for j in range ( len ( a ) – 1 , i , -1) :
if a [j] < a [j-1]:
a [j] , a[j-1] = a [j-1] , a [j]
n = len ( a )
b = [ ]
c = [ ]
for i in range ( n ) :
b . append ( tran ( a [ i ] [ : 5 ] ) )
c . append ( b[ -1 ] + int ( a [ i ] [ 6: ] ) )
for j in range ( i , 0 , -1 ) :
if c[k] > c[j]:
b[k] , b[j] = b[j] , b[k]
c[k] , c[j] = c[j] , c[k]
else :
break
sum = 0
flag = [ False for i in range ( n ) ]
for i in range ( n ) :
if flag [ i ] == False:
for j in range ( i , n ) :
if: flag [ j ] = True
print ('接送所有参会者最少需要%d 辆车' %sum)