浙江省宁波市北仑区名校2022-2023学年高二下学期信息技术期初返校考试试卷

试卷更新日期:2023-03-22 类型:开学考试

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

  • 1. “2021年12月24日平安夜,李明睡前发现阳台上的温度计读数为-2℃,他和爸爸一起把裸露在户外的水管用旧衣服包裹起来,并将阳台上的水龙头调整至滴水状态,用一个较大的桶接水。”结合上述事例,下列对于数据、信息、知识和智慧的描述错误的是(     )
    A、-2是数字,是最简单的一种数据 B、温度计读数-2℃表示该时间李明家阳台上的温度信息 C、李明看到温度计读数为-2℃,联想到冰冻,这是智慧的体现 D、李明和家人一起做了防水管冰冻措施,说明他们具备相关知识
  • 2. 下列有关大数据及其处理的说法,错误的是(  )
    A、大数据的四个特征:数据体量巨大、速度快、数据类型多、价值密度低 B、对大数据进行处理时,必须保证每个数据都准确无误 C、批处理计算适合处理静态数据 D、流计算适合处理实时更新的数据
  • 3. 下列应用领域中不属于人工智能应用的是(     )
    A、人机博弈 B、机器视觉 C、自然语言处理 D、扫描仪扫描试卷
  • 4. 某双声道Wave格式的音频文件,其采样频率为44.1kHz,量化位数为2字节,时长为10秒,则其存储空间约为(     )
    A、861KB B、1.68MB C、6.9MB D、215KB
  • 5. 某算法的部分流程图如图所示。执行这部分流程后,输出s,i的值为(     )

    A、45,6 B、45,7 C、63,6 D、63,7
  • 6. 下列Python表达式的值等于56的是(     )
    A、abs(-55)+1 B、ord("A") C、len("55")+1 D、chr(56)
  • 7. 有如下Python程序段:

    a=int(input("请输入一个数:"))

    if a>0:

        a=a%10

    elif a==0:

        a=a+1

    else:

        a=a**2

    a=a+10
    print(a)

    输入a值为20,执行该程序段后,输出的结果是(   )

    A、14 B、11 C、10 D、1
  • 8. 有如下Python程序段:

    ma=a[0];mb=a[0];pa=0;pb=0

    for i in range(1,10):

        if ma < a[i]:ma = a[i];pa=i

        if mb > a[i]:mb = a[i];pb=i

    下列关于该程序段功能描述正确的是(     )

    A、变量pa存储a[0]至a[9]中的最大值 B、变量ma存储a[0]至a[9]中的最小值 C、变量pb存储a[0]至a[9]中的最大值 D、变量mb存储a[0]至a[9]中的最小值
  • 9. 在单向链表如下图所示,在data2与data3之间插入一个新节点data4(p指向data2,r指向data4。列表data来记录链表数据域,列表next来记录指针域),在以下选项中选择正确的执行步骤(     )

    ①next[p]= next[r]    ②next[p]= r             ③next[r]= p

    ④next[r]= -1         ⑤next[r]= next[p]       ⑥next[p]= -1

    A、③⑥ B、⑤② C、①④ D、⑤②④
  • 10. 有如下Python程序

    a = [3,2,1,-8,3,-2,8,6]

    s = t = a[0]

    for i in range(1,len(a)):

        if s > 0:

            s += a[i]

        else:

            s = a[i]

            if s > t:

                t = s

    print(t)

    该程序段的运行结果是(   )

    A、6 B、-10 C、15 D、33
  • 11. 有如下 Python 程序段:

    import pandas as pd

    s1=pd.Series(["赵天一","周光起","王子涵","徐静怡"],index=["01","02","03","04"])

    s1["02"]="周广其"

    xh=s1.index

    name=s1.values

    height=[168,175,170,180]

    weight=[57,65,62,65]

    col=["姓名","身高","体重"]

    data={"姓名":name,"身高":height,"体重":weight}

    df1=pd.DataFrame(data,index=xh,columns=col)

    print(df1[df1["身高"]>170])

    运行该程序段,输出显示的内容为(   )

    A、 B、    C、 D、
  • 12. 有如下 python 程序段:

    from random import randint

    a=[0]*6;  i=0

    while i<6:

        a[i]=randint(1,10)

        if a[i]%2==i%2:

            i=i-1

        elif i%2==1:

            a[i]=a[i-1]+a[i]

    i=i+1

    执行该程序段后,数组 a 中的值可能为(   )

    A、[4, 9, 2, 7, 6, 13] B、[7, 11, 3, 13, 9, 17] C、[5, 7, 7, 19, 3, 11] D、[6, 12, 4, 8, 8, 16]

二、非选择题(本大题共3小题,6+13+7,共26分。)

  • 13. 小明收集了本周信息技术学科学习评价的数据,如下图所示。

     

    (1)、观察上表小明做了如下操作,其中属于数据整理的是(   )(多选,填字母)
    A、删除重复行第五行 B、验证并修改D2单元格数据  C、通过公式计算全班平均分 D、重新设置C3单元格格式
    (2)、为了分析每个组的平均分,设计了如下Python程序,请将程序补充完整。程序执行结果如下图所示。

    import pandas as pd

    import matplotlib.pyplot as plt

    df=pd.read_excel("成绩表.xlsx")

    df=df.rename(columns={"选择题总分":"选择题"})

    print(df1)

    (3)、利用Python程序绘制各小题得分率图表,如第下图所示。

    请在划线处填写合适的代码。

    num=int(input("请输入小组:"))

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

    list=[]

    for i in range(12):

        s="题"+str(i+1)

        list.append(*50)

    plt.bar(range(1,13),list)

    plt.title(str(num)+"group")

    plt.xlabel("question number")

    plt.ylabel("correct rate")

    plt.show()

  • 14. 报数游戏。已知班上有n名学生(用编号1,2,3,„,n分别表示),学生按照编号由小到大顺时针围成一个圆圈,从编号为1的学生开始顺时针报数,报到m的同学出列;下一名同学又从1开始报数,报数为m的同学继续出列;以此规律重复下去,直到剩下最后一位同学为止。
    (1)、当n=10,m=3时,最后留下的同学的编号是
    (2)、下列代码通过构造一个循环单向链表,模拟报数的过程,逐一删除报数为m的节点,直到剩下一个节点为止。请在划线处填入合适的代码。

    n=int(input("n="))

    m=int(input("m="))

    lst=[]

    for i in range(n-1):

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

    lst.append( ) #将尾节点的指针指向头节点,构成循环单向链表

    p=len(lst)-1

    while n>1:

        for i in range(1,m):         #从1~(m-1)依次报数    

           

        out=lst[p][1]

       

        n=n-1

    print("最后留下的同学的编号是:", lst[p][0])

    (3)、下列代码通过构造一个循环队列,模拟报数的过程,将报数为m的元素进行出队操作(报数非m的元素重新入队),直到剩下一个元素为止。请在划线处填入合适的代码。

    n=int(input("n="))

    m=int(input("m="))

    q=[0]*n ; head=0 ; tail=0

    for i in range(1,n+1):         #构造循环队列

        q[tail]=i

       

    c=0

    while (head+1)%n!=tail:

        c=c+1

        if c==m:

            head=(head+1)%n

           

        else:

           

            tail=(tail+1)%n

            head=(head+1)%n

    print("最后留下的同学的编号是: ",q[head])

  • 15. 小明使用Python编写了某答题卡中单项选择题的判分程序,该单选题每题2分。扫描答题卡获取选项填涂信息,输入标准答案,程序自动判断并输出分数。具体方法为:

    一个选项是否被填涂,可以从判断一个像素的颜色开始,像素的填涂情况是通过RGB的值来判断 ,灰度值低于132的表示该点被填涂;一个信息点64%的像素被填涂,则认为该区域已填涂,返回值为“1”。区域未填涂时返回值为“0”;各选项的编码为:A→“1000”,B→“0100”,C→“0010”,D→“0001”;输入标准答案,程序进行对比并返回结果。答题卡相关信息如下:

    (1)、某题的标准答案为“C”,该题填涂情况为“0100”,则分数为分。
    (2)、实现上述功能的程序如下,请在划线处填入合适的代码。

    from PIL import Image

    #输入起始点坐标(xs,ys),信息点宽度高度(fw, fh),间隔宽度高度(sw, sh),代码略

    num = 5               # 判分个数

    def bw_judge(R, G, B):   # bw_judge用于判断一个像素的填涂情况,代码略

    def fill_judge(x, y):      # fill_judge用于判断信息点的填涂情况

        count = 0

        for i in range(x, x + fw + 1):

            for j in range(y, y + fh + 1):

                R, G, B = pixels[i, j]

                if bw_judge(R, G, B) = = True:

                    count = count + 1

        return

    total_width = fw+ sw

    total_height = fh + sh

    image = Image.open("t2.bmp")

    pixels = image.load()

    number = ""

    bz=[""]*num

    df=0

    bzd=input('请输入标准答案:')

    da={"A":"1000","B":"0100","C":"0010","D":"0001"}

    for i in range(len(bzd)):

        bz[i]=

    for row in range(num):                       #分数判定

        for col in range(4):

            y = ys + total_height * row

            if fill_judge(x, y) == True :

                number = number + '1'

            else:                           

                number = number + '0'

        if number = = bz[row]:

     df+=2

        number=""

    print("得分为:",df)