当前位置: 高中信息技术 /备考专区
试卷结构: 课后作业 日常测验 标准考试
| 显示答案解析 | 全部加入试题篮 | 平行组卷 试卷细目表 发布测评 在线自测 试卷分析 收藏试卷 试卷分享
下载试卷 下载答题卡

浙江省宁波市余姚名校2023-2024学年高二上学期信息技术...

更新时间:2023-10-31 浏览次数:21 类型:月考试卷
一、选择题(本大题共12小题,每小题2分,共24分。在每小题给出的四个选项中,只有一个符合题目要求)
  • 1. 下列关于数据、信息与知识的说法,正确的是(   )
    A . 数据是对信息加工后获取到的 B . 知识表现为一种卓越的判断力 C . 传感器的普及加速了数据的传输与处理 D . 信息是用来消除随机不确定性的东西
  • 2. (2023高三上·浙江月考) 下列关于人工智能的说法,不正确的是(   )
    A . ChatGPT 是使用海量数据训练出来的实现“人机对话”系统,这属于符号主义人工智能 B . 在购物时智能客服和人工客服一起合作来回答顾客的问题,这是混合增强智能的一种应用 C . 家用扫地机器人可以自动完成清扫工作,说明人工智能可以改善人类的生活 D . 人工智能技术的发展提高社会生产力、促进经济发展,但不能解决所有问题
  • 3. 杭州亚运会吉祥物组合“江南忆”如图所示,这是一副未经压缩的1100*1024像素的BMP图像文件,其存储容量约为1.07MB,则该图像每个像素色彩编码的位数为(   )

    A . 24 B . 16 C . 8 D . 4
  • 4. 下列关于数据与大数据的说法,不正确的是 (   )
    A . 大数据中各种结构化、半结构化和非结构化的数据共存 B . 大数据不必追求数据的精确性,不必保证每个数据都准确无误 C . 大数据不一定强调事物的因果关系,而是更注重他们的相关性 D . 数据量大的一定是大数据,因为大数据的数据体量大
  • 5. 定义如下函数:

    def f(k):

        if k<=3:

            print(k)

            return

        for i in range(1,4):

            f(k-i)

        return

    执行语句f(6),则f(3)被调用的次数为(   )

    A . 1次 B . 2次 C . 3次 D . 4次
  • 6. 有如下Python程序段:

    a=[27,5,25,36,78]

    f=[False]*5

    i=0

    while i<4 and not f[i]:

        for j in range(4, i, -1):

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

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

                f[i]=True

        i+=1

    执行该程序段后,数组f中值为True的元素个数是(   )

    A . 1 B . 2 C . 3 D . 4
  • 7. 数组a已有9个数据,分别存储于 a[0]~a[8],需在第j个位置(1≤j≤9)插入数据k。利用Python 语言编写代码,模拟数据插入过程,可选代码如下:

    ①a[i]=k ②a[i-1]=k ③a[i+1]=a[i] ④a[i]=a[i-1]

    ⑤for i in range(j,9) ⑥for i in range(8,j-2,-1)

    划线处所需代码依次为(   )

    A . ⑥③① B . ⑤③② C . ⑥④① D . ⑤③①
  • 8. 下列有关迭代算法和递归算法的描述,不正确的是(   )
    A . 在使用递归算法时,必须有一个明确的递归结束条件,称为递归出口 B . 一般来说,迭代算法效率较低,而递归算法效率较高 C . 递归中一定有迭代,但迭代中不一定有递归 D . 通常情况下,迭代算法和递归算法可以相互转换
  • 9. 有如下程序段:

    def cal(n):

        if n <= 1:

            return 1

        if n % 2 == 0:

            return 2*cal(n-1)

    执行语句k=cal(5),则k的值为(   )

    A . 6 B . 7 C . 10 D . 11
  • 10. 若某算法的总执行次数T(N)=T(N/2)+1 (N为大于2的正整数),另T(1)=1。则该算法的时间复杂度为(   )
    A . O(N) B . O(log2N) C . O(Nlog2N) D . O(N2)
  • 11. 有如下程序段,则该程序段的时间复杂度为(   )

    a = [0 for i in range(n+1)] for j in range(n+1)]

    a[0][0]=1

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

        a[i][0]=1

        for j in range(1,i+1)

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

    A . O(log2N) B . O(N) C . O(Nlog2N) D . O(N2)
  • 12. 有如下Python 程序:

    import random

    s= input()

    k = random.randint( l,len(s)-1)

    i=0

    while k> 0 and i < len(s)-1:

        if s[i]>s[i+1]:

            k-= 1

        s= s[:i]+s[i+1:]

        if i> 0:

            i-= 1

        else:

            i+= 1

    if k> 0:

        s = s[:len(s)-k]

    若输入的s值为“8561324”,则执行该程序,输出s的值不可能为(   )

    A . 51324 B . 124 C . 132 D . 1324
