21.(一)順序查找數據:我們假定被查找的數據存儲在有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.
26.某 Python程序如下: import random n=random.randint(1,4);a=[7,2,7,3,9,4] for i in range(1,n): for j in range(0,6-i): if a[j]<a[j+1]:a[j],a[j+1]=a[j+1],a[j] 執行該程序段后,數組a中的元素不可能為( )
27.某算法的python程序段如下: from random import randint a=[23,21,19,18,16,15,14,11] key=randint(0,3)*2+13 i,j,c=0,len(a)-1,0 while i<=j: m=(i+j+1)//2 if a[m]>=key: i=m+1 else: j=m-1 c+=1 該程序段執行后,下列說法不正確的是( )