浙江省宁波市2023学年高三上学期信息技术选考模拟考试试卷

试卷更新日期:2023-11-29 类型:高考模拟

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

  • 1. 下列关于数据、信息、知识与智慧的说法,正确的是(   )
    A、同一个数据在不同的场景下其意义是一样的 B、人们可以直接使用搜索引擎获得海量知识 C、信息具有载体依附性,书籍中的文字就是信息 D、智慧是一种更高层次的综合能力,体现为一种卓越的判断力
  • 2. 阅读下列材料,回答第2至4题

    某中学引进“智慧食堂”系统后,带有电子标签的餐盘通过智能结算台,可精准识别 不同餐盘进行快速结算。经测算,每单平均用时仅需1秒,有效降低了错单率,大幅度 缩短了排队等候时长。全校师生通过支付宝绑定个人银行卡并开通“刷脸”支付签约, 可通过“刷脸”进行餐费结算,家长可以随时随地通过浏览器登陆系统后查看孩子在校 的消费信息。依托“智慧食堂”系统,食堂管理人员可分析统计菜品销量、人员流量等 信息,为后厨按量供应、按需采购提供了有力的数据支撑,推动食堂餐饮保障模式从经验式、粗放式向科学化、精细化转变。

    (1)、关于该“智慧食堂”系统的说法,不正确的是(   )
    A、该系统的用户是指全校师生、食堂工作人员 B、从管理角度看,该信息系统是信息技术与食堂管理相结合的产物 C、该“智慧食堂”系统的实现必须有数据库的支持 D、该“智慧食堂”系统需要软硬件的支持
    (2)、该系统的应用场景中,体现人工智能技术的是(   )
    A、通过智能结算台可精准识别不同餐盘进行快速结算 B、在智能结算台,进行“刷脸”餐费结算 C、依托“智慧食堂”系统统计畅销菜品 D、系统自动生成食堂经营数据报表
    (3)、关于该信息系统,下列说法不正确的是(   )
    A、在“智慧食堂”系统中安装防火墙可以有效防止黑客入侵 B、该系统在设计时预留了指纹识别模块,这体现了信息系统的可扩展性 C、家长可以随时随地通过浏览器查看孩子的消费信息说明系统采用C/S 架构实现 D、为了系统安全需要对家长、食堂管理人员等用户身份进行认证,并设置不同权限
  • 3. 下面关于网络说法不正确的是(   )
    A、TCP/IP 协议是网络协议中最重要的协议,其他应用层协议很多建立在该协议基础上 B、 网络是由数据通信系统、网络软件和网络协议三个部分组成 C、数据通信是网络系统最基本的功能 D、城域网基本上是一种大型的局域网,通常使用与局域网相似的技术
  • 4. 华为Mate 60 Pro为全球首款支持卫星通话的大众智能手机,该手机搭载“鸿蒙操作系统4.0”,即使在无网络信号的情况下,也可以拨打接听卫星电话,同时还将上线AI 隔空操控、智感支付、注视不熄屏等智慧功能,华为的自研芯片麒麟9000s 的成功推出为国家科技发展 提供持续推动力,下列说法正确的是(   )
    A、该手机搭载的“鸿蒙操作系统4.0”是应用软件 B、RAM 中的数据在手机重启后不会丢失 C、该手机作为一款5G 手机,下载速度最大可以达到5Gbit/s D、该手机具备多种“智慧功能”主要基于硬件上传感器的植入
  • 5. 某声音模拟信号的采样及量化函数模型如图所示,下列说法正确的是(   )

    A、 图中纵坐标划分得越细表示采样频率越高,保真度越高 B、图中整个幅度分为0~7级,其量化位数至少为8位 C、图中各采样点的量化值不同,但其量化位数相同 D、声音数字化过程是将离散的模拟信号转换成连续的数字信号
  • 6. 某二叉树前序遍历为ABDFGCEH,后序遍历为FGDBHECA,则下列选项不可能是此二叉树的是(   )
    A、 B、 C、 D、
  • 7. 设栈S 初始状态为空,元素A、B、C、D、E、F依次入栈,出栈的序列为D、F、E 、C、B、A,则栈S的容量至少应该是(   )
    A、5 B、4 C、3 D、2
  • 8. 定义如下函数:

    def tob(n)

        if  n=0:

            return "*

        else:

            return tob(n//2)+str(1-n%2)

    执行语句s=tob(10) 后,s的值为(   )

    A、"1010" B、"0101" C、"1001" D、"1100"
  • 9. 某 Python 程序如下:

    q=[""]*50

    head=tail=0

    s="ningbo'

    for i in s:

        q[tail]=i

        tail+=1

    while head<tail:

        print(q[head],end="")

        head+=1

        for i in range(3):

            q[tail]=q[head]

            head+=1

            tail+=1

    执行该程序段后,输出结果为(   )

    A、nbgoni B、nbogni C、goninb D、ningbo
  • 10. 有如下 python 程序:

    import random

    a,i,c=[],0,0

    while i<5:

        b=random.randint(0,9)

        if b not in a:

            a.append(b)

            i+=1

    key=int(input("key="))

    for j in range(len(a)):

        if a[j]%key==0:

            c+=1

        else:

            a[j-c]=a[j]

    print(a)

    运行该程序,若输入 key 为2,则输出的a 不可能为(   )

    A、[3,7,5,4,5] B、[3,7,1,5,5] C、[3,5,0,3,5] D、[9,7,4,7,3]

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

  • 11. 已知某年级有6个班级,所有学生名单存储在文件 “name.csv”中(如图1),学校举行某趣味活动项目中,需要每个班抽3名代表参加比赛,请编写一个随机抽取程序,执行效果如图2。请回答以下问题:

    (1)、加框处代码的作用是
    (2)、实现上述功能的部分Python 程序如下,请在划线处填写合适的代码。

    import csv

    import random

    #数据读入

    f=open("name.csv","r")

    flines=csv.reader(f)

    name_list=[]

    m=6   #班级总数

    total=18   #参赛总人数

    for line in flines:

       

            name list.append(line)

    flag=[False]*n

    grade=[3]*m

    i=0

    while i<total:

        p=random.randint()

        bj=int(name_list[p][0])

        if flag[p]=False:

            if grade[bj-1]>0:

                flag[p]=True

               

                i+=1

    print("抽取名单为:")

    print(”班级","姓名")

    for i in range(n):

        if flag[i]:

            print(name_list[i][0],name_list[i][1])

    f.close()

  • 12. 小明要搭建教室环境监控系统,其结构示意图如图a 所示。小明采用了智能终端、 IoT 模块、传感器(如 PM2.5传感器)、执行器(如LED 灯)、服务器等硬件,该系统能实时 监测教室空气质量情况,用户可以通过浏览器实时监测当前和历史数据,传感器采集的数据 由智能终端经 IoT 模块发送到Web 服务器后保存到数据库,并对当前空气质量进行判断,根 据空气质量等级智能终端控制显示不同颜色的LED灯,该系统服务器上的部分代码如下:

    #导入Flask框架模块及其他模块,代码略

    app =Flask _name_ )

    @app.route("/input")

    def add_data():

        id  =int(request.args.get(id'))

        value =float(request args.get(val'))

        nowtime =datetime.datetime.now()

        nowtime =nowtime.strftime('%Y-%m-%d %H:%M:%S')

        db=sqlite3.connect("data.db")

        cur=db.cursor()

        cur.execute("INSERT INTO sensorlog(id,sensorvalue,updatetime)VALUES(%d,%f,'%s)" %(id,value,nowtime))

        db.commit()

        cur.close()

        db.close()

    #服务器其他功能,代码略

    if  _name_  =="_main_ ":

        app.run(host="6.56.102.4",port=8080)

    请回答下列问题

    (1)、在搭建该系统的前期准备中,明确用户对该环境监控系统的目标期待及后期的可扩展性需求这一过程属于 (单选,填字母,A .需求分析 B .可行性分析 C .详细设计)
    (2)、在该系统硬件搭建及软件开发过程中,不正确的是         (单选,填字母)
    A、智能终端与Web服务器之间的数据传输可以是双向的 B、本系统 Web 服务器是采用GET方式接受传感器数据的 C、更改视图函数 add_data()的名称将影响程序功能 D、若 IoT 模块与智能终端断开连接,数据库中的数据将不再更新
    (3)、若某时刻传感器编号为1,采集的PM2.5数值为30,则智能终端在传输数据时使用的URL 是 http:// ,服务器接受该数据后存储的数据库表名称为
    (4)、小明将系统中近一年的数据导出,部分数据如图b所示,分析每月平均PM2.5浓度变化情况,线型图如图c所示,部分代码如下:

    #导入数据处理相关模块,代码略

    df=df[ ]

    dfinsert( 0,"月份","")#插入列

    for i in df index:

        data=str(dfat[i,"采集时间"])

        dfat[i,”月份"]=data[5:7]

    gf=dfgroupby(" 月份",as_index=True).数值.mean()

    plt.plot(  , gf.values)

    #设置绘图参数,代码略

  • 13. 某医院的看病流程为:患者通过网上、自助设备或人工窗口成功挂号后,到门诊的签到处签到,签到成功后即可排队等待叫号就诊。简化的排队规则如下:

    ①当天08:00之前完成签到的患者,按照挂号顺序从小到大排队就诊;

    ②08:00之后签到的患者,按照挂号的序号从小到大的次序插入候诊队伍中;

    ③队伍中前3名患者(包括正在就诊患者)视为已进入待诊状态,插队的患者只能插到这3 名待诊患者后的队伍中。

    假设医生从08:00开始叫号就诊,对每位患者的诊断时间均为3分钟,忽略相邻患者就 诊的时间间隔。编写程序实现以下功能:若有患者签到,则根据规则更新候诊队伍;医生每 完成一名患者的诊断,电子屏幕上按顺序显示待诊的患者姓名和每个患者预计就诊的时间。

    (1)、若当前已签到患者信息如下表所示:

    姓名

    挂号序号

    签到时间

    A

    3

    07:47:03

    B

    1

    07:51:12

    C

    6

    07:55:32

    D

    4

    07:57:10

    E

    8

    07:59:52

    F

    2

    08:02:07

    则患者 F的预计就诊时间为  (格式如08:07:20)。

    (2)、08:00:00之前签到的患者原始数据存在列表1st  中,每位患者信息包括姓名、挂号序 号、签到时间,以下函数将列表中的数据按挂号序号从小到大排序,并构建候诊队伍。

    def init(lst):     #构建8点前签到的候诊队伍

        i=0;n=len(lst)

        while i<n-1:

            k=i;i=n-1

            for j in range(n-1,k,-1):

                if lst[i][1]<lst[j-1][1]:

                    lst[j],Ist[j-1]=Ist[j-1],Ist[j]

            ____▲____

        for i in range(n):

            lst[i][2]=180*i

            lst[i].append(i+1)

        lst[n-1][3]=-1

    #修改时间格式,每位患者诊断时间为3分钟

    #尾结点指针域处理,如[’E’,8,720,-1]

    程序划线处的代码是       (单选,填字母)

    A、i=i+1 B、i=j+1 C、i=k-1 D、i=j
    (3)、每当一位患者就诊结束,更新队伍并按就诊顺序输出待诊的患者姓名和每个患者预计就诊的时间。请补充程序划线处。

    def gs(t):#     时间格式转换,将时间戳127转成“08:02:07”形式

        t=t+8*60*60

        h=t//3600

        m=

        s=t%60

        time='%02d'%h+:'+'%02d%m+:+'%02d'%s

        return time

    def mov(lst,head):

        #更新队伍并输出,代码略

        return head

    (4)、若有患者签到,则更新候诊队伍。请补充程序划线处。

    def te(time):    #时间格式转换,将“08:02:07”转换成以秒为单位的时间戳127

        t=int(time[0:2])*60*60+int(time[3:5])*60+int(time[6:])

        t=t-8*60*60    #8 点开始叫号看诊

        return t

    def insnew(lst,head,data); #将新签到的患者插入候诊队伍中,并更新每个患者预计就诊的时间

        data[2]=tc(data[2])

        data.append(-1)

        p=head;q=p;k=0

        if head=-1:#       无人排队

            lst.append(data)

           

        else:

            while q!=-1 and():

                k=k+1

                p=q

                q=lst[q][3]

            data[2]=lst[p][2]+180

            data[3]=q

            lst.append(data)

            lst[p][3]=len(lst)-]

            p=len(lst)-1

            while q!=-1:

                lst[q][2]=1st[p][2]+180

                p=q

                q=lst[q][3]

        return head