浙江省普通高校招生2024年1月选考信息技术考试试卷

试卷日期:2024-01-30 考试类型:高考真卷

一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)

  • 1. 下列关于数据与信息的说法,正确的是(   )
    A、数据以二进制方式编码后才能存储在计算机中 B、大数据技术不能处理非结构化数据 C、同一数据经解释后产生的信息都是相同的 D、信息加工处理后不会产生更有价值的信息
  • 2. 下列关于信息系统安全与信息社会责任的说法,正确的是(   )
    A、多人共享账户,不会影响信息系统的安全 B、定期查杀病毒可以确保信息系统免受网络攻击 C、网络上的不当行为可能会触犯法律 D、任何密码算法中的加密密钥与解密密钥必须相同
  • 3. 阅读下列材料,回答小题:

    某校图书馆管理系统中,工作人员通过计算机终端上的扫描仪扫描图书条形码,录入图书信息后完成入库。师生借阅时,通过校园一卡通识别身份,利用 RFID 读写器识别图书中的电子标签以获取图书信息,完成借阅后相关数据保存在服务器中。该系统所在的局域网接入因特网,图书查询功能基于 B/S 架构开发,师生在馆内外都可使用计算机、手机等查询图书信息。

    (1)、下列关于该系统组成的说法,正确的是(   )
    A、条形码扫描仪是输出设备 B、服务器的存储器容量会影响系统性能 C、该系统中的图书管理软件是系统软件 D、该系统中的数据仅包含图书数据
    (2)、下列关于该系统功能与应用的说法,不正确的是(   )
    A、可通过浏览器查询图书馆中的图书信息 B、可利用借阅数据分析学生的阅读兴趣 C、师生所借图书的信息需要保存在校园一卡通中 D、通过 RFID 读写器获取电子标签中的信息属于数据输入功能
    (3)、下列关于该系统中网络技术的说法,正确的是(   )
    A、该系统的网络资源不包括软件资源 B、计算机终端访问服务器不需要网络协议 C、移动终端必须通过移动通信网络才能访问该系统 D、通过路由器可将该系统接入因特网
  • 4. 下列关于人工智能的说法,正确的是(   )
    A、人工智能技术可应用于汽车无人驾驶 B、训练数据的规模不会影响深度学习的效果 C、人工智能的实现都需要事先手工构造知识库 D、人脸识别技术都是通过符号主义人工智能实现的
  • 5. 图像F为图a所示的200×100像素、256色位图,图像G为图b所示的200×100像素、16色位图,则图像F与G的存储容量之比为(   )

    A、1:2 B、1:1 C、2:1 D、16:1
  • 6. 栈 S 从栈底到栈顶的元素依次为1,2,3,队列Q初始为空。约定:U操作是指元素出栈后入队,H操作是指元素出队后再入队。经过UUH系列操作后,队列中队首到队尾的元素依次为(   )
    A、2,1,3 B、3,1,2 C、1,3,2 D、2,3,1
  • 7. 数组元素a[0]至a[n-1]依次存放着n个数据,现需要将元素a[n-1]插入在下标为x(0≤x<n-1)的位置,例如:n为5,数组a为[0,3,4,6,7],x为2,插入操作后a为[0,3,7,4,6]。实现该功能的程序段如下,方框中应填入的正确代码为(   )

    temp=a[n-1]

    for i in range(n-2,x-1,-1):

       

    a[x]=temp

    A、a[i+1]=a[i] B、a[i-1]=a[i] C、a[i]=a[i+1] D、a[i]=a[i-1]
  • 8. 某算法的部分流程图如图所示,若n的值为7,key的值为78,数组元素a[0]至a[n-1]依次存放7,12,24,36,55,78,83,执行这部分流程后,输出c的值为(   )

    A、0 B、1 C、2 D、3
  • 9. 若字符串s的值为"abcde",执行如下程序段后,变量 res 的值不可能是(   )

    from random import randint

    res=" "

    i,j=0,len(s)-1

    while i<len(s) and j>=i:

        if randint(0,1) == 0:          #randint(0,1)随机生成 0 或 1

            res+=s[i]

            i+=1

        else:

            res+=s[j]

            j-=1

    A、"abced" B、"aecbd" C、"aedbc" D、"edcba"
  • 10. 使用列表d模拟链表结构(节点数大于0),每个节点包含数据区域和指针区域,h为头指针。链表中各节点已按数据区域中数值的绝对值由小到大排列,如图a所示。现要修改该链表各节点的链接关系,使链表各节点按数据区域中的数值由小到大排列,结果如图b所示。实现该功能的程序段如下,方框中应填入的正确代码为(   )

    图 a

    图 b

    t=h

    p=d[h][1]

    while p != -1 :

        q=d[p][1]

        p=q

       

    d[t][-1]=-1

    A、if d[p][0]>0:

        d[q][1]=p

        d[t][1]=q

    else:

        d[h][1]=q

        h=p

    B、if d[p][0]>0:

        d[t][1]=q

        t=q

    else:

        h=p

        d[p][1]=t

    C、if d[p][0]>0:

        d[t][1]=p

        t=p

    else:

        d[p][1]=h

        h=p

    D、if d[p][0]>0:

        d[t][1]=q

        d[q][1]=p

    else:

        d[p][1]=h

        h=q

二、非选择题(本大题共3小题,其中第13小题10分,第14小题7分,第15小题9分,共26分)

  • 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)