浙江省绍兴市柯桥镇2023年5月信息技术二模试卷

试卷更新日期:2023-05-30 类型:高考模拟

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

  • 1. 阅读下列材料,回答问题。

    ChatGPT开发团队收集了海量的优质文档作为语料库,并对语料属性进行标注,使用神经网络算法进行训练,使其能像人类一样聊天、编写文案、编程等。ChatGPT还引入了强化学习,实现了在与人类互动时,能根据用户反馈进行迭代优化。

    (1)、下列关于ChatGPT中语料库的说法,正确的是(   )
    A、开发团队收集的海量优质文档是一种动态数据 B、ChatGPT的语料库是大数据,价值密度高 C、如果语料库中有个别知识点错误,会影响系统推理的结果 D、ChatGPT通过海量语料库的学习才能具备聊天、编写文案等能力
    (2)、下列关于ChatGPT人工智能技术的说法,正确的是(   )
    A、ChatGPT的智能应用不会带来社会担忧 B、ChatGPT用到了联结主义和行为主义的人工智能方法 C、网络收集的文字材料可直接“喂”给ChatGPT进行训练学习 D、ChatGPT在与人类互动时,从反馈中开展深度学习
  • 2. 阅读下列材料,回答问题。

    某校园大门出入口“智能门禁系统”采用人脸识别或刷校园卡的方式识别出入人员。本校人员识别通过,自动开启闸机,并将学生出入学校的相关信息发送给家长:外来人员需通过闸机伴侣拍照登记后方可开启闸机,相关数据上传到服务器;系统管理员具备设置门禁参数、查看出入记录、管理数据库等特殊权限。该系统的主要组成部分如图所示:

    (1)、下列关于该信息系统组成的说法,不正确的是(   )
    A、服务器属于该系统的硬件设备 B、Unix属于该系统的系统软件 C、系统管理员设置门禁参数使用到了系统的数据输入和存储功能 D、本校人员信息属于该系统的用户
    (2)、下列关于该信息系统安全性的说法,不正确的是(   )
    A、对数据进行加密,以提高数据的保密性 B、开启服务器防火墙后,仍需安装杀毒软件 C、访客登记的手机号码信息属于个人一般信息 D、不同的授权用户授予不同的操作权限
    (3)、下列关于该信息系统中数据的说法,不正确的是(   )
    A、采集的数据被临时存储在 ROM 直到被处理 B、该系统中输入的数据都已从模拟信号转为数字信号 C、系统管理员查看出入记录,属于信息系统的数据查询功能 D、校园卡使用无源电子标签,具有唯一的电子编码
  • 3. 下列关于网络技术的说法,正确的是(   )
    A、网络具有数据通信、资源共享和并行处理三个主要功能 B、5G 移动通信技术是指数据的传输速率达到 5G C、传输控制协议是负责将信息从一个地方传送到另一个地方 D、传输介质是传输数据信号的物理通道
  • 4. 某算法的流程图如图所示。执行这部分流程,输入41,则输出的值是(  )

    A、0 B、19 C、22 D、32
  • 5. 已知一棵二叉树的前序遍历序列为ABCDEFG,则该二叉树中序遍历序列可能为(   )
    A、CABDEFG B、ABCDEFG C、DACEFBG D、ADBCFEG
  • 6. 有一个环形队列,长度为10,头指针为head,尾指针为tail,则下列选项中队列元素个数与其它三项不同的是(   )
    A、head=1,tail=6 B、head=3,tail=8 C、head=6,tail=0 D、head=9,tail=4
  • 7. 有如下Python程序段:

    import random

    d=[28, 37, 39, 42, 45, 50, 70, 80]

    i, j, n=0, len(d)-1, 0

    key=random.randint(20, 35)*2

    while i<=j:

        m=(i+j)//2; n+=1

        if key==d[m]:

            break

        elif key<d[m]:

            j=m-1

        else:

            i=m+1

    print(i, j, m, n)

    执行该程序段后,下列说法正确的是(   )

    A、n的值可能为4 B、若n值为2,则必定满足i<=j C、m的值可能为1 D、若n值为3,则key的值可能是45
  • 8. 有如下Python程序段:

    def f(s):

        if len(s)==1:

            return True

        elif len(s)==2:

            return s[0]==s[l]

        elif s[0]==s[-l]:

            return f(s[l:-l])

        else:

            return False

    print(f("1234321"))

    执行该程序段后,下列说法正确的是(   )

    A、输出结果为 False B、函数 f 运用了迭代算法 C、函数 f 的调用次数为 4 D、函数 f 的时间夏杂度为 O(n2)
  • 9. 有如下Python程序段:

    lst=[3, 5, 6, 7, 10, 11, 14, 16]

    i=len(lst)-1

    stk=[0]*len(lst)

    top=-1

    while i>=0:

        if lst[i]%2==0:

            top+=1

            stk[top]=lst[i]

        else:

            lst[i+top+1]=lst[i]

            i-=1

    i=0

    while top>-1:

        lst[i]=stk[top]

        top-=1

        i+=l

    执行该程序段后,lst[3]的值是(   )

    A、3 B、6 C、14 D、16

