浙江省余姚名校2022-2023学年高二上学期信息技术期中考试试卷

试卷更新日期:2022-12-13 类型:期中考试

一、选择题(单选,本大题共 14 小题,每小题 2 分,共 28 分)

  • 1. 下列关于数字化的说法正确的是(    )
    A、经过采样、量化两个步骤即可将模拟信号转换成数字信号 B、使用“作业帮”APP 拍照搜题获取难题解析的过程中涉及到图像数字化 C、计算机中的数据,以二进制形式或十六进制形式存储 D、水银温度计呈现的温度值是数字信号
  • 2. 某十进制偶数n转换为二进制数x,下列说法正确的是()
    A、x中1的个数一定比0的个数多 B、n%4的值一定与x最右侧两位的值相等 C、n+1转换为二进制数后,位数可能比x多 D、n转化为十六进制数,其最低位一定等于0
  • 3. 下列有关人工智能的说法,错误的是(    )
    A、人脸识别过程中使用了人工智能技术(    ) B、人工智能的开发和应用要遵守法律法规 C、人工智能是以机器为载体,模仿、延伸和扩展人类智能 D、人工智能技术推动人类社会进步的同时,不可能威胁人类安全
  • 4. 使用UltraEdit软件查看文字的内码,部分界面如图所示。

    下列说法正确的是 (    )

    A、GB2312 的字符有 8 个 B、字符“j”的内码对应二进制数是“01101010” C、如图所示文字占用存储空间为 14bit D、字符“10”的内码用十六进制数表示是“3A”
  • 5. 下列关于数据结构的说法正确的是(    )
    A、“撤销”操作,是“队列”的应用 B、排队就餐,是“栈”的应用 C、“数组”存储相邻节点需要连续空间 D、“树”中每个节点的前后都只有一个相邻节点
  • 6. 已知某BMP图像文件的总像素量为1024×768像素,颜色位深度为24位,则该图像文件的存储容量约为(    )
    A、18MB B、2.25KB C、480KB D、2.25MB
  • 7. 列表a的值为[0,1,2,3,5],下列表达式的值等于a[1]的是(    )
    A、a[2]*a[3]//2 B、a[4]-len(a) C、a[-1]-a[1] D、a[3]**2%2
  • 8. 某算法的部分流程图如图所示。执行这部分流程后,则输出ret的值为(      )

    A、16 B、32 C、64 D、256
  • 9. 如果一个数正读和倒读一样,则称为回文数。若将任意一个三位数存储到整型变量 a 中,下列语句可实现构造回文数的是:(    )

    A.sw=a/10%10

    bw=a/100

    new=a*100+sw*10+bw

    B.gw=a%10

    sw=a//10%10

    bw=a//100

    new=gw*100+sw*10+bw

    C.sw=a//10%10

    bw=a//100

    new=a*100+sw*10+bw

    D.gw=a%10

    sw=a%10/10

    bw=a//100

    new=gw+sw+bw

    A、A B、B C、C D、D
  • 10. 由“qp=[[0 for i in range(6)]for j in range(6)]”代码定义的数组, 如qp[1][2]在行优先存储方式下存在序列的第9个位置,则其在列优先存储方式下,在序列中的位置是(    )
    A、10 B、12 C、14 D、16
  • 11. 有如下Python程序段:
    s=input("请输入一串字符串:")
    m=cnt=1

    for i in range(1,len(s)):
        if s[i]>s[i-1]:

            cnt+=1

        if cnt>m:

            m=cnt

        else:

            cnt=1 print(m)

    该程序段输出的是(    )

    A、字符串 s 中最大的字符的索引 B、字符串 s 中最长的递增序列 C、字符串 s 中最大的字符 D、字符串 s 中最长的递增序列长度
  • 12. 现要求使用 Python 模拟数组的操作,将一个一维数组中的偶数分离出来存储到新的数组,形成分别存储奇数和偶数的两个数组,具体代码如下:

    a=[6,7,3,4,7,1,9,12,543,345,354] b=[]

    i=0

    while i<len(a):

        if a[i]%2==0:

            b.append(a[i])

            _________

        else:

            i=i+1

    print(a, b)

    划线处应填入的代码是(    )

    A、a.pop(i) B、a.append(a[i]) C、break D、continue
  • 13. 有如下 python 程序段:

    a=[1]*6

    b=[96,88,84,91,90,80]

    for i in range(6):

        for j in range(i+1, 6):

            if b[j]>b[i]:

                a[i]+=1

            else:

                a[j]+=1

    该程序段运行后,列表a的值为:(    )

    A、[5,3,2,4,6,1] B、[1,4,5,2,3,6] C、[10,6,4,8,12,2]   D、[2,4,5,3,16,6]
  • 14. 某短信平台对短信内容长度进行审查,超过 100 个字符的短信将被过滤掉, 将符合要求的短信根据推送的时间逐一发送。

    #所有短信按推送过来的时间已存入列表 s 中,共有 1000 条待发送的短信

    q=[""]*1000

    head=0;tail=0

    for i in range(1000):

        if len(s[i])<=100:

               ①   

                ②     

    while    ③   :

        print("现在发送的消息内容为:",q[head])

    head+=1

    上述程序段中划线处可选语句为:

    ①tail=tail-1②tail=tail+1 ③q[tail]=s[i] ④head<=tail ⑤head!=tail

    则①②③处的语句依次为(    )

    A、②③⑤ B、③②④ C、③②⑤ D、③①⑤