二、非选择题(本大题共3小题6+10+10,共26分。)
  • 13. 有n (n>=3)级台阶,从底端向上爬到顶端,每次只能爬2级或者3级台阶,求从底端爬到顶端的方案数。
    1. (1) 当n=5时,方案数为
    2. (2) 用迭代法计算爬n级台阶的方案数,python程序如下:

      n=int(input())

      f0,f1,f2=1,0,1

      for i in range(3,n+1):

             ▲   

      f0,f1,f2= f1,f2,f3

      print("爬n级台阶的方案数为",f3)

      则划线处的代码为。该段代码使用了 (填:递归或迭代)算法。

  • 14. 分组冒泡排序。分别对数组a的奇数和偶数位置的元素进行冒泡排序,即采用“跳跃式冒泡”的方法,每次跳跃的步长为2,将数组分成2个子序列,分别对这2个子序列进行排序。例如,对数组a=[6,3,5,4,1,2,8,7]进行分组跳跃式升序冒泡排序,排序后的数组a=[1,2,5,3,6,4,8,7]。
    1. (1) 对数组a=[4,5,2,9,6,7,10,3,8,1]进行分组跳跃式升序冒泡排序,则排序后的数组
    2. (2) 实现上述功能的Python程序如下,请在划线处填入合适的代码。

      import random

      n=8

      a=[random.randint(1 ,9) for i in range(n)]

      for i in range(0,n,)

          forj in range()

              if a[j]<a[j-2]:

                  a[j],a[j-2]=a[j-2],a[j]

    3. (3) 将分组跳跃式冒泡排序推广到每次跳跃的步长为m的情形,例如对数组a=[6,3,5,4,1,2,8,7]进行分组跳跃式升序冒泡排序,当m=3时,排序后的数组a=[4,1 ,26,3,5,6,7]。

      相关代码如下,请在划线处填入合适的代码。

      import random

      m=int(input(“请输入步长m:”))

      n=8

      a=[random.randint(1,9) for i in range(n)]

      print(“排序前”,a)

      for i in range()

          for j in range()

              if a[j]<a[j-m]:

                  a[j],a[j-m]=a[j-m],a[j]

  • 15. 大部分社交软件都有好友推荐的功能,当用户A和用户B的共同好友数量超过阀值p时,由系统向用户A推荐用户B。其中共同好友判定方法为:用户A和用户B不是好友,用户C分别是用户A和用户B的好友,则共同好友数量加1。编写Python程序,实现好友推荐功能。运行程序,首先从文件中读取用户id及好友列表后,处理后显示用户之间的关系;再输入推荐目标用户id和阈值p;最后显示向目标用户推荐的好友列表。

    1. (1) 根据如图所示数据,若输入推荐目标用户id为“1”,输入阈值为“4”,则推荐好友为:
    2. (2) 主程序,读取“数据.txt”文件,进行处理后显示用户关系二维表,再输入推荐目标用户id和阈值p,显示向目标用户推荐的好友列表,请在划线处填入合适的代码。

      n= 10

      sj= ];zj= [];j= 0]

      #按行读取"数据.txt"文件,每次读一行文字存入字符串变量line 中

      f=open("数据txt")

      line=f.readline( )     #读取标题行

      line= =f.readline( )

      while line:

          sj.append(line.split(" "))     #将字符串以""为间隔分割成多个字符串组成的列表

          line=f.readline( )   #读取下一行

      zj = zhengli(sj)

      #显示各用户之间关系二维表,代码略

      #输入推荐目标用户id和阈值p,显示向目标用户推荐的好友列表

      id = int(input("请输入推荐目标用户id: "))

      p = int(input("请输入阈值p: "))

         #调用函数进行好友推荐

      if len(j) != 0:

          t=0

          print("推荐好友为:",end = "")

          while t < len(tj):

              print(j[t, end ="")

              t=t+ 1

      else:

          print("没有推荐好友")

    3. (3) 编写整理数据函数zhengli,根据好友列表,生产关系二维表,请在划线处填入合适的代码。

      def zhengli(sj):

          r= [[0 for i in range(n)]for j in range(n)]

          for i in range(n): .

              for j in sj [i][l:]:

                  r[i][nt(j)-1]= 1

                 

          return r

    4. (4) 编写函数fenxi,根据输入推荐目标用户id和阈值p,显示向目标用户推荐的好友列表,请在划线处填入合适的代码。

      def fenxi(id,p):

          res =[]

          for i in range(n):

              c=0

              for j in range(n):

                  if i!=id-1 and j!= id-1 and i!=j:

                      if

                          c+= 1

              if

                  res.append(i+1)

      return res

微信扫码预览、分享更方便

试卷信息