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

浙江省嘉兴市2023年9月高三信息技术模拟检测卷

更新时间:2023-10-31 浏览次数:59 类型:高考模拟
一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个选项中,只有一个符合题目的要求,不选、多选、错选均不得分)
  • 1. (2023·嘉兴模拟) 下列关于数据、信息和知识的说法,正确的是(   )
    A . 数据即数字 B . 人类在搜索引擎的帮助下就可以拥有海量的知识 C . 人们在利用数据的同时, 自身的行为不会产生数据 D . 人们接收同样的信息后,建构的知识也是有区别的
  • 2. (2023·嘉兴模拟) 考生入场时,经安检门时对手机等电子设备进行检查并截留,监考教师用金属探测仪对学生再次进行检 查,身份识别仪采集身份证与人脸信息进行验证,无误后方可入场考试。上述描述中,体现人工智能技术的是(   )
    A . 识别仪对考生进行人脸识别 B . 监考教师用金属探测仪进行检查 C . 安检门处对手机等电子设备的检测和截留 D . 身份识别仪读卡处读取身份证信息
  • 3. (2023·嘉兴模拟) 阅读下列材料,回答问题。

    智慧家居报警系统由报警主机和各种探测器组成。探测器包括门磁、窗磁、煤气探测器、烟感探测器、红外探头等。若有特定情况便会触发相应的探测器,家庭报警主机会立即触发警铃,并将相关数据传送至小区管理中心,同时小区管理中心的报警主机将会记录下这些信息,并发送到用户指定的电话,以备查阅。

    1. (1) 下列关于该系统的组成及应用说法正确的是(   )
      A . 该系统运行不需要软件支持 B . 该系统的用户是指各家庭成员 C . 该系统可以不借助通信网络独立运行 D . 该系统具备数据采集、处理和查询等功能
    2. (2) 下列关于该系统安全和防护说法正确的是(   )
      A . 登录系统时的身份验证可提升系统安全性 B . 该系统只是在有人非法入侵时会发出警报 C . 该系统安装防火墙后,不存在信息泄露风险 D . 用户登录认证最适合采用 USB Key 认证技术
    3. (3) 关于该系统的硬件作用,下列说法不正确的是(   )
      A . 红外探头主要是防止非法入侵 B . 烟感探测器采用了人工智能技术 C . 该系统中家庭报警主机承担控制器的功能 D . 煤气探测器安装在厨房,可以通过无线网络进行通信
  • 4. (2023·嘉兴模拟) 下列关于网络组成与构建的说法中,正确的是(   )
    A . 智能家居设备一般通过有线方式联网 B . 常见的网络互联设备主要包括调制解调器、路由器和交换机等 C . 不同网络之间一般采用 HTTP 协议互联 D . 计算机网络分为局域网、广域网与广播电视网
  • 5. (2023·嘉兴模拟) 某算法的流程图如所示,关于该算法下列说法正确的是(   )
    A . 执行这部分流程后,变量 i 的值为 7 B . k 的值为 1*2*3*4*5*6*7 的结果 C . 该流程图是双重循环结构 D . 将“i≤x/2 ”改成“i<x" ,输出 k 的值不会变化
  • 6. (2023·嘉兴模拟) 下列 Python 表达式运算结果为 True 的是(   )
    A . 3**2<8 and 2%5>1 B . 25//4>4 and 3/2<1 C . not 7<8 or 9>6+2 D . not(2**3<9 or 6%4<2)
  • 7. (2023·嘉兴模拟) 有如下 Python 程序段:

    s = "A-b2c " ; ch = ""

    list=[4 , 3 , 1 , 5 ,2]

    for i in range(1en( s)):

        if "A " <= s [i] <= "Z " :

            ch = ch + chr (ord(s [i]) + list[i])

        elif "a " <= s [i] <= "z " :

            ch = ch + chr (ord(s [i]) - list[i])

        else:

            ch= s [i]+ch

    print(ch)

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

    A . 2-Eaa B . 2-ECE C .  E-c2e D .  E-a2b 
  • 8. (2023·嘉兴模拟) 下面有关数据结构的说法不正确的是(   )
    A . 在程序设计中,数据结构设计时主要考虑对象之间逻辑关系的实现 B . 链表结构适用于初始规模确定但在处理过程中频繁进行插入、删除操作的数据 C . 数组结构中采用下标访问数据,访问效率要高于链表结构 D . 大多数软件中都有“撤销 ”功能,实现此功能应采用队列结构
  • 9. (2023·嘉兴模拟) 长度为5的循环队列que,que[0]至que[4]的值依次为'a' ,'b' ,'c' ,'d','e',执行如下程序段后,输出的最后一个字符为(   )

    n= 5

    head=0

    tail=4

    que=['a' , 'b' ,'c' ,'d' ,'e' ]

    while head!=tail:

        if head%4==0:

            print (que[head])

        else:

            tail=(tail+1)%n

            que[tail]=que[head]

        head= (head+1)%n

    print (que[head])

    A . b B . c C . d D . e
  • 10. (2023·嘉兴模拟) 待入栈的序列 a 有多种出栈序列, 以下函数用于判断序列 b 是否是 a 的出栈序列,代码如下:

    def judge(a, b):

        n=len(a) ;st=[- 1]*n

        top-= 1; i=j=0

        while i<n:

            top+= 1

               ①    

            i+= 1

            while top> - 1 and      ②     :  

                top-= 1

                j+= 1

            return top==- 1

    from random import shuffle

    a=[1,2,3,4, 5]

    b=[1,2, 3, 4, 5]

    shuffle (b)                  #将序列 b 的元素随机排序

    if judge(a, b):

        print (b,'是' ,a,' 的出栈序列')

    else:

        print (b,'不是' ,a,' 的出栈序列')

    程序运行结果如图所示。划线处应填写的语句是(   )

    A . ①st[top]=a[i]               ②st [top]==b[j] B . ①st[top]=a[i]                ②st[- 1]==b[j] C . ①st [top]=b[i]              ②st[top]=a[j] D . ①st[top]=b[i]              ②st[- 1]= =a[j]
