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

          浙教版(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
          APP開發者:深圳市菁優智慧教育股份有限公司| 應用名稱:菁優網 | 應用版本:5.0.7 |隱私協議|第三方SDK|用戶服務條款
          本網部分資源來源于會員上傳,除本網組織的資源外,版權歸原作者所有,如有侵犯版權,請立刻和本網聯系并提供證據,本網將在三個工作日內改正