当前位置: 高中信息技术 /高考专区
试卷结构: 课后作业 日常测验 标准考试
| 显示答案解析 | 全部加入试题篮 | 平行组卷 试卷细目表 发布测评 在线自测 试卷分析 收藏试卷 试卷分享
下载试卷 下载答题卡

浙江省杭州市2023届高三上学期信息技术11月份教学质量检测...

更新时间:2023-02-27 浏览次数:29 类型:高考模拟
一、选择题(本大题共12 小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分。)
  • 1. 下列关于数据与大数据的说法,正确的是(    )
    A . 自然界中的数据是指以十进制记数法表示的数字 B . 搜索引擎数据库中存储的某条数据即是大数据 C . 电子计算机中的数据以二进制形式存储 D . 大数据要分析的是抽样数据
  • 2. 下列关于进制与信息编码的说法,不正确的是(    )
    A . 十六进制数10转换为二进制数是10000 B . 16色位图的每个像素至少用8位二进制数进行编码 C . 模拟声音数字化需经过采样、量化与编码 D . 生成个人健康码是一个编码的过程
  • 3. 用Python语句描述城市主干道中机动车平均行驶速度“不低于30为畅通,小于20为堵塞,其余为拥挤”,设v为机动车平均行驶速度(单位:km/h) ,则下列选项正确的是(    )
    A . B . C . D .
  • 4. 下列关于人工智能的说法,正确的是(    )
    A . 视频聊天是常见的人工智能技术应用 B . 深度学习是数据驱动的人工智能方法之一 C . 符号主义是问题引导下的试错学习的典型代表 D . 人工智能技术推动社会进步,不可能威胁人类安全
  • 5. 阅读下列材料,回答问题。

    校园一卡通系统,采用RFID技术采集校园卡的信息,实现用餐管理、图书借阅等功能,系统部分框架图如下。

    1. (1) 下列关于该校园一卡通系统描述正确的是(    )
      A . 该系统的用户仅是使用校园卡的学生 B . 该系统只需存储持卡学生的个人信息 C . 实现该系统各项功能的软件属于系统软件 D . 防火墙用于保护该系统免受外部入侵
    2. (2) 基于RFID技术采集数据的过程主要包括以下步骤:①读写器向校园卡发送射频信号;②读写器采集校园卡的数据并解码;③读写器将相关数据传输到服务器;④校园卡向读写器发送编码信息。上述步骤顺序正确的是(    )
      A . ①②③④ B . ①④②③ C . ④①③② D . ④②①③
  • 6. 某创客小组模拟设计了货物装箱控制系统。使用智能终端连接传感器,检测装满一箱后传感器反馈值为1,否则值为0,当装完n箱时,则关闭输送带。实现上述功能的Python程序代码如下:

    n=100; sumn=0   #①处

    pin14. write_digital(1)     #打开输送带控制开关

    while True:

        d=pin2. read_ digital ( )   #返回装箱状态

        if d==1:   #②处

            sumn=sumn+1

        if sumn= =n:

            pin14. write_ digital (0)   #关闭输送带控制开关

            break

        sleep (1000)    #等待1秒

    下列关于上述代码及系统功能描述不正确的是(    )

    A . 智能终端pin14引脚连接了执行器 B . 智能终端pin2引脚连接了传感器 C . 若将程序②处代码中的d==1修改为d!=0,则该系统的功能发生变化 D . 若将程序①处代码中的n=100修改为n=200,则输送带连续运行的时间会变长
  • 7. 在信息传递的过程中,通常会将一些敏感信 息进行加密,以下是实现加密功能的Python程序段

    s=input("明文: ")

    p="" ; key=2

     for ch in s:

        if "0"<=ch and ch<="9":

            p+=str((int (ch) +key) %10)

        else:

            p=ch+p

    print("密文:", p)

    若输入明文为“ym587”,则输出密文为(    )

    A . ym785 B . ym709 C . my709 D . my907
  • 8. 下列关于数据结构与算法效率的描述,不正确的是(    )
    A . 队列和栈都是一种线性表,但两者有不相同的特性 B . 采用相同公式求解n!,使用迭代算法比递归算法的算法效率高 C . 使用数组结构在进行数据插入和删除操作时,一定会引起数据移动 D . 某单向链表(节点数>2)设有头尾指针,在删除该链表尾节点时需要遍历多个节点
  • 9. 用二叉树构造某表达式树,其前序遍历结果为*/a+bc*+ -defg,中序遍历结果为a/b+c*d-e+f*g,则该表达式树的后序遍历结果为(    )
    A . abc+/de- f+g** B . ab/cd*+e-fg+* C . abcd*+/e- +fg* D . abcd*+e-/fg+*
  • 10. 将有序数组nums中的重复项删除,编写的Python程序段如下:

    n=len (nums);i=1

    while i<n:

        if nums[i]!=nums[i-1]:

           

            k+=l1

        i+=1

    nums=nums [:k]

    上述程序段中方框处可选代码为:①k=0 ②k=1③nrums[k]=nums[i] ④nums [i-1]=nums[i]

    则(1)、(2)处代码依次为(    )

    A . ①③ B . ①④ C . ②③ D . ②④
  • 11. 有如下Python程序:

    import random

    s1="AsiaGames"; s2=[]; s3=""

    n=len(s1); i=0

    while i<n:

        if random. randint (0, 1)==0:

            if len(s2)==0 or s1[i]>s2[-1]:

                 s2. append(s1[i])

            i+=1

        else:

            if len(s2) >0:

                 s3+=s2. pop(-1)

    while len(s2)>0:

        s3+=s2. pop(-1)

    print (s3)

    执行该程序,则输出结果不可能是(    )

    A . saAsm B . sAise C . sAiaGmsea D . AsiaGames
