浙江强基联盟2022-2023学年高二下学期信息技术5月试卷

试卷更新日期:2023-07-17 类型:月考试卷

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

  • 1. 阅读下面材料,回答问题

    ChatGPT 是基于数据训练生成的大型语言模型人工智能,并且基于强化学习进行了完善,在代码 编写、文章概括、上下文关联等方面表现出惊人的能力。其训练数据主要是来自于互联网的文本数据, 并由数百个高性能服务器进行分布式计算,训练成本近千万美元。

    (1)、结合材料,下列关于数据和大数据的说法正确的是(   )
    A、互联网上的文本属于结构化数据 B、分布式处理的目的之一是解决算力问题 C、大数据的价值密度低,导致大数据技术价值低 D、图像和视频数据无法作为 ChatGPT 的训练数据
    (2)、关于 ChatGPT 的说法正确的是(   )
    A、ChatGPT具有人的思维和意识 B、人工智能将替代所有人的工作 C、ChatGPT的原理包含了联结主义人工智能 D、若训练数据不再增加,则ChatGPT的智能将无法继续提高
  • 2. 具有网络连接功能的电器必须具备的要素有(   )

    ①有线或者无线网络硬件 ②网络协议 ③文件共享

    A、①② B、①③ C、②③ D、①②③
  • 3. 数据在传输过程中容易受到干扰导致接收的数据不完整,针对这一问题的有效手段是(   )
    A、数据备份 B、异地容灾 C、CRC 校验码 D、保护存储介质
  • 4. 一些学校的图书馆或宿舍有RFID门禁系统,学生经过门禁机时可以刷卡进入,由系统记录信息,该信息系统不涉及的硬件是(   )
    A、数据库服务器 B、光敏传感器 C、电子标签 D、RFID 读写器
  • 5. 小王每次用浏览器访问网页时,速度都很慢,以下情况不会导致该现象的是(   )
    A、网速较慢,导致网页传输效率低 B、系统中存在安全漏洞,导致系统运行响应慢 C、感染计算机病毒,导致系统运行效率低下 D、计算机硬盘性能较弱,导致数据读写慢
  • 6. 某算法的部分流程图如图所示。执行这部分流程后,输出s的值为(   )

    A、5 B、-5 C、1 D、- 1
  • 7. 下列Python表达式结果最小的是(   )
    A、2**3//3+8%4*3 B、5**2%3+11%2**2 C、1311//100%10 D、int("1"+"1")//3
  • 8. 下列关于数据结构的说法不正确的是(   )
    A、数据结构是指数据的组织形式 B、二维数组属于线性数据结构 C、链表是一种优于数组的数据结构 D、队列是限定仅在一端进行插入,在另-端进行删除的线性数据结构
  • 9. 现有栈S和队列Q,初始状态均为空,现将数据元素a1,a2,a3,a4,a5,a6依次进入队列Q,再将出队的元素依次进入栈S,若出栈的顺序为a2,a4,a3,a6,a5,a1,则栈S的容量至少应该为(   )
    A、2 B、3 C、4 D、5
  • 10. 在整数序列1到10(含1和10)中找出连续的数字,使其相加后的结果为20,Python程序如下:

    for i in range(1, 10):

        sum = 0; j = i

        while       ①      and j <= 10:

            sum += j

            j += 1

    if sum == 20:

        print("从",       ②      , "到",       ③      )

    该程序的输出结果是“从 2  到 6”,则划线处的代码为(    )

    A、①sum <= 20         ②i+1       ③j- 1 B、①sum < 20         ②i           ③j C、①sum <= 20        ②i+1       ③j D、①sum < 20         ②i           ③j- 1
  • 11. 编写Python程序,功能是提取字符串中二维列表结构的数据,例如字符串 s="[[11,2],[2,31,2],[1]]", 经过处理转化成列表[[11,2],[2,31,2],[1]]并输出,程序如下:

    s = "[[11,2],[2,31,2],[1]]"

    res = []; num = 0

    for i in s[1:- 1]:

        if i=="[":

            tmp = []; flag = True

        elif i =="]":

            flag = False

            tmp.append(num); res.append(tmp)      #①

        elif i==",":

            if :tmp.append(num)

                num = 0

            else:

                num = num*10+int(i)

    print(res)

    关于上述代码,下列说法正确的是(   )

    A、加框处代码可以替换为 len(tmp)>0 B、将①处的两句代码对换,程序不受影响 C、若字符串 s 为"[[]]",则程序的输出不正确 D、若字符串 s 中存在空格,则程序运行依然正确

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

  • 12. 模拟搭建“室内烟雾实时监控系统”,该系统结构示意图如第13题图所示。智能终端接收烟雾传感器采集的数据,IoT模块传送数据到Web服务器并保存到数据库。Web服务器将数据处理的结果经IoT模块传给智能终端,由智能终端启动继电器实现对水泵的控制,并且用户可以通过浏览器访问网页,查看实时数据。

    (1)、在设计系统的前期准备中,需要确定所需的软硬件配置,这一过程属于  (单选,填字 母:A .需求分析 /B .概要设计 /C .详细设计)
    (2)、“室内烟雾实时监控系统”的开发模式是 (单选,填字母:A .B/S模式 /B .C/S模式)
    (3)、烟雾传感器每隔1秒采集一次数据,在数据处理的代码中,有函数check(a,b,c)用于检测最近3 次烟雾浓度值a、b、c,若至少有两次超过100,则认为有火情,函数返回True,否则返回False。

    下面是check函数的部分代码,请从选项中选择合适的语句完成填空      (单选,填字母)。

    def check(a,b,c):

        x = a>100; y = b>100; z = c>100

        if                  

            return True

    return False

    A、(x and y and z) or (x or y or z) B、x and y or x and z or y and z C、x or y and x or z and y or z D、not x or not y or not z
    (4)、在服务器端,配置IP和端口号的语句为server=Server(host="192.168.1.1",port=80,threaded=True),设置路由函数的语句为@app.route("/warn"),则用户访问的URL为 http://
    (5)、小明用高浓度的烟雾测试系统,通过客户端查看到烟雾浓度数据已连续超过阈值,但是水泵 没有运行,若服务器和终端的代码均正确,则可能的原因是
  • 13. 小吴收集了2020年之前历届世界杯数据并进行汇总,制作了“历年世界杯各国数据.xlsx文件,具体内容结构如图a(部分数据)所示。

    图 a

    (1)、从图a中可看到土耳其的比赛场数为“20”,与胜、平、负场数之和不相等,该问题属于     
    A、数据缺失 B、数据重复 C、逻辑错误 D、格式不一致
    (2)、现要找出非洲总进球数前 3 名的国家(不考虑并列情况),核心代码如下:

    df = pd.read_excel("历年世界杯各国数据.xlsx")

    print(df)

    则方框处可选代码是 (按数据处理先后顺序填序号)。

    ①df = df.groupby("所属大洲")

    ②df = df[:3]

    ③df = df.sort_values("进球数", ascending=False)

    ④df = df[df["所属大洲"]=="非洲"]

    ⑤df = df["非洲"]

    (3)、小吴收集了英格兰在2022年世界杯中的5场比赛的数据并存储在文件“英格兰.xlsx”中,结构如图b所示。现编写程序,将数据处理后合并到“历年世界杯各国数据.xlsx”文件中,核代码如下,请在划线处填写合适的代码。

    图 b

    df1 = pd.read_excel("历年世界杯各国数据.xlsx")

    df2 = pd.read_excel("英格兰.xlsx")

    for i in range(len(df1)):

    if df1.at[i, "球队"]=="英格兰":

    break

    for line in df2.values:

        goal = line[2]; lost = line[3]

        if goal>lost:

            df1.at[index, "胜"] += 1

        elif

            goal<lost:

            df1.at[index, "负"] += 1

        else:

            df1.at[index, "平"] += 1

           

    df1.at[index, "进球数"] += goal

    df1.at[index, "失球数"] += lost

    df1.at[index, "净胜球"] += goal - lost

    df1.to_excel("(new)历年世界杯各国数据.xlsx", index=False) #去除索引保存文件

    (4)、读入文件“(new)历年世界杯各国数据.xlsx”并制作了如图c所示的柱形图,核心代码如下。若要更换图表类型,则应修改 (单选,填序号) 处的代码

    图 c

    df1 = pd.read_excel("(new)历年世界杯各国数据.xlsx")

    df1 = df1.sort_values("进球数",ascending=False)      #①

    df1 = df1[df1["所属大洲"]=="南美洲"]

    df1 = df1[["球队", "进球数"]]                                       #②

    df1.plot.bar(x="球队", y="进球数")                             #③

    plt.show()                                                                         #④

  • 14. 编写一个Python程序对学校所有空教室进行管理,当申请教室时,将分配一个空教室,使用结束后归还教室,若已无空教室则申请失败。

    现在模拟这一过程。初始有n个空教室,输入请求,每个请求包括请求类型(申请或归还)和请求人。程序输出对于每次请求的处理结果。例,当前有2个空教室,输入输出如图 a

    图 a

       图b

    (1)、以3个空教室为例,对于如图b所示的输入数据,请求失败的人数是
    (2)、请修改程序加框处的错误。
    (3)、请完成划线处的填空。

    n = 10        #以初始有 10 个空教室为例

    top = n; stack = [i for i in range(n+1)]

    head = - 1; node = [[i, - 1, - 1]        #定义栈,存储空教室编号

    for i in range(n+1)]       #定义链表节点,存储已用教室

        def apply(name):    #申请,从栈中弹出空教室添加至链表,并将请求人作为链表节点的内容

            global top, head    #声明 top 和 head 为函数外部的全局变量,下同

            if top==0: return - 1

                node[stack[top]][1] = name

                node[stack[top]][2] = head

               

                top -= 1

    return head

    def back(name):            #归还,在链表中找到请求人所在的节点,删除后压入栈中

        global top, head

        p = head

        if node[p][1]==name:

            top += 1; stack[top] = head

            head = node[head][2]

            return stack[top]

        while  and node[p][2]!=- 1:

            p = node[p][2]

        if node[p][2]==- 1: return - 1

            top += 1; stack[top] = node[p][2]

            node[p][2] = node[node[p][2]][2]

            return  

    s = input("请输入请求:")

    while s!="- 1":

        #下面语句对输入进行分割后存入request

        #其中 request[0]表示请求类型(申请或归还),request[1]表示请求人

        request = list(map(str, s.split(",")))

        if request[0]=="申请":

            c = apply(request[1])

            if  :

                print("教室已满, 申请失败!")

            else:

                print(request[1],"已申请",node[c][0],"号教室")

            elif request[0]=="归还":

                c = back(request[1])

                if c!=- 1: print(request[1],"已归还",node[c][0],"号教室")

                    s = input("请输入请求:")