浙江省衢温“5+1”联盟2023-2024学年高二上学期信息技术期中联考试卷

试卷日期:2023-12-19 考试类型:期中考试

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

  • 1. 阅读材料,完成1-3题

    亚运会直播累计获62亿人次观看,相关话题视频播放量也超过503亿。杭州亚运会运用了多种AI技术,如高速运动AI解说系统,通过多种传感器采集运动数据,基于多模态大模型算法和深度学习模型对这些运动数据进行分析并生成实时的个性化解说服务,从而为不同语种的观众提供个性化解说。又比如通过大数据的分析处理,人工智能可以准确判断对手的特点和态势,帮助运动员做出更精准的决策,并实时调整自己的战术策略。

    (1)、下列关于数据与信息说法,不正确的是(   )
    A、人们通过手机、电视等多种途径了解亚运会赛事,体现了信息具有载体依附性 B、“62亿”、“503亿”、直播视频等都是数据,经过分析和解释就能得到对应的信息 C、在亚运会期间,要时刻关注赛事进程,以免错过比赛时间,体现了信息具有时效性 D、网络上播放的关于亚运会的新闻都是真实可信的
    (2)、下列关于大数据的说法正确的是(   )
    A、各种传感器不断产生的大量运动数据,体现了大数据速度快的特点 B、AI解说系统根据运动员的动作进行实时解说用的是大数据的批处理计算 C、大数据分析的是所有数据,因此每一个数据都必须准确 D、为了帮助运动员做出更精准的决策,大数据要分析其背后的因果关系
    (3)、据以上材料的描述,高速运动AI解说系统中的人工智能技术主要基于以下哪种方法(   ) 
    A、符号主义 B、联结主义 C、行为主义 D、建构主义
  • 2. 下列关于信息编码的说法,不正确的是(   )
    A、一副 1024×512 的黑白图像其存储容量至少为 128KB B、在计算机内部,任意字符均以二进制进行编码  C、声音的数字化需要经过采样、量化与编码  D、若一个十进制正整数是奇数,则它对应的二进制数末位一定是1
  • 3. 下列关于计算机数据管理与安全的说法正确的是(   )
    A、为了数据的保密性,可以采用 MD5、CRC、SHA 等方法进行校验 B、传统的数据库难以管理半结构化和非结构化数据 C、只要不联网就可以避免计算机病毒感染 D、保护数据安全只需要保护存储数据的介质
  • 4. 某算法的流程图如图所示,下列说法正确的是(   )

    A、该流程图是分支结构 B、该流程执行后,变量 i 的值是 1 C、该算法功能是求 n 的因子数量 D、若 n=13,则 i≥1 共执行了 13 次
  • 5. 已知变量s="2023python程序设计",下列Python表达式的值最小的是(   )
    A、int (s[2:4]+"6")∥8 B、(len (s) % 3) * * 2 C、round(float(s[ :3])/4) D、ord(s[7])-ord("a")
  • 6. 有下列 Python 程序段:

    dic = {"a": [9,12],"b": [8,16]}

    dic["a"][1] = 15

    dic["c"] = [12,13,11]

    s="abc";sum=0

    for i in s:

        sum += dic[i][1] print(sum)

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

    A、28 B、32 C、41 D、44
  • 7. 下列选项的语句中,不能实现“温度w高于30,输出温度过高,低于10,输出温度过低,10到30之间输出温度正常”功能的是(   )
    A、if w>30:

        y="温度过高" if w<10:

        y="温度过低"

    else:

        y="温度正常" print(y)

    B、y="温度正常"

    if w>30:

        y="温度过高"

    elif w<10:

        y="温度过低" print(y)

    C、if w>30:

        y="温度过高" elif w<10:

        y="温度过低" else:

        y="温度正常"

    print(y)

    D、if w>30:

        y="温度过高" if w<10:

        y="温度过低" if 10<=w<=30:

        y="温度正常"

    print(y)

  • 8. 有如下程序段:

    def f(x):

        for i in b:

            if x==i:

                return True

        return False a=[2,0,9,3,10]

    b=[10,9,16,2,7]

    for i in a:

        if f(i):

            cnt+=1 print(cnt)

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

    A、1 B、2 C、3 D、4
  • 9. 有如下程序段:

    s="GUYS:keep on going never give up!"

    flag=False;m=0

    for i in range(len(s)):

        if s[i] >="a"and s[i]<="z":

            if not flag:

                m=m+1

                flag=True

        else:

            flag=False

    print(m)

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

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

    a=[9, 7, 17, 16, 13, 9, 16, 14, 8, 13]

    n=len(a)

    p=[False]*n

    ans=[]

    for i in range(2):

        mx=-1

        for j in range(n):

            if not p[j]:

                if mx==-1 or a[j]>a[mx]:

                    mx=j p[mx]=True

        ans.append(a[mx]) print(ans)

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

    A、[17, 16] B、[17,17] C、[16,17] D、[8,7]

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

  • 11. 哥德巴赫猜想是任一大于2的偶数,都可表示成两个素数之和。其中素数也叫质数,是指除了1和本身外,不能被其它整数整除的数。
    (1)、10可以看成哪两个素数之和
    (2)、下列程序用来验证 4-1000 之间的偶数是否符合哥德巴赫猜想,请完成划线处的填空:

    def isprime(m):

        i=2

        while i<=int(m**0.5):

            if:

                return False

            i+=1

        return True

    for i in range(4, 1001, 2):

        flag=False

        for j in range(2, i):

            if:

                print(str(i)+"验证成功")

                flag=True

                break

        if:

            print(str(i)+"验证失败")

    (3)、上述程序使用了哪种算法(单选,填字母:A .枚举算法 B .解析算法)
  • 12. 某超市的销售数据文件“超市销售数据.xlsx”部分内容如图a 所示:

    图 a

    (1)、小杜需对图a所示的数据进行整理,下列说法正确的是         (多选,填字母)
    A、H3单元格的数据缺失,可以用随机数填充 B、F4单元格的数据格式不一致,应将数据进行格式转换 C、C5单元格的数据存在逻辑错误 D、第6行和第7行存在数据重复,应删除其中一行 E、第6行和第7行存在数据重复,应将数据合并
    (2)、编程统计 2022 年月度销售金额变化,python 程序如下,程序运行结果如图b所示:

    图b

    import pandas as pd

    import matplotlib.pyplot as plt from pylab import mpl

    mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei']#设置中文字体格式df=pd.read_excel()

    df.insert(0,’年份’,’’)         #在第 1 列插入“年份”列,初始值为空

    df.insert(0,’月份’,’’)        #在第 1 列插入“月份”列,初始值为空

    for i in df.index:

        df.at[i,’年份’]=df.at[i,’销售时间’][0:4]+‘年’

        df.at[i,’月份’]=df.at[i,’销售时间’][4:6]+‘月’

    df1=     #筛选出 2022 年度的数据

    g=df1.groupby("月份",as_index=False).销售金额.sum()

    plt.figure(figsize=(10,8))

    plt.bar(, g.销售金额)

     plt.title("2022 年月度销售金额变化表",fontsize=16)

    plt.ylabel("销售金额",fontsize=12)

    plt.show()

  • 13. GeoHash 是空间索引的一种方式,其基本原理是将地球理解为一个二维平面,通过把二维的空间经纬度数据编码为一个字符串,可以把平面递归分解成更小的子块,每个子块在一定经纬度范围内拥有相同的编码。以经纬度为(121.43737,31.192932)为例。

    第一步:将经纬度转换为二进制

    编码规则为:先将纬度范围(-90, 90)平分成两个区间(-90, 0)和(0, 90),如果目标维度位于前一个区间,则编码为 0,否则编码为 1,然后根据目标纬度所落的区间再平均分成两个区间进行编码,以此类推,直到精度满足要求,经度也用同样的算法。

    序号

    纬度范围

    划分区间0

    划分区间1

    31.192932所属区间

    1

    (-90,90)

    (-90,0)

    (0,90)

    1

    2

    (0,90)

    (0,45)

    (45,90)

    0

    3

    (0,45.0)

    (0,22.5)

    (22.5,45.0)

    1

    4

    (22.5,45.0)

    (22.5,33.75)

    (33.75,45.0)

    0

    5

    (22.5,33.75)

    (22.5,28.125)

    (28.125,33.75)

    1

    ……

    ……

    ……

    ……

    ……

    最后得到纬度的二进制编码为:101011000101110, 用同样的方式可以得到经度(121.43737)的二进制编码:110101100101101

    第二步:将经纬度的二进制编码合并,从偶数 0 开始,经度占偶数位,纬度占奇数位。经度

    110101100101101,纬度 101011000101110,得到的二进制编码为:111001100111100000110011110110

     

    索引

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    21

    22

    23

    24

    25

    26

    27

    28

    29

    经纬度

    1

    1

    1

    0

    0

    1

    1

    0

    0

    1

    1

    1

    0

    0

    1

    1

    1

    1

    0

    1

    1

    0

    第三步:将合并后的二进制数做 Base32 编码

    按照每 5 位一组,分成 6 组,每组计算其对应的十进制数值,按照 Base32 表进行编码。

    11100 11001 11100 00011 00111 10110 转换成十进制是 28 25 28 3 7 22,查表编码得到最终结果,wtw37q。

    林老师想编写一个 Python 程序,输入编码后的字符串,输出该编码对应的经纬度范围,运行结果如图 a 所示:

    图a

    (1)、Python 程序如下,请在划线处完成填空。

    def qj(l,r,a):        #将二进制 a 转成对应的经纬度范围#该代码省略

    def find(c):        #在 base32 表中查找对应的十进制数

        for i in :

            if base32[i]==c:

                return i base32="0123456789bcdefghjkmnpqrstuvwxyz" s=input("请输入编码:")

    res="" jd=[]

    wd=[]

    for i in range(len(s)):

       

        ans=""

        j=0

        while:

            ans=

            n=n//2

            j+=1

        res=res+ans

    for i in range(len(res)):

        if i%2==0:

            jd+=res[i]

        else:

            wd+=res[i]

    print("经度对应的二进制:",jd,"纬度对应的二进制:",wd)

    print("经度范围:",qj(-180,180,jd),"纬度范围:",qj(-90,90,wd))

    (2)、若经纬度编码是 wm3,那么对应的经度二进制是