二、非选择题(本大题共3小题,8+9+9,共26分)
  • 11. (2023·嘉兴模拟) 小李设计了一个会员管理系统,用户通过浏览器在相应页面可进行会员注册、在线充值、线上查询消费记录等操作。该系统服务器端程序采用FlaskWeb框架编写,框架结构如图a所示。

    其中会员注册子页面如图b所示。存储会员信息的users表中共3个字段,依次保存序号、用户名和密码,如图c所示。会员注册时需满足以下条件:①用户名不重复;②密码长度大于5。服务器端部分代码如下。

    from flask import Flask , render_template , request

    import sqlite3

    def check(name ,pwd):

        conn= sqlite3 .connect( " account .db ")

        cur=conn .cursor()

        cur . execute( " select * from users where name= ’%s ’"%name)

        val=cur .fetchall()

        flag=True

        if len(val)==0 and            :

            sql= "insert into users(name , password) values(' %s' , '%s ') "%(name , pwd)

            cur .execute(sql)

            conn .commit()

        else:

            flag=False

        cur .close()

        conn .close()

        return flag

    app=Flask(name_)

    @app .route( "/reg ")

    def reg() :

        name=request . args .get( "xm ")

        pwd=request .args .get( "psd ")

        if                         :

            return "注册成功! "

        else:

            return "请重新注册! "

    #其它代码略

    if _name_== "_main_ " :

    app .run (host= " 192 . 168 . 1 . 10 " , port= 80 , debug=True)

    1. (1) 在搭建“会员管理系统 ”的前期准备过程中,选定系统物理配置的过程属于(单选,填字母: A .需求分析 /    B .概要设计 / C .详细设计)。
    2. (2) 该系统网络应用软件的实现架构是 (单选,填字母:A .B/S 架构 /    B .C/S 架构)。
    3. (3) 分析程序可知,该系统中存储会员用户名和密码数据的数据库文件名为
    4. (4) 分析程序,①处应填写的代码为  ,②处应填写的代码为
    5. (5) 下列关于该信息系统的描述正确的是       (多选,填字母)。
      A . 服务器采用 GET 方式接收用户名和密码数据 B . 程序代码中 debug=True 语句的作用是打开调试功能,在实际的网站应用环境中,也可以打开该 功能,方便调试程序。 C . 注册新会员时,用户名为 admin03 ,密码为 123abc ,提交数据到 Web 服务器的 URL 为 //192.168.1.10/check?xm=admin03&psd=123abc D . 对 users 表中的密码进行加密,可以提高该信息系统的安全性
  • 12. (2023·嘉兴模拟) 某地高中的技术选考数据,保存在“jsxk.xls”文件中,如图a所示。

    图 a

    图 b

    请回答下列问题:

    1. (1) 统计各学校技术选考人数占本校总人数的比例,找出占比最高的前 5 所学校并绘制柱形图,如图 b 所示。部分 Python程序如下,请在划线处填写合适的代码。

      import pandas as pd

      import matplotlib.pyplot as plt

      #图表支持中文字体显示,代码略

      df= pd.read_excel("jsxk.xls",dtype={'学校代码':'string'})           #学校代码列为字符串

      df1 = df.groupby("  ", as_index=False).count()        #按学校统计人数

      df1 = df1.rename(columns={'姓名':'学生总数'})#重命名列

      df1['技术比例'] = round(/df1['学生总数']* 100,2)

      df1 = df1.sort_values('技术比例',ascending=False).head(5)

      plt.title('技术选考比例前 5 的学校')

      plt.bar( )

      plt.show()

    2. (2) 在本问题的解决中,为了探究函数 groupby() ,某同学编写了自定义函数zdygroupby() ,其功能为统 计各校技术选考总人数,并以字典的形式返回。函数代码如下,请在划线处填写合适的代码。(注:代码中 lst 为二维列表,列表中每个元素包含3个数据项,格式如[['201901','顾筱扬',NaN],['201901','  俞凯睿', 1.0],['201901',' 陈丹祺', 1.0] … …])

      def zdygroupby(1st):

          dic = {}

          for row in lst:

              if row[2] == 1:

                  if  :

                      dic[row[0]]=1

                  else:

                      dic[row[0]]+= 1

         

  • 13. (2023·嘉兴模拟) 最短路径问题。以 m*n 个边长为 1 的正方形组成的矩形,各顶点按行优先从 0 开始编号,如图 a 所示为 3*2 的矩形及顶点编号。从顶点 x(起点)经由各正方形的边移动到顶点 y(终点)有多种移动 路径,编程求解所有的最短路径。

    图 a

    图 b

    1. (1) 分析问题,将矩形转换为计算机可处理的数据。可采用列表存储矩形中各顶点的相邻关系,如图 b所示。

      编写函数init,根据横向和纵向的正方形数量,返回所有顶点及其所有的相邻顶点数据。完善程序,在划线处填入合适的代码。

      def init(m,n):

          tot=(m+1)*(n+1)    #顶点总数

          lst=[[] for i in range(tot)]

          for i in range(tot):

              if i>m:

                  lst[i].append(i-m- 1)

              if i<(m+1)*n:

                  lst[i].append(i+m+1)

              if i%(m+1) != 0:

                  lst[i].append(i- 1)

              if i%(m+1) != m:

                 

          return lst

    2. (2) 分析问题,查找所有从起点到终点的最短路径。例如:查找从起点1到终点10的所有最短路径,可先查找终点10的所有相邻顶点(6,9,11),然后再逐个查找顶点6、9、11的相邻顶点,直到查找到起点1,获得所有最短路径,如图c所示,共有3条长度为3的最短路径,分别为1→2→6→10,1→5→6→10,1→5→9→10。若从起点4到终点11,共有 (填数字)条最短路径。

      图 c

    3. (3) 分析问题,存储查询到的路径。可采用链表结构保存路径数据,例如:查找从起点1到终点10的所有最短路径,首先将终点10的数据[10,0,-1]保存在path[0]中,然后将其相邻顶点6、9、11的数据保存到path中,path[i][0]保存顶点的编号,path[i][1]保存当前顶点到终点的距离,path[i][2]保存下一顶点在path中的位置,其值为-1表示当前顶点为终点。

      编写函数print_path,输出所有的最短路径。完善程序,在划线处填入合适的代码。

      def print_path(x,path,length):    #为起点编号,length为Path中有效元素个数。

          cnt=0

          for i in range(length):

              if path[i][0] == x:

                  cnt+= 1

              s="最短路径"+str(cnt)+":"

              v=path[i]

              while  :

                  s=s+str(v[0])+","

                  v=path[v[2]]

              s=s+str(v[0])+" 。"

              print(s)

    4. (4) 实现上述功能的 Python程序如下,运行结果如图 d 所示。请在划线处填入合适的代码。

      m=3           #横向正方形数量

      n=2              #纵向正方形数量

      mtx=init(m,n)

      x=int(input("请输入起点:"))

      y=int(input("请输入终点:"))

      path=[[] for i in range(30)]

      passed=[False]*len(mtx)    #保存顶点是否已途经

      dis=0

      head=0

      tail=0

      path[tail]=[y,0,- 1]

      tail+= 1

      passed[y]=True

      while not found:

          dis+= 1

          pass_dis=[False]*len(mtx)

          tmp=tail

          for i in range(head,tail):

              v=path[i]

              for d in mtx[v[0]]:

                  if not passed[d]:

                      path[tail]=

                      tail+= 1

                      pass_dis[d]=True

                  if d == x:

                      found=True

              head=tmp

          for i in range(len(mtx)):    #标记已途经的顶点

              if  :

                  passed[i]=True

      #输出结果

      print_path(x,path,tail)

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

试卷信息