二、非选择题(本大题共3题,9+9+8,共26分)
  • 12. 年级举行趣味运动会,每班派出10名运动员参加三个项目的比拼。每个项目前六名可以得分,第一名6分,第二名5分……依次类推,第六名1分。若出现成绩相同时,用对应得分之和除以同分个数后,将所得均分分给同分者。例如第一名和第二名同分,则前两名的得分均为5.5分(即(6+5)/2)。

    现有趣味运动会原始成绩表如图a所示,其中每个项目参赛人数均不少于10人,编写Python程序计算每个项目的前六名得分及各班总分,并以柱形图呈现各班总分情况,如图b所示。

    matplotib模块绘图barh)函数及其参数如下表所示:

    函数名及用法

    功能

    barh(y轴数据序列,x轴数据序列,其它参数缺省)

    绘制水平柱形图

    1. (1) 实现上述功能的Python程序如下,请在划线处填入合适的代码。

      def score(fslist):

          jf=[0]*len(fslist)

          i=1; c=6; same=1; st=0

            ①  

          while i<len(fslist):

              if fslist[i]!=fslist[i-1]:

                  for j in range(  ②  ):

                       jf[j]=round (sumfs/ same, 2)

                  st=i ; same=1 ; sumfs=0

              else:

                  same+=1

              if c>0:

                  c-=1

              sumf s=sumfs+c

              if   ③  :

                  break

              i+=1

          if st==0:    #处理全体同分的情况

             jf=[round (21/len(fslist), 2)]*1en(fslist)

          return jf

      import pandas as pd

      import matplotlib. pyplot as plt

      plt. rcParams[" font. sans-serif"]=[" KaiTi", "SimHei", "FangSong"]   #设置中文字体

      df=pd, read_ excel("dbw. xlsx")

      item=["赶猪","投篮","跳绳"]

      #创建仅有列标题的DataFrame对象df1

      df1=pd. DataFrame (columns=["项目","班级","姓名","成绩","得分"])

      for i in range(3) :

          dfi tem=  ▲        #筛选出同一项目的所有记录

          dfitem=dfitem. sort_ _values ("成绩", ascending=False)

          lst=list (dfitem ["成绩"])    #把“成绩”列数据转为列表存储

          dfitem["得分"]=score(lst)     #计算得分

          df1=pd. concat ([df1, dfitem])    #合并赋分后的项目记录

      dfbj=df1. groupby ("班级", as_ index=False)    #按班级分类,保持原索引

      dfzf=dfbj["得分"]. sum( )   #计算各班级总分

      plt. barh(  ④  )    #绘制如图b所示柱形图

      plt. ylabel("班级")    #y轴标签为“班级”

      plt. title("‘趣味运动会’各班总分对比")

      plt. show( )

    2. (2) 请在  ▲  处选填如下代码(   )(单选,填字母)
      A . df[df.项目==i] B . df[df.项目=="赶猪"] C . df[df.项目==item[i]] D . df[df.项目==item[i+1]]
  • 13. 小吴编写基于Flask Web框架的蔬菜温室智能灌溉控制系统。系统框架如图a所示。该信息系统实现:

    ①蔬菜温室A中共安装5个采集点,使用智能终端与传感器采集温度、湿度和灌溉阀门每天浇水量等数据,并将数据上传至服务器;

    ②服务器接收数据后,将数据存储在与程序同文件夹的数据库文件中;

    ③服务器每次存储数据后,读取数据库中最近上传的100条数据记录,计算平均湿度,若平均湿度小于50,且温室中5个阀门总共浇水量未超过当天需浇水总量L,则发送浇灌指令。

    1. (1) 数据库设计。

      该系统数据存储在data. db数据库文件,名为m_ tb的数据表中,表中有五个字段id、tim、deg、tem和wat,如图b所示。最近6条记录数据如图c所示,其中第1条记录中“A5”表示温室A的5号采集点,“36”为本次采集的湿度值,“490”为本采集点阀门当前累计的浇水量(阀门每天凌晨重置为0)。

      结合图c数据记录,当截止到2022 -9-1013:06:00 时,温室A总浇水量(填数字) (提示:温室总浇水量=最近所有阀门浇水量之和)。

    2. (2) 数据采集与传输。

      ①系统的采集点使用智能终端连接传感器采集数据,并采用无线技术接入网络,并以GET形式提交数据,则该传输过程中使用的网络协议主要有(多选,填字母:A .TCP/IP协议/ B .FTP 协议/C .HTTP协议/D .Telnet协议)。

      ②若id为Al的采集点某次采集如下数据:湿度值为45,阀门浇水量为500,需用URL格式为:ttp://10.1.0.8:88/s?d=45&w=50O&id=A1将采集数据上传到服务器。为实现上述功能,小吴在智能终端编写的Python程序段如下。

      #导入相关的模块库与无线连接设置,代码略

      IP="10.1.0. 8"; PORT="88"

      0bloq. httpConfig(IP, PORT)

      while True:

          d=pin0. read_ _analog()    #读取湿度值

          w=pinl. read_ analog()     #读取浇水量

          s_ get=  ▲ 

          errno, resp=0bloq. get (s_ get, 10000)

          if errno == 200:    #errno的值为200表示数据传输成功

             if resp==' open':

                 pin8. write_ _digital(1)   #打开浇水的阀门

              else:

                 pin8. write_ _digital (0)   #关闭浇水的阀门

      sleep (1000*60)

      请在  ▲  处选填如下代码,能实现传输数据功能的代码是(单选,填字母)

      A .s?d=45&w=500&id=A1

      B .”s?d=d&w =w&id=A1 '

      C .”s?d=str (d) &w=str (w) &id=A1"

      D . "s?d="+str (d)+" &w="+str (w)+ " &id=A1"

    3. (3) 数据处理。

      服务器每次接收到上传的数据后,立刻读取数据库中该温室最近100条的当天数据记录,计算平均湿度,若平均湿度小于50,且5个阀门总出水量未超过当天需浇水总量L,则发送浇灌指令。服务器实现上述功能的部分Python程序如下,请在划线处填入合适的代码。

      #导入相关的模块库,代码略

      app=Flask(_ name_ )

      db=sqli te3. connect("”)

      L=3000   #变量L存储温室当天需浇水总量

      @app. route("/s")

      def index ():

          s_ id=request. args. get("id")   #获取监测点编号

          s_ d=int (request. args. get("d"))   #获取湿度值

          s_ w=int (request. args. get("w"))   #获取当前出水量

          s_ t=str (datetime. now())[:10]   #获取当天日期

      #存储本次采集的各数据至data. db,代码略

      cur=db. cursor ()

      cur. execute("SELECT * FROM m_tb where tim like '"+s_ .t+"%'")    #执行数据库命令

      rec=cur. fetchall()#从数据库中读取当天的数据记录

      cur. close () ;db. close()

      deg=0;wat=[0]*6;i=0

      for arr in rec[::-1]:

          deg=deg+arr[2]

          w=  ②  

          if wat[w]==0:

              wat[w]=arr[4]

          i=i+1

          if i==100:

              break

      deg=deg/i;sum_ w=0

      for i in range(1, 6):

          sum_ w=sum_ w+wat[i]

      if   ③  

          return" open'

      else:

          return"close"

      app. run(host="10.1. 0.8", port=88)

  • 14. 某校对高一新生按分班考试总分进行平行分班,具体分班规则如下:将高一年级学生按女生在前、男生在后分别按总分进行降序排序,然后按名次序号进行蛇形分班,例如分成6个班的分班示意如图a所示。

    实现上述功能的Python程序如下,程序运行结果如图b所示。回答下列问题:

    #从文件15. csv中读取学生分班数据(已按考号升序排序),保存在列表d中

    #其中d[0]数据为['考号','姓名','性别','总分'],变量w存储女生人数,代码略

    n=len (d) ; bj=[0]*n

    for i in range (n):

        b j[i]=i

    for i in range(1, n+1):

        for j in :   #①

            if d[bj[j]][2]==d[bj[j+1]][2] and int (d[bj[j]][3])<int (d[bj[j+1]][3]):

                bj[j], bj[j+1]=bj[j+1], bj[j]

               #②

                bj[j], bj[j+1]=bj[j+1], bj[j]

    cla=0;k=1

    for i in range(1, n) :

        cla+=k

        if   ③  

            cla=12;k=- 1

        elif cla>12:

            cla=12;k=-1

        elif cla<1:

            cla=1; k=1

        d[bj[i]]. append (cla)

    for i in range(n) :

        print (d[bj[i]])

    no=input ("请输入查找的学生考号:(输入End结束) ")

    while no!="End":

        i=1; j=n-1

        while i<=j:

            m=(i+j)//2

            if d[m] [0]==no:

                print("学号: "+no+" "+d[m] [1]+"同学在"+str(d[m] [4])+"班")

               break

            elif   ④  

                i=m+1

            else:

                j=m-1

    if i>j:

        print ("没有找到该同学)

    no=input ("请输入查找的学生考号: (输入End结束) ")

    1. (1) 女生名次序号为100的同学按上述规则分班到班(共12个班)。
    2. (2) 程序中加框处①代码(填:能/不能)替换为range(n-i-1,0, -1)。
    3. (3) 程序中加框处②代码有错误,请改正。
    4. (4) 在划线处③④填入正确的代码。

微信扫码预览、分享更方便

试卷信息