浙江省嘉兴市平湖市2023年3月普通高中信息技术选考科目模拟测试统考卷

试卷更新日期:2023-03-23 类型:高考模拟

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

  • 1. 阅读材料,完成问题。又到一年催缴物业费之际,某小区物业利用手机 app 软件,向业主发起催缴物业费的通知,业主可通过点击“账单缴费”栏目查看需要缴纳的物业费金额,足不出户,完成缴费工作。

    (1)、下列关于数据、信息的说法正确的是(   )
    A、业主收到物业发送的催缴物业费通知,主要体现了信息的可加工处理性 B、图 2 中的“4746.72”是数字,所以它是数据不是信息 C、在该系统的使用过程中,业主仅是数据使用者,不会产生数据。 D、数据表现形式可以是文字、图片、声音等
    (2)、下列关于该信息系统的说法正确的是(   )
    A、该信息系统仅具备收缴物业费功能 B、该信息系统的用户仅包括物业人员和业主 C、业主缴纳物业费的记录存储在业主的手机中 D、该信息系统的开发模式为 C/S 模式
  • 2. 下列关于人工智能的说法,正确的是(   )
    A、AlphaGo 从围棋跨界到电力控制领域,属于混合增强智能 B、人类的所有语义可以用符号精确描述,从而被机器仿真 C、“深度学习”是一种问题引导下的人工智能学习方法 D、“强化学习”是一种根据反馈结果不断调整相应学习方法的学习机制
  • 3. 阅读材料,完成问题。12306是中国铁路客户服务中心网站,于2010年春运首日开通并进行了试运行。2013年12月,12306手机客户端正式开放下载。用户在该网站可查询列车时刻、票价、余票、代售点、正晚点等信息,并随时随地在手机上购买车票、完成支付,在自助设备上还能完成自助取票等流程。该信息系统定期维护,自运行以来,根据技术的发展和用户反馈,又推出了候补购票、选座等功能。
    (1)、下列有关搭建该信息系统前期准备的说法,不正确的是(   )
    A、推出候补购票、选座等功能属于可扩展性需求分析 B、可行性分析主要从技术、经济、社会意义等方面分析系统的可行性 C、概要设计主要解决系统核心问题——“做什么” D、“数据库管理系统选择”属于概要设计阶段,“数据库设计”属于详细设计阶段
    (2)、为提高该信息系统的安全性,下列措施中不合理的是(   )
    A、定期备份服务器中数据 B、信息系统运行期间不需要维护与升级 C、及时升级服务器端杀毒软件 D、登录该 APP 时可采用人脸识别的身份认证技术
    (3)、下列有关该信息系统的组成、功能、优势的说法,正确的是(   )
    A、手机是个人物品,因此不属于该信息系统中的组成部分 B、需要提供身份证号才能购票,因此身份证号属于该信息系统中的用户 C、可以了解列车时刻、票价、余票等信息,主要体现了该信息系统的数据传输功能 D、人们随时随地可以购买车票,体现了信息系统跨越时空限制,服务随时随处的优势
  • 4. 下列 python 表达式的值为 True 的是(   )
    A、"3">"12" and "apple">"app" B、"school"[:2]=="sch" C、"sd" in "student" D、round(-4.6)==int(-4.4)
  • 5. 某二叉树的前序遍历和后序遍历正好相反,则该二叉树一定是(   )
    A、空或只有一个节点 B、高度等于其节点数 C、任一节点无左孩子 D、任一节点无右孩子
  • 6. 用一个带盖的玻璃筒来放取乒乓球,放、取只能在带盖的一端进行(另一端为封闭状态),且筒的直径只允许一个乒乓球进出。若放入球的编号序列为 1、2、3、4,则取出球的编号序列不可能的是(   )
    A、1、2、3、4 B、2、3、4、1 C、4、2、3、1 D、3、2、1、4
  • 7. 下述代码段用于实现在数组a中将新数据k插入到下标为j(0<=j<=8)的位置

    a=[8,6,12,3,5,7,11,2,10,0]

    i=8

    while i>=j:

           ⑴  

           ⑵  

       ⑶  

    划线处的代码由以下五部分中的三部分组成:

    ①a[i+1]=k

    ②a[i]=k

    ③a[i+1]=a[i]

    ④a[i]=a[i-1]

    ⑤i=i-1

    下列选项中代码选择且顺序正确的是(   )

    A、③⑤① B、③⑤② C、④⑤② D、⑤③①
  • 8. 有如下程序段:

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

    n=len(s)

    k=int(max(s))+1

    match= {}

    for i in range(n):

        match[i]=k**i

    m=0;i=0

    for i in range(n):

        m+=int(s[i])*match[n-i-1]

    print(m)

    执行该程序段后,输入“123”后的运行结果为(   )

    A、16 B、24 C、27 D、57
  • 9. 有如下 Python 程序:

    def f(s):

        if s:

            return f(s[1:])+1

        else:

            return 0

    n=input()

    print(f(n))

    若运行该程序段后输入"python",则输出显示的结果为(   )

    A、0 B、1 C、4 D、6

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

  • 10. 小明编写了“室内环境实时监测系统”,系统结构示意图如第13题图所示。智能终端将传感器采集到的数据,通过IoT模块(网络模块)传送到Web服务器并保存到数据库。客户端通过浏览器访问Web服务器,Web服务器将处理的结果经IoT模块传送给智能终端,由智能终端启动执行器实现对温度的控制。

    #智能终端部分代码

    #IoT 模块接入网络代码略

    while True:

        wt=pin1.read_analog( )    #读取扩展板 pin1 端口的温度值

        gx=pin2.read_analog( )    #读取扩展板 pin2 端口的光线强度值

        errno,resp = wf.get('input?wt='+str(wt)+'&gx='+str(gx), 10000)

        if errno == 200:

            display.scroll(resp)

        else:

            display.scroll(str(errno))

               

    #服务器端部分代码

    from flask import Flask ,render_template

    app = Flask(__name__)

    @app.route('/chaxun',methods=['GET','POST'])    # 设置请求可以为 GET 和 POST

    def cx():

        conn=sqlite3.connect('mydb.db')

        cursor=conn.cursor()

        cursor.execute("select * from jc")

        values = cursor.fetchall()

        conn.commit()

        cursor.close()

        conn.close()

        return render_template('chaxun.html',xx=values)    #显示所有用户信息给浏览器

    @app.route('/input',methods=['GET','POST'])    # 设置请求可以为 GET 和 POST

    def input():    #终端上传最新采集的温度数据

        #代码略

    if __name__ == '__main__':

        app.run(host='192.168.10.102',port=5000)     #设置服务器 IP 和端口

    请回答下列问题:

    (1)、下列选项标注了图中虚线框内的智能终端与传感器、执行器之间的数据传输关系,其中合理的是(   )(单选,填字母)
    A、 B、 C、
    (2)、用来保存温度和光线强度的数据库文件名为
    (3)、在该信息系统中实现查看温度、光线强度及其采集时间的视图函数名为
    (4)、访问该信息系统首页的URL为:
    (5)、若要求智能终端每间隔 5 秒采集传感器的温度和光线强度数据,则划线处应填入的代码为
    (6)、用浏览器查看温度和光线强度页面,页面动态显示最新的温度、光线强度及其采集时间。系统正常工作一段时间后,他发现该页面不再变化,刷新后仍不变。结合第 13 题图,简要说明系统中可能造成上述问题的原因:(   )(多选,填字母)(本系统中传感器损坏不会造成上述问题)。
    A、数据库与 Web 服务器连接异常 B、Web 服务器异常 C、无线网络异常 D、IoT 模块(网络模块)损坏 E、智能终端损坏
  • 11. 某校在高一年级第一学期期末开展“小书虫”评选活动,评选规则如下:撰写“观后感”10篇及以上,并且“总借阅量”为年级前50(需要考虑“总借阅量”同为第50名的学生要同时取出)的学生获得“小书虫”称号,获得“小书虫”称号最多的班级获得“书香班级”称号。小王打开“高一年级借阅表.xlsx”文件(如图a所示),利用python编程实现统计分析功能。

    import matplotlib.pyplot as plt

    plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签

    df=pd.read_excel("高一年级借阅表.xlsx")

    (1)、统计每位学生的总借阅量。

    for i in df.index:

        for j in range(9,14):

            s=+"月"

            df.at[i,'总借阅量']=df.at[i,'总借阅量']+df.at[i,s]

    (2)、授予符合条件的学生“小书虫”称号,需要考虑“总借阅量”同为第50名的学生要同时取出,结果如图b所示。

    data={'班级':df.班级, '借阅量':df.总借阅量,'观后感':df.观后感,'荣誉':""}

    dftj=pd.DataFrame(data)

    df_hz=dftj[dftj["观后感"]>=10]

    df_hz=df_hz.sort_values("借阅量",ascending=False)

    df_hz=______________________

    df_hz['荣誉']='小书虫'

    print(df_hz)

    在程序中②处填写代码,正确的选项是(   )(单选,填字母)。

    A、df_hz.head(50) B、df_hz.tail(50) C、df_hz[df_hz["借阅量"]>=df_hz.values[49][1]] D、df_hz[df_hz["借阅量"]>=df_hz.at[49,"借阅量"]]
    (3)、授予符合条件的班级“书香班级”称号

    df_g=df_hz.groupby('班级').荣誉.count()

    bj="";max=0

    for i in range(len(df_g)):

        x=

        if x>max:

            max=x

            bj=df_g.index[i]

    print('书香班级为:'+bj+',该班共有小书虫'+str(max)+'人。')

    (4)、绘制“书香班级排行榜”

    plt.bar(df_g.index, )

    plt.title('书香班级排行榜')

    plt.show()

    (5)、下列语句可实现方框处的代码功能的是(   )(单选,填字母)
    A、df.总借阅量=df.sum(axis=1) B、df.总借阅量=df.sum()-df.观后感 C、df.总借阅量=df.sum(axis=1)-df.观后感
  • 12. 小胡公司组织四人制篮球赛(2人对2人),现已报名n(n为偶数)人,根据这n人个人篮球赛成绩降序排序后存于单向链表a中,为使每队实力尽量均衡,将a中第1人和最后一人组队,第2人和倒数第2人组队,以此类推。例如有6名编号为T01、T02、T03、T04、T05、T06的队员报名参赛,按个人篮球赛成绩降序排序后的次序为:T05、T06、T02、T03、T04、T01,经过分组后分组情况如下图所示:

    具体算法为:

    ⑴找到链表的中点

    ⑵将链表的右半段反转

    ⑶将链表左半段和反转后的右半段合并

    ⑷按顺序输出每组队员编号

    小胡编写程序实现将这n人进行分组并输出每组队员编号,请在划线处填入合适的代码。

    # 找到原链表的中点

    def middleNode(head):

        slow = fast = head

        while a[fast][1] != -1 and a[a[fast][1]][1] != -1:

            slow =

            fast = a[a[fast][1]][1]

        return slow

    # 将原链表的右半段反转

    def reverseList(head):

        pre = -1

        cur = head

        while cur != -1:

            nextTemp = a[cur][1]

            a[cur][1] = pre

           

            cur = nextTemp

        return pre

    # 将原链表的两段合并

    def mergeList(h1, h2):

        while h1 != -1 and h2 != -1:

            h1_tmp = a[h1][1]

            h2_tmp = a[h2][1]

           

            h1 = h1_tmp

            a[h2][1] = h1

            h2 = h2_tmp

    # 输出分组情况

    def show():

        head = 0

        i = 0

        print('分组情况:')

        while head != -1:

            if i % 2 == 0:

                print('第', , '组:', a[head][0], '和 ', end='')

            else:

                print(a[head][0])

            i += 1

            head = a[head][1]

    # 读入n人编号,并按个人篮球赛成绩降序排序后依次将编号存入a中并输出a(代码略)

    mid = middleNode(0)

    head1 = 0

    head2 = a[mid][1]

    head2 = reverseList(head2)

    mergeList(head1, head2)

    show()