二、非选择题(本大题共3小题,8+9+9,共26分)

  • 10. 小明为他们教室搭建了环境温湿度监测系统,该系统结构示意图如图所示。该系统可实时监测教室温湿度数据,并持续运行一周,数据由智能终端经loT模块发送至Web服务器,若环境温湿度监测值超过设定阀值区间,则控制执行器调节温湿度,用户可以使用浏览器查看实时数据。本系统服务器端程序采用FlaskWeb框架编写,数据库管理系统选择sqlite3,服务器的IP地址是192.168.0.1,端口是5000。网站功能页面规划如下:

    序号

    子页面路径

    功能说明

    1

    /

    实时显示温湿度数据

    2

    /input

    提交温湿度数据

    3

    lcount

    显示温湿度统计数据

    4

    /search

    查询显示某一天的历史数据

    (1)、上述页面规划属于搭建信息系统的前期准备的哪个阶段?(   )。
    A、需求分析 B、可行性分析 C、概要设计 D、详细设计
    (2)、根据该系统的功能要求,图中①②处的设备分别为
    (3)、教空里的学生最舒服的温度是范围是 tmin~tmax,现要实现温度 t 正常、非正常(偏高或偏低)时,将对应的状态 sta 的值设为 0 和 1。下列Python程序段中符合要求的有(   )(多选,填字母)。
    A、if t<tmin:

        sta=1

    if t>tmax:

        sta=1

    sta=0

    B、sta=0

    if t<tmin:

        sta=1

    elif t>tmax:

        sta=1

    C、if t<tmin or t>tmax:

        sta=1

    else:

        sta=0

    D、sta=1

    if t<=tmax:

        sta=0

    elif t>=tmin:

        sta=0

    (4)、小明在某次系统调试时,输入URL后浏览器出现“404”错误信息(服务器反锁404信息表示服务器端无法找到对应的网页),简要说明系统中可能造成上述问题的原因:
  • 11. 一球迷收集了近3个赛季的CBA比赛数据,每个赛季的数据分别保存在独立文件中,如图a所示,文件中数据记录格式如图b所示,以球员“布莱克尼”的“二分”数据“7.9-16.3”为例,7.9表示二分球平均命中数量,16.3表示二分球平均投篮次数。

    该球迷想根据历史赛季数据预测各球队下个赛季的首发阵容,编写了如下Python程序,请回答下列问题:

    import pandas as pd

    def readData(file):

        df=pd.read_excel(file)    #读取文件 file 中的数据

        cols={"二分":2,"三分":3,"罚球":1}

        for i in range(len(df)):     #计算每个队员的得分

            for col in cols:

                p=df[col][i].find("-")#在字符串中找到“-”的位置

                n=float(df[col][i][:p])

                         

        return df

    (1)、定义readData函数,功能为:读取某赛季的excel文件,返回每个队员的得分(得分=二分球命中数量*2+三分球命中数量*3+罚球命中数量。函数代码如下,划线处应填入的代码为       (单选,填字母)。
    A、df["得分"][i]+=n*cols[col] B、df["得分"][i]=n*cols[co1] C、df["得分"]+=n*cols[col] D、df["得分"]=df.二分*2+df.三分*3+df.罚球
    (2)、定义select函数,功能为:筛选各球队得分最高的5名球员作为首发阵容,并把球员名字及得分存入列表members后返回。其中n号球队各球员名字存入members[2*n]中,得分存入members[2*n+1]中,请在划线处填写合适的代码。

    def select(teams) :

        #teams 是字典变量,如:{"浙江":0,"上海":1},字典的值代表球队编号

        seasons=["20-21","21-22","22-23"]

        members=[0]*len(teams)*2

        df=readData(seasons[0]+".x1sx")

        for season in :

            file=season+".xlsx"

            df1=readData(file)

            df=pd.concat([df, df1])#合并两个 DataFrame 对象数据

        for team in teams:

            df1=

            df1=df1.groupby("球员" , as_index=False).mean()#计算各球员平均得分

            df1=df1.sort_values("得分",ascending=False).head(5)#按得分降序排序并选取前5名

           

            members[2*n]=df1["球员"].values

            members[2*n+1]=df1["得分"].values

    return members

    (3)、定义showChart函数,功能为:查询某球队的首发阵容,绘制柱形图,图表如图c所示,程序如下,请在划线处填写合适的代码。

    import matplotlib.pyplot as plt

    def showChart(tean, menbers) :

        n=teams[team]

        plt.bar(,)

        plt.title(team+"队首发阵容")

        plt.show()

    ⑷主程序代码如下。

    teams={"浙江":0,"上海":1,"山东":2,"广东":3,"北京":4}

    members=select (teams)

    while True:

        team=input("输入球队:")

        if team=="" : break

        showChart(team, members)

  • 12. 操作系统在管理磁盘时,会将磁盘分为一个个“盘块”。在为文件分配空间时,可以将文件装到离散的盘块中。读取一个文件时,首先在目录结构中找到文件项。从文件项中可以获取文件名、存储时间、该文件在存储块中的起始地址等基本信息,但不包含文件具体内容,然后在磁盘文件分配表中找到对应的文件。磁盘文件分配表如图 1 所示。

    文件结束块用-1 表示,空闲盘块用 0xff 表示。

    (1)、根据文件的起始地址,能方便地找到文件的其它盘块。如图 1中,文件abc在磁盘中的盘块号依次是(注:各盘块号用→分隔)。
    (2)、如果目录结构损坏,就不能获取文件的基本信息和起始地址。但我们可以借助文件分配表来恢复部分数据(不考虑恢复文件名、存储时间等信息)。

    函数 regain 的功能是模拟数据恢复,找到各个文件的起始地址和大小(盘块数量),并返回以[[起始地址, 文件大小], …]形式的列表 lst。变量 allot 存储文件分配表信息。

    def regain(allot):

        lst=[]

        visited=[]     #记录 allot 的访问情况

        for i in range(len(allot)):

            if allot[i] != 0xff and i not in visited:       #盘块 i 需要处理

                fsize=0

                p=i

                while p!=-1 and p not in visited:

                    visited.append(p)

                    fsize+=l

                    p=allot[p]

                if p==-1:

                    lst.append([i,fsize])

                else:

                    for j in range(len(Ist)):

                        if lst[j][0]==p:

                            lst[j][0]=i

                            lst[j][1]=lst[j][1]+fsize

        return lst

    若allot为[3,7,13,9,0xff,0xff,0xff,8,-l,-l,0xff,l,0,1l,0xff,0xff],调用regain函数,

    ①则语句 lst[j][1]=lst[j][1]+fsize 一共会被执行次。

    ②如果把 while p!=-1 and p not in visited 改写为 while p!=-1,对程序的影响是(多选,填字母)。

    A.会增加 while 的循环体执行次数

    B.返回的 lst 中的节点数量保持不变

    C.while 循环不能正常结束

    D.返回的 lst 中,文件的起始地址部分不正确

    (3)、在创建文件时,若新文件需要占据 5 个盘块大小,只需要从头到尾找到空闲盘块,并依次链接,并把首地址存放到文件项中。为了有效管理空闲块,我们可以将所有空闲盘区(每个空闲盘区可以包括若干个空闲盘块)构建到一条空闲链 freelst 中。freelst 每个节点存储本空闲盘区的盘块号、长度和指向下个盘块的指针,创建时把新节点链接到 freelst 尾部。

    如图 2所示,共有3个空闲盘区,盘块号依次为 4、5、6、10、14、15请在划线处填上合适的代码。

    def mergefree(allot):     #mergefree 的功能是从头到尾扫描文件分配表,创建空白盘区链

        freeh=-1:freelst=[]

        n=len(allot)

        i=0

        while i<n:

            if allot[i]==0xff:

                j=i+1

                while  

                    j+1

                freelst.append([i,j-i,-1])

                if freeh==-1:

                    freeh=cur=len(freelst)-1

                else:

                    freelst[cur][2]=len(freelst)-1

                   

                i=j+l

            else:

                i+=l

        return freeh,freelst

    #读取文件分配表信息存储到 a11ot 中,代码略

    head,freelst=mergefree(allot)

    p=head

    whi1e p!=-1:    #打印出所有空闲盘块号

        for i in range(freelst[p][1]):

            print(,end=',')

        p=freelst[p][2]