試卷征集
加入會員
操作視頻
當(dāng)前位置: 試卷中心 > 試卷詳情

浙教版(2019)選擇性必修1《第五章 數(shù)據(jù)結(jié)構(gòu)與算法》2022年單元測試卷(6)

發(fā)布:2024/12/14 8:0:22

一.選擇題(共30小題)

  • 1.8位同學(xué)的語文數(shù)學(xué)成績總分從高到低為“178,176,173,172,170,168,163,160”。用二分查找法178的過程中,依次被訪問到的成績數(shù)據(jù)是( ?。?/h2>

    組卷:1引用:2難度:0.6
  • 菁優(yōu)網(wǎng)2.有如圖 python 程序段,該程序段運(yùn)行后,變量 k1,k2 的值分別為( ?。?/h2>

    組卷:2引用:3難度:0.5
  • 3.有Python程序段,功能如下:運(yùn)行程序后輸入要查找的key值,要求在一個由n個數(shù)組成的降序排序隊列的數(shù)組中,查找第一個小于等于key的元素下標(biāo)并輸出。
    key=int(input(  ))
    L,R=0,n
    while L<R:
    m=              
    if               
    L=m
    else:
    R=m-1
    if L=n:
    print(“數(shù)據(jù)不存在“)
    else:
    print(str(L+1))
    要使程序?qū)崿F(xiàn)上述功能,畫線處填入的代碼是( ?。?/h2>

    組卷: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)
    該程序段的功能是( ?。?/h2>

    組卷:14引用:5難度:0.5
  • 5.峰值元素指數(shù)組中其值大于左右相鄰值的元素,如序列3,8,4,1中8為峰值元素。一個數(shù)組中可能包含多個峰值元素,現(xiàn)需要找出其中一個峰值元素所在的位置(默認(rèn)第一個數(shù)的左側(cè)和最后一個數(shù)的右側(cè)值為0,即序列1、2、3中3也為峰值元素)?,F(xiàn)有實現(xiàn)該功能的Python程序如下:
    菁優(yōu)網(wǎng)
    數(shù)組a=[10,2,25,17,20,21,9],執(zhí)行該程序后,輸出的值為( ?。?/h2>

    組卷:5引用:3難度:0.4
  • 6.某程序段如下:
    菁優(yōu)網(wǎng)
    執(zhí)行該程序后,當(dāng)輸入的key值為15時,輸出的結(jié)果是( ?。?/h2>

    組卷:5引用:3難度:0.4
  • 7.某Python程序如下:
    菁優(yōu)網(wǎng)
    數(shù)組a中的元素為“58,69,78,80,83,84,90,90,95“,則執(zhí)行該程序段后,數(shù)組 s中的元素不可能為( ?。?/h2>

    組卷:3引用:3難度:0.4
  • 8.某二分查找算法的Python程序段如下:
    菁優(yōu)網(wǎng)
    執(zhí)行該程序段后,ans 的值不可能是(  )

    組卷:4引用:3難度:0.4
  • 9.有如下Python程序段:
    a=[99,85,74,68,53,42,34,27,20,13]
    key=int(input(“請輸入一個整數(shù):”))
    i,j,k,c,flag=0,9,0,“N”,F(xiàn)alse
    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)
    執(zhí)行該程序段后,下列說法正確的是( ?。?/h2>

    組卷:9引用:4難度:0.4
  • 10.有如下Python程序段:
    菁優(yōu)網(wǎng)
    執(zhí)行該程序段后,輸出的結(jié)果不可能出現(xiàn)的是( ?。?/h2>

    組卷:4引用:4難度:0.4
  • 菁優(yōu)網(wǎng)11.部分算法流程圖,如圖所示,當(dāng)12+22+……+i2>=1500時,求i的最小值,以下選項中,圖中①、②和③處填入不正確的是( ?。?/h2>

    組卷:8引用:5難度:0.4

二.操作題(共4小題)

  • 33.(一)順序查找數(shù)據(jù):我們假定被查找的數(shù)據(jù)存儲在有n個元素的數(shù)組變量d中,要尋找的一個特定的數(shù)據(jù)(這個數(shù)據(jù)稱為查找鍵)已經(jīng)存儲在變量key中.
    下面是順序查找算法的輸入輸出說明.
    輸入:查找鍵(設(shè)在變量key中).  被查找的數(shù)據(jù)(設(shè)在數(shù)組變量d中).
    輸出:若找到,輸出值為key的數(shù)據(jù)所在的數(shù)組元素的下標(biāo),記為i;
    若未找到,輸出結(jié)果為提示字符串:“找不到“.
    當(dāng)在n=8個元素的數(shù)組里順序查找數(shù)據(jù)的示意圖如下:
    菁優(yōu)網(wǎng)
    總結(jié)順序查找數(shù)據(jù)結(jié)果判斷條件:
    (1)當(dāng)找到時,肯定i<=8,n個數(shù)據(jù)時,肯定i<=n,i即為找到的數(shù)組元素下標(biāo),d(i)=key;
    (2)當(dāng)“找不到“時,i=9>8了;n個數(shù)據(jù)時,當(dāng)i=n+1時,表示“找不到“.
    順序查找的主程序段如下:
    Private Sub 順序查找_Click(  )
    n個數(shù)據(jù)放入d(1)到d(n)中
    Key=Val(Text1.Text):i=1‘變量Key從文本框Text1取的數(shù)要查找的數(shù);
    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.某校成績查詢系統(tǒng)界面如圖所示,學(xué)生輸入自己的身份證號碼,可以查詢自己的總分及排名。以下為此軟件的VB程序,請在橫線處填上正確的代碼使程序完整。
    (1)
     
    ;
    (2)
     

    (3)command1_click過程用于查詢學(xué)生的總分成績及排名,這一查找方法為:
     
    (順序查找/對分查找)。
    菁優(yōu)網(wǎng)
    Dim a(1to 500)as string‘用于存放參加考試學(xué)生的身份證號碼
    Dim s(1to 500)as single‘用于存入?yún)⒓涌荚噷W(xué)生的總分成績
    ‘form_load 過程用于進(jìn)行一些初如化準(zhǔn)備工作
    Private Sub form_load ( ?。?br />‘將參加此次考試學(xué)生的身份證號碼存放在數(shù)組a中
    ‘將參加此次考試學(xué)生的總分成績存放在數(shù)組s中
    For i=1to 499‘利用排序法將學(xué)生成績進(jìn)行降序排序
    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過程用于查詢學(xué)生的總分成績及排名
    Private sub command_click ( ?。?br />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循環(huán)
    Next i
    If index=true then
    Text2.text=str(s(bank))
    Text3.text=str(bank)
    Else
    Msgbox (“無此身份號碼”)
    End if。

    組卷:12引用:2難度:0.5
APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:5.0.7 |隱私協(xié)議|第三方SDK|用戶服務(wù)條款
本網(wǎng)部分資源來源于會員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個工作日內(nèi)改正