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

浙江省宁波市金兰教育合作组织2022-2023学年高二下学期...

更新时间:2023-05-31 浏览次数:17 类型:期中考试
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、错选、多选均不得分)
  • 1. 关于数据、信息与知识,下列说法错误的是(   )
    A . 数据是信息的载体,单纯的数据没有意义 B . 信息经过人为的解读和经验充实可以转化成知识 C . 计算机只能处理数字化后的信息 D . 不同的人接受同样的信息后,所构建的知识是相同的
  • 2. (2022高二下·浙江月考) 下列研究领域中,不属于人工智能范畴的是(    )
    A . 机器学习 B . 专家系统 C . 编译原理 D . 人工神经网络
  • 3. 阅读以下材料,回答问题。

    宁波公共自行车是宁波市推出的公共自行车服务,用于解决公共交通中的“最后一公里”问题。 市民可通过具有租车功能的甬城通卡借还公共自行车。租车时,在公共自行车锁止器的刷卡区域刷 卡,听到“滴”声后,锁止器打开,市民就能轻松取车。

    另外还推出了宁波公共自行车app,市民通过该app加手机验证码就可以安全租赁公共自行车,免去办卡等辅助的手续,更好的保障个人信息安全,并且提供宁波公共自行车网点信息查询,以及相关资讯服务。

    1. (1) 关于宁波公共自行车系统,下列说法正确的是(   )
      A . 该系统是一个人机交互系统,是一个工作系统 B . 市民通过甬城通卡借还自行车时,无需通信网络的支持 C . 借还自行车的市民是该系统的用户,但网点维护人员不是 D . 租赁公共自行车的手机验证码是该系统的软件
    2. (2) 关于该系统中的数据,下列说法正确的是(   )
      A . 租赁公共自行车的数据保存在甬城通卡或者市民手机中 B . 甬城通卡是一种无源电子标签,刷卡时会向读卡器发送数据 C . 刷卡系统采用了RFID 技术,在数据采集过程中,没有使用传输介质 D . 该系统中的数据不含个人敏感信息,信息存储和传输时无需加密
    3. (3) 为了提升信息安全,下列做法正确的是(   )
      A . 用户可以安装从互联网上搜索到的任意一个“宁波公共自行车 app” B . 为了使通信更安全,应删除手机端的通信协议 C . 对安装的“宁波公共自行车 app”开启所有的应用权限 D . 宁波公共自行车系统应安装防火墙以阻挡外部攻击,保护内部资源的安全
  • 4. 某算法的流程图如图所示,执行该流程,输入x的值为整数26,则输出s的结果是(   )

    A . 11010 B . 10011 C . 01011 D . 11001
  • 5. Python 表达式 119%8*10+210//10 的计算结果是(   )
    A . 91 B . 59 C . 60 D . 19
  • 6. 已知字典 d={'名称': 'orange', '数量': 7, '售价': 6.7, '利润': 6.78} ,则下列 Python 表达式中值最大的是(   )
    A . len(d['名称']) B . d['数量'] C . round(d['利润'],1) D . int(d['售价'])
  • 7. 有如下 Python 程序段:

    s='HAPPY2023'

    s=s[3:]+s[1:3]

    print(s)

    则输出 s 的结果是(   )

    A . PY2023AP B . HAPY2023 C . PY2023HA D . HAPP2023
  • 8. 某加密程序如下,已知输入的明文是:2023-03-09,运行结束后,输出的密文为

    mingwen=input("请输入明文:")

    miwen=""

    for i in mingwen:

        if  "0"<=i<="9" :

            miwen += str((int(i)+3)%10)

        else:

            miwen += i

    print(miwen)(   )

    A . 5356-36-12 B . 5356-36-32 C . 2016-16-12 D . 53563632
  • 9. 某 Python 程序如下:

    def isprime(x) :

        for i in range(2,x) :

            if x % i == 0 :

                return False

            return True

        prime = []

        for m in range(2,19):

            if isprime(m) :

                prime.append(m)   #将 m 追加到列表 prime 中

    print(len(prime))

    程序运行后,输出的结果是(   )

    A . 5 B . 6 C . 7 D . 8
  • 10. 有如下 Python 程序段:

    s = input("请输入一串字符串:")

    f = True

    for i in range(len(s)//2) :

        if s[i] != s[len(s)-i-1] :

            f = False

        break

    print(f)

    若执行该程序后,输出的结果是“True”,则输入的字符串可能是(   )

    A . "onion" B . "hello" C . "278" D . "111"
二、非选择题(本大题共3小题,8+9+9,共26分)
  • 11. 小明模拟搭建了“室内烟雾实时监控系统”,实现如下功能:

    ⑴利用micro:bit结合烟雾传感器对室内烟雾浓度进行监测。

    ⑵通过串口采集传感器的数据变化,实时传输到Web服务器并保存到数据库中,以便后续进行分析。

    ⑶使用者可对监测系统进行相关的设置,限定室内烟雾浓度的临界值。一旦指标高于所限定的临界值,系统将自动发出警报并开启水泵浇水。

    系统通过智能终端每隔1分钟采集一次室内环境烟雾浓度数据。其架构示意图如图所示:

    智能终端的部分程序代码如下:

    #设置连接服务器参数并与智能终端建立无线连接,代码略

    while True:

        ①   = pin0.read_analog()

    errno,resp = Obloq.get("input?id=1&val="+str(fog),10000)

    if errno == 200:

    display.scroll(resp)

    if resp == '1':

    pin8.write_digital(1)     #打开蜂鸣器发出警报

    pin16.write_digital(1)    #打开继电器开启水泵浇水

    else:

    pin8.write_digital(0)     #关闭蜂鸣器

    pin16.write_digital(0)    #关闭继电器

    else:

    display.show (str(errno))

        ②    #设置数据采集间隔时间

    服务器端部分程序代码如下:

    from flask import Flask, request

    import sqlite3

    DATABASE ='tdata.db'

    app = Flask(__name__)

    @app.route("/")

    def index():

    #代码略

    @app.route("/input",methods=["GET"])

    def mytest():

    #获取传感器 id 值和环境烟雾浓度值并存储在数据库中

    #烟雾浓度超过最大值返回“1” ,否则返回“0”,代码略

    if __name__ == '__main__':

    app.run (host="192.168.1.8",port=8080,debug=True)

    1. (1) 根据室内烟雾实时监控系统的功能要求和相关代码,下列说法正确的是_____ (多选,填 字母)。
      A . 该系统采用B/S 开发模式 B . 蜂鸣器连接在pin8 引脚,烟雾传感器连接在 pin16 引脚 C . 该系统的数据存储在数据库文件“tdata.db”中 D . 为提高开发效率,无需进行网络测试
    2. (2) 请在程序划线处填入合适代码。

    3. (3) 若某时刻的烟雾浓度值是25,根据已知的地址和端口号,则传输数据时使用的URL是___ (单选,填字母)。
      A . //192.168.1.8/input?id=1&val=25 B . //192.168.1.8:8080/input?val=25 C . //192.168.1.8:8080/input?id=1&val=25 D . //192.168.1.8/input?val=25
    4. (4) 服务器端接收传感器数据的路由对应的视图函数名为
  • 12. 小王通过扫描仪获取到技术周考的学生信息技术单选题答题信息,记录了学生每个小题的答题选项,如图a所示:

    图 a

    为了统计分析出每一小题的答题情况,小王编写了Python 程序,请回答下列问题:

    1. (1) 分析学生每个小题的 A,B,C,D 选项的占比,代码如下:

      import pandas as pd                                                   第 1 小题

      import matplotlib.pyplot as plt                                       A: 2.22 %

      plt.rcParams[("font.sans-serif")]= ["KaiTi"]                          B: 6.67 %

      df=pd.read_excel ("ITdata.xlsx")                                       C: 80.0 %

      stunum=len(df)                                                         D: 8.89 %

      for i in range(1,13):                                                 第 2 小题

      print("第"+str(i)+"小题")                                         A: 0.0 %

      for k in "ABCD" :                                                  B: 80.0 %

      t

      =        

      print(k+":",round(len(t)/stunum*100,2),"%")

      该程序段运行结果的部分界面如图b 所示。

      图 b

      画线处填入的代码为          (单选,填字母)

      A . df["单选"+str(i)]==k B . df[df["单选"+str(i)]==k] C . df[["单选"+str(i)]==k] D . df[df["单选"+str(i)]]==k
    2. (2) 计算出全班学生的各小题得分并统计各小题平均分,绘制出线形图(如图c所示),部分Python程序如下,请在划线处填入合适的代码。

      图 c

      sans="CBCABCABDABD"

      qnum=list(df.columns)

      for i in df.index :

      =

      #本次单选题的标准答案

      for j in range(2,14):

      if df.at[i,qnum[j]]== :

      r=2 else:

      r=0

      #回答正确得 2 分

      #回答不正确得 0 分

      df.at [i,qnum[j]]=r

      aver= []

      for j in qnum[2:]:    #统计各单选题的平均分

      aver.append( )

      plt. (qnum[2:],aver,label="平均分")

      plt.legend()

      plt.show ()

    3. (3) 由图b 可知,12 道选择题中难度最低的是“单选”。
  • 13. 小强学习过大数据的“分治”思想后,对经“分治”处理后的数据合并产生了兴趣。他设计了一个算法,对两个升序列表a、b中的数据(均为正整数)进行合并,合并后的数据仍保持升序。
    1. (1) 为了生成长度为num 的升序列表x,小强写了如下代码。

      import random

      def mk(num) :

      x= [0]*num  #创建列表 x= [0,0,……,0],其中 0 的个数是 num

      x[0]=random.randint(5,10)  #randint(a,b)返回[a,b]区间内的一个随机整数

      for i in range(1,num) :

      return x

      m=n=5

      a=mk(m)

      b=mk(n)

      print("原始数据序列 a 为:",a)

      print("原始数据序列 b 为:",b)

      ①使用语句 a= mk(5)调用函数,加框处语句的执行次数是 (填写阿拉伯数字) 。

      ②执行上述代码后,关于输出的列表a、b 中的数据,下列说法正确的是 (单选,填字母: A .相同 / B .不相同 / C .可能相同)

    2. (2) 为了描述方便,假设两个列表中的元素个数m=n=5,其初始状态如下:

      b[0]

      b[1]

      b[2]

      b[3]

      b[4]

      10

      11

      15

      16

      17

      为了使合并后的数据保存在列表a 中,现对列表 a 扩充 n 个元素“-1”,扩充后状态如下:

      a[0]

      a[1]

      a[2]

      a[3]

      a[4]

      a[5]

      a[6]

      a[7]

      a[8]

      a[9]

      7

      9

      10

      14

      19

      -1

      -1

      -1

      -1

      -1

      变量i赋值为0,指向列表b的首数据,变量p赋值为0,指向列表a的首数据,变量tot指向列表a的最后一个有效数据(如图所示) 。

      合并的具体算法如下:

      Ⅰ.如果 a [p]= – 1 ,则直接将 b[i]存储到 a [p]中,同时 tot 值增加 1;

      Ⅱ.如果 a [p]>b[i] ,则整体将 a [p] ,… ,a [tot]向右移动一个位置,然后将 b[i]存储到空出的位置, 同时 tot 值增加 1。

      Ⅲ. p 值增加 1;

      小强编写的合并代码如下,请在划线处填入合适代码。

      #将列表a 的数据个数存入m,列表b 的数据个数存入 n,代码略

      #对列表 a 扩充 n 个-1,代码略

      p=0

      tot=

      i=0

      while  :           #将列表b 中元素 b[i]逐个插入到列表 a 中

      if a[p]==-1 :

      a[p]=b[i]

      tot+=1

      i+=1

      elif a[p]>b[i] :

      for j in range(tot,p-1,-1): #整体将 a[p], … ,a[tot]向右移动一个位置

      a[j+1]=a[j]

      tot+=1

      i+=1

      p+=1

      print("合并后的数据序列为:",a)

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

试卷信息