浙江省杭州市2023-2024学年高三上学期信息技术期中教学质量检测试卷

试卷更新日期:2023-11-29 类型:期中考试

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

  • 1. 下列有关数据和信息的说法,正确的是(    )
    A、计算机中的数据以二进制的形式存储 B、人们观看在线影视时,点播的视频是信息 C、信息本身会因为被别人获取而发生损耗 D、大数据的数据总量越大,价值密度就越高
  • 2. 下列关于进制与信息编码的说法,不正确的是(    )
    A、最大的两位十六进制数值是FFH B、将商品信息转换为条形码的过程属于编码 C、声音数字化过程中的量化位数越大,保真度越好 D、ASCII码用7位二进制进行编码,十进制范围为1~128
  • 3. 下列关于人工智能的说法,正确的是(    )
    A、人工智能以机器为载体,模仿、延伸和扩展人类智能 B、人工智能具有强大的存储、记忆和搜索功能,不会出错 C、符号主义需要手工构造知识库,属于数据驱动的智能方法 D、语音识别系统需要大量数据进行模型训练和测试,故无法识别实时语音
  • 4. 阅读下列材料,回答问题。

    某校学生考勤信息系统通过移动无线考勤机(支持刷卡、刷脸等识别方式)进行考勤,家长可在手机APP上进行学生请假申请,班主任审批之后,在校学生出校门时在考勤机上进行请假信息确认,离校后班主任和家长手机APP上实时收到学生的离校信息。在该系统的网页管理后台可以按班、按月对请假等数据进行查询和统计。

    (1)、结合材料,下列有关该信息系统说法不正确的是(    )
    A、学校老师、家长和学生都是该信息系统的用户 B、考勤机可移动使用,说明该信息系统不受外部环境的制约 C、通过管理后台可查看当天的请假情况,说明该信息系统具有数据查询功能 D、家长可随时在APP上发起请假申请,体现了系统跨越时空限制、服务随时随处的优势
    (2)、为了加强隐私保护和信息安全防护,下列说法不正确的是(    )
    A、晚上可以关闭防火墙,节约资源 B、采用磁盘阵列、异地容灾等手段可以提高数据安全 C、家长通过预留的手机号码登录APP属于用户身份认证 D、学生人脸、家长手机号码等都属于个人敏感信息,应做好隐私保护
  • 5. 下列关于网络技术的说法,正确的是(    )
    A、网络仅由传输介质和网络互连设备组成 B、按照网络的覆盖范围分类,因特网属于城域网 C、网络中可以资源共享的仅是网络中的硬件资源 D、网络中传输信息都需要遵守网络协议
  • 6. 某算法的部分流程图如下图所示,执行这部分流程,若输入i的值为序列[2, 3, 4, 5]中的随机数,则下列说法正确的是(    )

    A、变量c的最大值为11 B、“a>0?”至少执行5次 C、程序结束时变量a一定等于0 D、只能使用while语句实现该循环结构
  • 7. 某二叉树的树形结构如下图所示,后序遍历结果为“WUSVTR”,则该二叉树的前序遍历结果为(    )

    A、RSTUVW B、RTSVUW C、RTSUWV D、RSUWTV
  • 8. 若有一批元素的出栈顺序为“i, n, p, u, t”,其入栈顺序不可能是(    )
    A、n, i, t, u, p B、n, i, u, t, p C、t, u, p, n, i D、i, n, p, u, t
  • 9. 列表d有n个整型元素,输出列表中最长连续递增序列的长度。小明编写的Python程序段如下:

    k=1; lmax=1; n=len(d)

    for I in range(1, n):

        if d[i]>d[i-1]:

            k+=1

        else:

            if k>lmax:

                lmax=k

        k=1

    print(lmax)

    该程序段在某些情况下无法得到符合题意的结果,下列4组数据中能测试出这一问题的是(    )

    A、[1, 4, 5, 1, 2] B、[1, 2, 3, 4, 1] C、[1, 5, 1, 2, 3] D、[5, 4, 3, 2, 1]
  • 10. 有如下Python自定义函数:

    def fun(x, i):

    if x<i:

    return i

    elif x%i==0:

    return x

    else:

    return fun(x-i, i+1)

    执行语句k=fun(37, 3)后,k的值为(    )

    A、5 B、6 C、30 D、34
  • 11. 有如下Python程序,其功能为删除无序链表(元素个数大于等于2)中的重复元素。

    def dele(a, head):

    pre=head; p=a[head][1]

    while p!=-1:

    q=head

    flag=False

    while:

    if a[q][0]==a[p][0]:


    p=a[p][1]

    flag=True

    break

    q=a[q][1]

    if not flag:

    pre=p;

    p=a[p][1]

    a=[[0, 3], [1, 2], [1, 4], [0, 1], [0, 5], [2, -1]]

    dele(a, 0)

    ①q!=-1   ②q!=p   ③a[pre][1]=a[p][1]   ④a[pre][1]=a[q][1]

    方框中填入的正确代码依次为(    )

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

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

  • 12. 对某二值图像(颜色编号只有0、1)按如下规则对其进行数据压缩:
    (1)记录原数据第1个位置的颜色编号;
    (2)从左往右依次扫描颜色编号,统计并记录连续出现的相同颜色编号个数;
    例如:图像的颜色编号: ,压缩结果为“0, 9, 8, 3”(用逗号分隔)
    请回答下列问题:
    (1)、若某二值图像按此规则压缩的结果为“1, 1, 3, 5, 6”,则该图像的颜色数据中有个1。
    (2)、定义如下jys(s)函数,参数s存储压缩结果,为字符串类型,如“0, 9, 8, 3”。函数功能是实现数据解压缩,函数以字符串类型返回原数据。请在划线处填入合适的代码。

    Def jys(s):

    d={"1":"0","0":"1"}

    ns=""; p=s[0]; i=2

    while i<n:

    num=0

    while :

    num=num*10+int(s[i])

    i+=1

    i+=1

    for j in range(num):

    p=d[p]

    return ns

  • 13. 小明搭建了图书查询系统,模拟如下图a所示自助图书借阅机的查询功能:把书籍放置在读写器上,读写器读取到图书上RFID电子标签的唯一编号后通过Wi-Fi传输到Web服务器数据库中,并在该数据库查询到该书籍的借阅日期。该系统结构示意图如图b所示。若图书编号是“A20-2440”,智能终端提交数据到Web服务器的URL为http://192.168.3.200/cx?bbh=A20-2440,请回答下列问题。

    (1)、关于该图书查询系统,下列说法正确的是___________(多选,填字母)
    A、该系统网络应用软件的实现架构是B/S架构 B、数据库是服务器的外接数据存储设备 C、智能终端的IP地址是192.168.3.200 D、若无线路由器出现故障,智能终端将无法提交数据到服务器
    (2)、该系统实现查询功能的部分服务器端程序如下,请在划线处填入合适的代码。

    @app.route("", methods=["GET"])

    Def get_bh():

    DB="data/books.db"

    bbh=request.args.get("bbh")

    conn=sqlite3.connect(

    #在数据库中查询编号为bbh的图书借阅日期存入变量rslt,代码略

    return rslt

    (3)、除了给图书贴电子标签,并用读写器采集图书编号外,请写出两种其它采集图书编号的方式
    (4)、导出某月的图书借阅流水数据如下图c所示,统计借阅次数最多的前5名(相同借阅次数排名相同),统计结果如下图d所示,部分Python程序如下。

    import pandas as pd

    import matplotlib.pyplot as plt

    df=pd.read_csv(’bookdata.csv’)           #读取bookdata.csv中的数据

    df_gp=df.groupby(’BookTitle’, as_index=False)[’BookID’].   Ⓐ  

    #分组统计书籍被借阅次数

    n=len(df_gp)

    pm=[1]*n

    for i in range(n):

    for j in range(n):

    if df_gp.at[i,'BookID']<df_gp.at[j,'BookID']:

    #通过行标签和列标签选取值进行比较

    pm[i]+=1

    df_gp.insert(2, ’排名’, pm)                  #插入“排名”列,值为列表pm

    df_pm=df_gp[   Ⓑ   ]                      #筛选最受欢迎的五本图书

    df_pm=df_pm.sort_values(’排名’, ascending=True,ignore_index=True)#升序排列

    print(’本月图书借阅次数最多的前五名:’)

    print(df_pm[’BookTitle’])

    ①划线Ⓐ处应填入的代码为(单选:填字母)

    A.sum( )   B.mean( )   C.count( )   D.max( )

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

  • 14. 某工厂生产的产品包含n个(编号为0~n-1)组件,其组装可由多名工人共同协助完成。组装时每个组件都不可遗漏并能按序完成,有些组件存在前置组件(以下简称“前置”),即安装有先后顺序。例如,某产品有6个组件,如下图a所示,组件3的前置是组件1和组件2,即安装组件3需要在组件1和组件2完成之后。若0~5号组件的组装所需单位时间分别为2,5,2,4,3,5,则在工人数量不限的情况下,所有组件安装完成最短需要14个单位时间。

    图a

    为了梳理产品组件的组装顺序,并计算所有组件安装完成所需的最短时间,编写程序模拟组装过程:先同时组装前置总数为0的组件,完成后更新每个组件的前置总数,再重复以上步骤,直至所有组件安装完毕,程序运行结果如下图b所示,请回答下列问题:

    图b

    (1)、图a所示产品的1号组件组装时长若缩短为3个单位时间,其它时间保持不变,则所有组件安装完成所需最短时间为个单位时间。
    (2)、定义如下cal(a, n)函数,参数a列表的每个元素包含两项,a[i][1]是组件编号,a[i][0]是a[i][1]的前置编号,例如a中某个元素值为[2,3],表示组件2是组件3的前置。该函数的返回值是列表s和列表pre,其中s记录所有组件的相互关系,pre[i]记录初始情况下组件i的前置总数。

    Def cal(a, n):

    pre=[0]*n

    s=[[0 for i in range(n)] for j in range(n)]              #创建n×n的二维数组s,元素初始值为0

    for i in range(len(a)):

    x, y=a[i][0], a[i][1]

    s[x][y]=1

    pre[y]=

    return pre, s

    (3)、定义如下proc(n, s, pre)函数,该函数的返回值是列表v, v[i]代表从开始到组件i完成组装所需的最短时间。请在划线处填入合适的代码。

    def proc(n, s, pre):

    head=tail=0

    que=[0]*n

    for I in range(n):

    if pre[i]==0:

    que[tail]=i

    tail+=1

    while :

    x=que[head]

    head+=1

    for i in range(n):

    if s[x][i]==1:

    pre[i]-=1

    if pre[i]==0:

    que[tail]=i

    tail+=1

    v[i]=max(v[i],

    return v

    """

    组装编号0~n-1的单个组件所需时间存入t列表,组件前置关系存入a列表,如第15题图a所需时间t=[2, 5, 2, 4, 3, 5];a=[[0, 2], [2, 3], [1, 3], [3, 5], [3, 4]]

    """

    n=len(t)

    print(’编号为0~’+str(n-1)+’的组件组装所需单位时间分别为:’, t)

    v=t[:]

    pre, s=cal(a, n)

    v=proc(n, s, pre)

    data=[0]*n

    result=[i for I in range(n)]               #创建列表result=[0,1,2,……,n-1]

    for i in range(n):

    data[i]=v[i]-t[i]               #data[i]表示组件i开始安装时间

    for i in range(n-1):            #按组件开始安装时间升序排序,开始安装时间相同时按组件序号升序

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

    if data[result[j]]>data[result[j+1]]:

    print(‘组件组装顺序:’, result, ‘, 安装完成所需最短时间:’, max(v))

    (4)、以下选项与题(3)加框处代码功能相同的是___________(多选,填字母)。
    A、head!=tail B、head<n C、tail<=n D、len(que)>0