试卷征集
加入会员
操作视频
当前位置: 试卷中心 > 试卷详情

浙教版(2019)选择性必修1《第五章 数据结构与算法》2022年单元测试卷(6)

发布:2024/12/14 8:0:22

一.选择题(共30小题)

  • 1.8位同学的语文数学成绩总分从高到低为“178,176,173,172,170,168,163,160”。用二分查找法178的过程中,依次被访问到的成绩数据是(  )

    组卷:1引用:2难度:0.6
  • 菁优网2.有如图 python 程序段,该程序段运行后,变量 k1,k2 的值分别为(  )

    组卷:2引用:3难度:0.5
  • 3.有Python程序段,功能如下:运行程序后输入要查找的key值,要求在一个由n个数组成的降序排序队列的数组中,查找第一个小于等于key的元素下标并输出。
    key=int(input(  ))
    L,R=0,n
    while L<R:
    m=              
    if               
    L=m
    else:
    R=m-1
    if L=n:
    print(“数据不存在“)
    else:
    print(str(L+1))
    要使程序实现上述功能,画线处填入的代码是(  )

    组卷:1引用:2难度:0.5
  • 4.有如下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)
    该程序段的功能是(  )

    组卷:14引用:5难度:0.5
  • 5.峰值元素指数组中其值大于左右相邻值的元素,如序列3,8,4,1中8为峰值元素。一个数组中可能包含多个峰值元素,现需要找出其中一个峰值元素所在的位置(默认第一个数的左侧和最后一个数的右侧值为0,即序列1、2、3中3也为峰值元素)。现有实现该功能的Python程序如下:
    菁优网
    数组a=[10,2,25,17,20,21,9],执行该程序后,输出的值为(  )

    组卷:5引用:3难度:0.4
  • 6.某程序段如下:
    菁优网
    执行该程序后,当输入的key值为15时,输出的结果是(  )

    组卷:5引用:3难度:0.4
  • 7.某Python程序如下:
    菁优网
    数组a中的元素为“58,69,78,80,83,84,90,90,95“,则执行该程序段后,数组 s中的元素不可能为(  )

    组卷:3引用:3难度:0.4
  • 8.某二分查找算法的Python程序段如下:
    菁优网
    执行该程序段后,ans 的值不可能是(  )

    组卷:4引用:3难度:0.4
  • 9.有如下Python程序段:
    a=[99,85,74,68,53,42,34,27,20,13]
    key=int(input(“请输入一个整数:”))
    i,j,k,c,flag=0,9,0,“N”,False
    while i<=j and flag==False:
    m=(i+j+1)//2
    k=k+1
    if key==a[m]:
    c=“Y“
    flag=True
    if key>a[m]:
    j=m-1
    else:
    i=m+1
    print(c,k)
    执行该程序段后,下列说法正确的是(  )

    组卷:9引用:4难度:0.4
  • 10.有如下Python程序段:
    菁优网
    执行该程序段后,输出的结果不可能出现的是(  )

    组卷:4引用:4难度:0.4
  • 菁优网11.部分算法流程图,如图所示,当12+22+……+i2>=1500时,求i的最小值,以下选项中,图中①、②和③处填入不正确的是(  )

    组卷:8引用:5难度:0.4

二.操作题(共4小题)

  • 33.(一)顺序查找数据:我们假定被查找的数据存储在有n个元素的数组变量d中,要寻找的一个特定的数据(这个数据称为查找键)已经存储在变量key中.
    下面是顺序查找算法的输入输出说明.
    输入:查找键(设在变量key中).  被查找的数据(设在数组变量d中).
    输出:若找到,输出值为key的数据所在的数组元素的下标,记为i;
    若未找到,输出结果为提示字符串:“找不到“.
    当在n=8个元素的数组里顺序查找数据的示意图如下:
    菁优网
    总结顺序查找数据结果判断条件:
    (1)当找到时,肯定i<=8,n个数据时,肯定i<=n,i即为找到的数组元素下标,d(i)=key;
    (2)当“找不到“时,i=9>8了;n个数据时,当i=n+1时,表示“找不到“.
    顺序查找的主程序段如下:
    Private Sub 顺序查找_Click(  )
    n个数据放入d(1)到d(n)中
    Key=Val(Text1.Text):i=1‘变量Key从文本框Text1取的数要查找的数;
    Do While     ① 
    i=i+1
    Loop
    If i<=n Then
    Text2.Text=“在d(“+Str(i)+“)中“‘例如在文本框Text2显示:“在d(6)中”
    Else
    Text2.Text=“找不到“
    End If
    End Sub
    以上程序Do While的条件  ①
     

    (A)Key<>d(i)                          (B)i<=n
    (C))Key<>d(i) And i<=n     (D)Key<>d(i) or i<=n.

    组卷:19引用:3难度:0.5
  • 34.某校成绩查询系统界面如图所示,学生输入自己的身份证号码,可以查询自己的总分及排名。以下为此软件的VB程序,请在横线处填上正确的代码使程序完整。
    (1)
     

    (2)
     

    (3)command1_click过程用于查询学生的总分成绩及排名,这一查找方法为:
     
    (顺序查找/对分查找)。
    菁优网
    Dim a(1to 500)as string‘用于存放参加考试学生的身份证号码
    Dim s(1to 500)as single‘用于存入参加考试学生的总分成绩
    ‘form_load 过程用于进行一些初如化准备工作
    Private Sub form_load (  )
    ‘将参加此次考试学生的身份证号码存放在数组a中
    ‘将参加此次考试学生的总分成绩存放在数组s中
    For i=1to 499‘利用排序法将学生成绩进行降序排序
    For j=500to i+1step-1
    If     ①  then
    t=s(j):s(j)=s(j-1):s(j-1)=t
    t=a(j):a(j)=a(j-1):a(j-1)=t
    End If
    Next j
        ②
    End sub
    ‘command1_click过程用于查询学生的总分成绩及排名
    Private sub command_click (  )
    Dim,bank as integer‘bank为排名
    Dim index as Boolean‘index为查询凭证
    Dim hm as string’hm为身份证号码
    hm=text1.text
    index=false
    For i=1to 500
    If hm=a(i) then index=true:bank=i:exit for‘代码exit for的作用为退出for循环
    Next i
    If index=true then
    Text2.text=str(s(bank))
    Text3.text=str(bank)
    Else
    Msgbox (“无此身份号码”)
    End if。

    组卷:12引用:2难度:0.5
深圳市菁优智慧教育股份有限公司
粤ICP备10006842号公网安备44030502001846号
©2010-2025 jyeoo.com 版权所有
APP开发者:深圳市菁优智慧教育股份有限公司| 应用名称:菁优网 | 应用版本:5.0.7 |隐私协议|第三方SDK|用户服务条款
广播电视节目制作经营许可证|出版物经营许可证|网站地图
本网部分资源来源于会员上传,除本网组织的资源外,版权归原作者所有,如有侵犯版权,请立刻和本网联系并提供证据,本网将在三个工作日内改正