浙江省金砖联盟2025-2026学年高二上学期期中联考技术学科试题及答案-高中信息技术

试卷更新日期:2025-11-15 类型:期中考试

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

  • 1. 下列有关数据和信息的说法,正确的是(     )
    A、挂在博物馆的画作,就是信息 B、同一份数据在被解释成信息后,就不能再被使用 C、数据必须是以二进制的方式储存在计算机中 D、信息会与时俱进,但是数据不会随着时代发展而变化
  • 2. 使用UltraEdit软件查看字符的内码,部分界面如图所示:

    以下说法正确的是(     )

    A、图中字符共占16位存储空间 B、字符“!”的内码是FC21 C、图中共有6个ASCII字符 D、字符“10”的内码是3A
  • 3. 下列关于数据管理与安全和大数据问题,不正确的是(     )
    A、大数据处理一般采用分治的思想 B、非结构化数据可以用传统数据库技术进行管理 C、购物网站的个性化推荐,体现了大数据更加关注事物的相关性,而非因果关系 D、数据校验主要是为了提高数据的完整性
  • 4. 下列有关人工智能的说法,正确的是(     )
    A、扫地机器人是强化学习模式的人工智能应用 B、将联结主义和行为主义人工智能结合使用,属于跨领域人工智能 C、符号主义人工智能不是数据驱动的,因此开发过程中不需要编写知识库 D、混合增强型智能中,可以没有人参与
  • 5. 小王用手机录制了一段30分钟视频,该视频为PAL制式(每秒25帧)每帧画面为1024*768像素、24位真彩色无声视频,并采用压缩比为30∶1的mp4格式存储,则在其手机上占的存储容量约为(     )
    A、2GB B、337MB C、6.8GB D、3.3GB
  • 6. 某算法的部分流程图如图所示,若列表a的值为[23,37,55,45,33,42,89,70],key的值为40,执行这部分流程后,f、m的值分别为(     )

    A、True 3 B、True 5 C、True 4 D、False 0
  • 7. 队列L中首到尾的元素依次为1,2,3,4,栈Z初始为空,约定:G操作为元素出队后入栈,W操作为元素出栈后入队,经过GGWGGWGG系列操作后,栈中从顶到底的元素依次为(   )
    A、4231 B、2341 C、1324 D、4213
  • 8. 有如下python程序段:

    a=[2,8,6,7,3,6,9,2,1,4,5,5,6,8,4,5,]

    max=0

    dic={}

    for i in a:

           if i not in dic:

                 dic[i]=1

           else:

                 dic[i]+=1

                 if dic[i] >= max:

                        max=dic[i]

                        v=i

    执行该程序段后,max和v的值分别为(     )

    A、3   3 B、9   1 C、3   6 D、3   5
  • 9. BMI指数是世界卫生组织(WHO)目前常用于判断体重是否标准的简单方法,计算方法为:BMI=体重/身高平方。BMI值的标准:BMI低于18.5为偏瘦,BMI介于18.5到25之间为标准;BMI高于25为超重。小王计算出正确BMI值后,编写代码根据BMI值判断体重是否标准,下列选项中正确的是(     )

    A.

    s="偏瘦"

    if BMI>25:

           s="超重"

    elif BMI<=25:

           s="标准"

    B.

    if 18.5<BMI<25:

           s="标准"

    elif BMI>25:

           s="超重"

    else:

           s="偏瘦"

    C.

    s="标准"

    if BMI>25:

           s="超重"

    elif BMI<18.5:

           s="偏瘦"

    D.

    if BMI>25:

           s="超重"

    if 18.5<=BMI<=25:

           s="标准"

    else:

           s="偏瘦"

    A、A B、B C、C D、D
  • 10. 执行下列Python程序段后,b[1]的值是(     )

    a =[11,3,23,7;10;19]

    n= len(a)

    b=[0]*n

    for i in range(1,n):

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

                 if a[j]>a[j-1]:

                        a[j],a[j-1] = a[j-1],a[j]

                        b[i]+=1

    A、1 B、2 C、3 D、4
  • 11. 若字符x的值为“tuvwxyz”,执行如下程序后,变量res的值不可能是(     )

    from random import randint

    x=" tuvwxyz"

    res=""

    i=0

    j= len(x)//2.

    while j < len(x) and i < len(x)//2:

           if randint(0,1) == 0:

                 res+=x[i]

                 i+=1

           else:

                 res+=x[j]

                 j=j+1

    print(res)

    A、tuwv B、twxyz C、wtuv D、twuvxyz
  • 12. a=[[34,1],[45,3],[31,0],[66,5],[23,2],[70,-1]],该列表中的数据元素是一个升序链表,以下python代码段可以完成在该链表中插入新数据并保持升序特性,则划线处应填入代码为(     )

    a=[[34,1],[45,3],[31,0],[66,5],[23,2],[70,-1]]

    head=4

    b= int(input("请输入需要插入的数据"))

    p=q= head

    a.append([b,-1])

    ①       

    while ②       :

           q=p

           p=a[p][1]

    if p==head:

           a[m][1]=head

           head=m

    else:

           ③       

           a[q][1]=m

    print(a)

    A、①m=len(a)-1   ②p!=-1 and a[p][0]<=b   ③}a[m][1]=q B、①m=len(a)   ②q!=-1 and a[p][0]<=b   ③a[m][1]=p C、①m=len(a)-1   ②p!=-1 and a[p][0]<=b   ③a[m][1]=p D、①m=len(a)   ②p!=-1 and a[p][0]<=b   ③a[m-1][1]=p

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

  • 13. 小李在学习了数的编码后,他用python编写了一个程序,可以实现十六进制转二进制运算,程序代码如下:

    (1)将程序中加框处的代码,改为“print(result)”,则当输入十六进制值为“1A”时,输出为。

    (2)请在划线处填入合适代码,完善功能。

    def ltos(x):

           s=""

           for i in range(len(x)):

                 s=s+str(x[i])

           if s[0] == "0":

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

                        if s[i] != "0":

                               ①

                               break

           return s

    num=[8,4,2,1]

    H=input("请输入一个十六进制值:")

    b=[0,0,0,0]

    result=[]

    for i in range(len(H)):

           if "0"<=H[i]<="9":

                 a=int(H[i])

           else:

                 ②

           for j in range(len(num)):

                 if a-num[j]>=0:

                        b[j]=1

                        a=a-num[j]

           result+=b

           ③

    print("该十六进制的二进制值为:",ltos(result))

  • 14. 某公司正在开发一款新游戏,为了能够更好的开发,公司对其员工进行了一次问卷调查。调查的结果保存在search.xlsx,部分内容如图1。请你帮助该公司编写Python程序来进行统计。

                                                                图1

    (1)检查发现第一条数据的“工龄”项存在逻辑错误,下列做法正确的是(单选)。

    A.统计剩余的CG设计师工龄平均值,用平均值代替该数据。

    B.向该CG设计师本人再次询问,确认其真实工龄,然后修改数据。

    C.工龄数据可能已经遭到破坏,重新对所有人再次进行问卷调查,防止统计出错。

    (2)解决的数据的错误后,现在按照职业进行分类,要求统计各个职业的平均工龄和最常用的工作软件,统计结果列表age和software中。实现该功能的Python程序如下。

    import pandas as pd

    import matplotlib.pyplot as plt

    career = ["游戏设计","程序设计","CG设计师","算法工程师","音频","美术设计","编剧"]

    df = pd.read excel(" search.xlsx")

    age,software = [0] * len(career),[""] * len(career)

    k =0

    for crr in career:

           dfl = df[①] #在df中找到所有与crr匹配的数据

           df2= df1.groupby("工作软件",as index= False).姓名.count()

           age[k] = ②

           software[k] = ③              #找到出现次数最多的工作软件名称

           k +=1

    for i in range(k):

           print("职业:",career[i],"平均年龄:",age[i],"最常用工作软件:",software[i])

    请在划线处①②填入合适的代码。

    为③处选择合适代码(单选)。

    A.df2.max()

    B.df2.sort_values(“姓名”,ascending=False).工作软件[0]

    C.df2.工作软件.max()

    (3)在以上统计的基础上,该公司要确定最适合该公司开发的游戏类型。编写程序完成统计,并画出如图2的柱状图。实现该功能的代码如下,请在划线处填入合适的代码。

    plt.rcParams['font.sans-serif']=['SimHei']   #用来正常显示中文标签

    plt.rcParams['axes.Unicode_minus']=False   #用来正常显示负号

    df2=df.groupby("擅长类型").count()   /len(df)*100

    df2.rename(columns={"姓名":"人数"},inplace=True)

    plt.bar(,df2.人数,label="游戏类型%")

    plt.title("**公司游戏开发类型汇总")

    plt.legend()

    plt.show()

                                                   图2

  • 15. 小胡同学听了课堂上老师个农夫过河的算法知后,经过自己的努力用python编程实现了过河方案的输出,以下是他的程序代码,农夫过河的规则如下:

    农夫需带狼、羊、白菜从左岸到右岸,渡口只有一条小船,船只能容下一人和另外一样东西(狼、羊、白菜其中之一),而且只有农夫才能撑船。

    农夫不在狼吃羊、羊吃白菜。

    请根据规则和程序代码完成以下任务:

    (1)根据小胡同学的程序代码,渡河4次(从左往右或从右往左均按一次渡河计)留在右岸的是。

    (2)请在划线处填入合适代码,完善功能

    def disp(d,i):

           name = "狼","菜","羊"

           if d == 1:

                 disp = "从左岸送" + name[i] + "至右岸,

           elif d == 2:

                 disp="从右岸送"+name[i]+"至左岸,"

           return disp

    process=""

    right=[0,0,0]; left=[1,1,1]

    rule=[[1,0,1],[0,1,1]]

    right_rule=[]

    ltemp=[]; rtemp=[]

    itemp=[]; ptemp=[]

    j=0; c=0

    flag=True

    while True:

           i=j

           while i <= 2:

                 num=-1

                 if left[i] == 1:

                        template=left[:]; template[i]=0

                        temp2=right[:]; temp2[i]=1

                        if template not in rule and temp2 not in right_rule:

                               if i < 2 and sum(left[i:]) >= 2:

                                  ltemp.append(left[:]); rtemp.append(right[:])

                                  itemp.append(i); ptemp.append(process)

                               left[i]=0; right[i]=1

                               process+=disp(1,i)

                               ①

                               break

                 i=i+1

           if right == [1,1,1]and len(ltemp) == 0:

                 break

           elif num == -1:

                if len(ltemp) == 0:

                     break

                 elif right == [1,1,1]:

                        c+=1

                        print("方案"+str(c),process)

                        

                 left=ltemp.pop()   #pop()作用是从列表中取最后一个元素的值并删除该元素

                 right=rtemp.pop()

                 j= ②

                 process=ptemp.pop()

                 continue

           if sum(right) == 2 ③:

           right_rule.append(right[:])

           for i in range (0,3):

                 if i != num and right[i] == 1:

                     right[i]=0

                     left[i]=1

                     j=0

                     ④

           elif right!=[1,1,1]:

                 process+="从右岸空船返回左岸,"

    if c==0:

           print("无解决方案!")

    (3)如果删除加框处的代码,是否改变程序运行的结果?(填:是或否)