二、非选择题(本题共3小题,8+7+7,共22分)

  • 15. 小明搜集了某网络购物平台2021年1月1日至2021年9月30日时间段内的日用化妆品销售数据,原始数据如下图a所示。

    图 a

    (1)、小明对数据进行了整理,下列操作不恰当的是(   )(单选,填字母)。
    A、发现记录中有6条重复,对这6条记录进行了删除 B、发现记录中有38处数据项缺失,直接删除相关记录 C、将某条记录中订单日期“2050-6-9”订正为“2021-6-9” D、将某条记录中订单日期“2021#3#11”修改为“2021-3-11”
    (2)、图a 所示的数据为(A .结构化数据\ B .非结构化数据\ C .半结构化数据)
    (3)、小明发现数据中仍有极少量时间段外的记录混杂其中,利用Python 及pandas 模块进行处理。请回答问题:

    ①采用 pandas 模块中的 (单选:填字母:A .Series/B .DataFrame) 数据结构存储全部数据会比较高效。

    ②全部数据保存于变量 df 中,为筛选出订单日期为 2021 年第一季度内的所有记录,可以执行 Python语句 dfl= , 则 dfl 中保存筛选结果。(单选,填字母。提示:多条件筛选时,条件之间用“&”连接,表示需要同时满足这多个条件)

    A.df[(df['订单日期']<='2021-1-1')&(df['订单日期']<='2021-3-31')]

    B.df[(df['订单日期']>='2021-1-1')&(df['订单日期']>='2021-3-31')]

    C.df[(df['订单日期']>='2021-1-1')&(df['订单日期']<='2021-3-31')]

    (4)、经过以上两步处理之后,为了解“所在地市”第一季度“订购数量”前 10 名的情况,编写如下 Python 程序段:

    #数据整理结果保存于变量 dfl 中,代码略

    g=dfl.groupby(“所在地市”,as_index=False).sum( )

    print(   ▲   )

    并生成图 b 所示的图表:

    图 b

    则划线处的代码可为(   )(多选,填字母)

    A、g.sort_values(“订购数量”,ascending=False)[0:10] B、g.sort_values(“订购数量”,ascending=True).tail(10) C、g.sort_values(“订购数量”,ascending=True)[0:10] D、g.sort_values(“订购数量”,ascending=False).head(10)
    (5)、根据以上数据整理结果,小明对第一季度所在地市的“订购数量”进行可视化处理,如图b所示。

    实现上述功能的Python程序部分代码如下,程序中划线处代码请填空。

    #按“所在地市”对第一季度数据分组并求和,再按“订购数量”升序排序

    #选取最后10 条数据,存入变量s,代码略

    import matplotlib.pyplot as plt

    x=s[‘所在地市’]

    y=________

    plt.barh(x,y,color=r)

    plt.show( )

  • 16. 有一个背包可放入的物品总重量20公斤,共有m件物品,单个物品重量不超过15公斤。问:从这些物品中如何找出若干件,刚好是20公斤?(不考虑体积)

    例如共有8个物品,分别为1,7,3,8,5,10,11,4公斤。算法思路如下:

    把8件物品,看作8个位置,每个物品被选中记作1,不被选中记作0。显然,共有28=256种不同的选择方法。在这256种选择方法中,如果选中的物品重量之和等于20,就是我们要寻找的方案。

    小李编写了python程序:由用户输入物品件数m,程序随机生成[1,15]之间的整数,表示每种物品的重量。请将程序划线⑴、⑵、⑶、⑷处填入适当的代码,将程序补充完整。

    import random

    def DToB(x,n):

        if n<1: n=1

            n=0

            R=[0 for i in range(0,n)]

            for i in range(n-1,-1,-1):

               

                x=x//2

            return R

    m=int(input(“请输入物品件数 m”))

    w=[for i in range(m)]       #随机生成 m 件物品重量的列表

    total=20

    nm=

    k=0

    for x in range(0,nm): a=DToB(x,m)

        T=[ ]

        for i in range(0,m): if

            a[i]==1:

           

        if total==sum(T):

            k=k+1

            print(T)

    print("共有",k,"种装入方法")

  • 17. 小王设计“模拟撤销”程序,需要用一个“历史记录”,“历史记录”是在对字符串s进行插入或删除时,将每步操作信息依次存储得到的,操作信息由操作符(“+”表示插入,“-”表示删除)、操作位置和操作字符串(只包含英文字母)构成,例如,“+23abc”表示在字符串s 第 23 个位插入了“abc”, “模拟撤销”过程按照“历史记录”的逆序进行,将字符串s的内容恢复到初始状态。对字符串“Book”的操作与撤销过程,如图所示。

    小王编写的“模拟撤销”python 程序如下,输入撤销字符串和历史记录,显示撤销过程。

    (1)、请在划线处填入合适的代码。

    s=input("输入撤销前的字符串:")

    t=input("历史记录:")

    t=t[::-1]

    c,num="","" ss=s;n=0  for ch in t:

    if "a"<=ch<="z" or "A"<=ch<="Z":

        c=ch+c

    elif "0"<=ch<="9":

        num=ch+num

    else:

       

        if ch=="-":

           

        else:

            s=s[:n-1]+s[n-1+len(c):]

        ss=s+"←"+ss

        c=""

       

    print("撤销过程:"+ss)

    (2)、运行该程序,输入的内容分别是“April”和“-3p+3ri-6e”,字符串s的值为: