浙江省普通高校招生2024年1月选考信息技术考试试卷
共 13 题 ; 30人浏览 ; 高考阶段
2024-06-11
一、选择题 (共10题,共24分)
二、非选择题 (共3题,共24分)
11. 小华要搭建苗圃大棚环境监控系统。该系统中的智能终端从服务器获取湿度阈值。根据该阈值和传感器采集的空气湿度值控制加湿器,并将湿度值等数据传输至Web服务器,存储到数据库中。网络应用软件的实现架构是B/S架构,用户可通过浏览器查询实时和历史数据。硬件按如下方式连接:湿度传感器和加湿器接入智能终端,智能终端通过IoT模块连接到服务器。请回答下列问题:
(1) 要完成该系统的搭建,下列需要编写的程序是(单选,填字母:A .客户端程序 / B .服务器端程序)。
(2) 下列关于该系统中数据管理的说法,正确的是______(单选,填字母)。 A. 数据无法从服务器端传输至智能终端 B. 该系统的数据和程序都应存储在数据库中 C. 通过浏览器查看湿度历史数据需要访问数据库
(3) 下列关于该系统支撑技术的说法,正确的有______(多选,填字母)。(注:全部选对的得2分,选对但不全的得1分,不选或有选错的得0分) A. 智能终端有程序存储和数据处理能力 B. 智能终端可以通过 IoT 模块以无线方式连接服务器 C. 该系统如果再增加一个加湿器,必须增加一个湿度传感器 D. 支撑该系统运行的所有软件都需要在搭建过程中开发
(4) 智能终端上的程序具有如下功能:每隔1分钟从传感器获取1次湿度值:加湿器处于关闭状态时,若连续两次湿度值均低于阈值h,则打开加湿器;加湿过程中,若连续两次湿度值均高h,则关闭加湿器;每隔1分钟将湿度值和加湿器状态数据传输到服务器。部分Python程序如下,请在程序中划线处填入合适的代码。

#导入相关库,并从服务器获取阈值,保存在 h 中,代码略

lasth=h

s=0

while True:

    #从传感器获取湿度值,保存在 newh 中,代码略

    If s==0:

        if newh<h and lasth<h:

            s=1

            #打开加湿器,代码略

    else:

        if newh>h and lasth>h:

           

            #关闭加湿器,代码略

   

    #将 newh,s 等数据传输到服务器。代码略

    sleep(1000*60)          #延时 1 分钟

(5) 系统搭建完成后,运行一段时间,加湿器始终没有加湿。假设仅湿度传感器、加湿器两个设备存在故障,在不更换设备的前提下,请选择其中一种设备,描述判定该设备是否存在故障的方法。
综合题 困难
12. 某学院举行运动会,比赛设跳高、100米等项目,每个项目分男子组和女子组。现要进行报名数据处理和比赛成绩分析。请回答下列问题:

图 a

图 b

(1) 运动会报名规则为:对于每个项目的男子组和女子组,每个专业最多各报5人(如“软件工程”专业在男子跳高项目中最多报5人)。软件工程专业的报名数据保存在DataFrame对象df中,如图a所示。若要编写Python程序检查该专业男子跳高项目报名是否符合规则,下列方法中,正确的是 ______ (单选,填字母)。 A. 从df中筛选出性别为“男”的数据dfs,再从dfs中筛选出项目为“跳高”的数据,判断筛选出的数据行是否超过5行 B. 对df中数据按性别排序并保存到dfs中,再从dfs中筛选出项目为“跳高”的数据,判断筛选出的数据行是否超过5行 C. 从df中筛选出项目为“跳高”的数据dfs,判断dfs中是否有连续5行以上的男生数据
(2) 运动员比赛成绩的部分数据如图b所示。根据已有名次计算得,第1名至8名分别计9,7,6,5,4,3,2,1分,第8名之后计0分。实现上述功能的部分Python程序如下,请在程序中划线处填入合适的代码。

import pandas as pd

import matplotlib.pyplot as plt

#读取如图 b 所示数据,保存到 DataFrame 对象 df1 中,代码略

f = [9, 7, 6, 5, 4, 3, 2, 1]

for i in range(0,len(dfl)):

    rank = df1.at[i,"名次"] #通过行、列标签取单个值

    score = 0

    if rank <= 8:

       

    df1.at[i,"得分"] = score

(3) 根据上述 df1 中的得分数据,统计各专业总分,绘制如图 c 所示的柱形图,实现该功能的部分 Python程序如下:

df2 = dfl.groupby("    ▲    ",as_index=False).sum()       #分组求和

#设置绘图参数,代码略

plt.bar(x,y) #绘制柱形图

①请在程序中划线处填入合适的代码。

②程序的方框中应填入的正确代码为 (单选,填字母)

A.x = df1["专业"]

y = df1["总分"]

B.x = df2["专业"]

y = df2["得分"]

C.df1["专业"] = "专业"

df1["总分"] = "总分"

D.Df2["专业"] = "专业"

Df2["得分"] = "得分"

综合题 困难
13. 某项活动有n个单位(编号1到n)参加,需将员工分成若干个小组,每个小组的人数上限为m,小组编号按新建次序从1开始编号。分组时,首先按单位编号次序依次在各单位内部分分组,每m人分配到一个新建小组中,不足m人的剩余员工暂不分配;然后按剩余员工人数由大到小的顺序,依次为各单位剩余员工分配小组。

若某单位剩余员工人数为k,则分配方法为:在已建的小组中查找空位数(该小组还可容纳的人数)大于或等于k的小组,如果找到的小组有多个,则选择空位数最少的小组,将此k人分配到该小组中;如果没有找到,则新建一个小组,将此k人分配到该小组中。

设n为5,m为20,各单位员工人数及单位内部的分组过程如图a所示,各单位剩余员工的分组过程如图b所示。

编写程序:给定各单位编号及员工人数,根据上述方法进行分组处理,按单位编号次序输出各单位所分配的分组编号。请回答下列问题:

(1) 由题意可知,若仅将图a中1号单位的员工人数修改为25,然后对图中5个单位重新分组,则1号单位所分配的分组编号为
(2) 定义如下bubble_sort(lst)函数,参数lst的每个元素由单位编号和剩余员工人数2个数据项组成。函数的功能是根据每个单位的剩余员工人数,对lst进行降序排序。

def bubble_sort(lst):

    n=len(lst)

    for i in range(0, n-1):

       

    return

调用该函数,若 lst 为[[1,0],[2,0],[3,18],[4,0],[5,19],[6,17]],请回答①和②两个问题。

①虚线框中的程序段第 1 次执行后,关于 lst 中的剩余员工人数,下列说法正确的是(单选,填字母)。

A.lst[0][1]数值最小 B.lst[0][1]数值最大

C.lst[5][1]数值最小 D.lst[5][1]数值最大

②虚线框中的程序段执行的次数为

(3) 实现分组功能的部分 Python 程序如下,程序中用到的列表函数与方法如图 c 所示,请在程序中划线处填入合适的代码。

函数与方法

功能

w.append(x)

在列表 w 末尾添加元素 x

x.w.pop()

将列表 w 末尾元素赋值给 x,并将其从 w 中删除

def group(data, m):

    n=len(data)

    a=[]

    for i in range(n+1):

        a.append([])       # a[i]初始化为空列表,存放编号为 i 的单位所分配的分组编号

    gnum=0

    for i in range(n): #各单位内部分组

        while data[i][1]>=m:

            gnum+=1

            k=data[i][0]

            a[k].append(gnum)

           

    bubble_sort(data) #根据每个单位的剩余员工人数,对 data 进行降序排序

    b=[]

    for i in range(m):

        b.append([])

    i=0       #对剩余员工分组

    while i<n and data[i][1]!=0:

       

        while j<m and len(b[j])==0:

            j+=1

        if j<m:

            v=b[j].pop()

        else:

            gnum+=1

            v=gnum

        a[data[i][0]].append(v)

       

        i+=1

    #输出各单位的分组编号,代码略

'''

读取小组人数上限存入 m;读取 1 至 n 号单位的数据,依次存入列表 data 的 data[0]至 data[n-1]中。

Data[i]包含 2 个数据项,data[i][0],data[i][1]分别存放单位编号及员工人数,代码略

'''

group(lst, m)

综合题 困难