資源簡介 綜合練習 - 浙教版(2019)高中信息技術(shù)選修1一、選擇題1.有如下 Python 程序段def bianli(head):pt = headwhile pt != -1:print(data[pt][0],data[pt][1],"->",end='')pt = data[pt][1]print()data = [['A',1],['B',2],['C',3],['D',-1]]head = 0bianli(head) #遍歷鏈表,顯示初始狀態(tài)為“A 1 ->B 2 ->C 3 ->D -1 ->”qt = headpt = data[qt][1]bianli(head) #遍歷鏈表,顯示最終狀態(tài)為“A 2 ->C 1 ->B 3 ->D -1 ->”執(zhí)行該程序段后,鏈表遍歷結(jié)果由初始狀態(tài)變?yōu)樽罱K狀態(tài),上述程序段中方框處可選代碼為:①data[data[qt][1]][1] = pt②data[qt][1] = data[pt][1]③data[pt][1] = data[data[pt][1]][1]則方框處代碼的正確順序是( )A.①②③ B.①③② C.②①③ D.②③①2.已知一個有7個節(jié)點的單向鏈表,設(shè)有頭指針head和尾指針tail,如右圖所示,下列操作需要遍歷多個節(jié)點的是( )A.刪除該鏈表中的最后一個節(jié)點B.刪除該鏈表中的第一個節(jié)點C.在該鏈表第一個節(jié)點前插入一個新節(jié)點D.在該鏈表最后一個節(jié)點后插入一個新節(jié)點3.用兩個列表a、b分別保存單向鏈表中的數(shù)據(jù)區(qū)域和指針區(qū)域。如下圖所示,在節(jié)點x與節(jié)點y之間插入一個新節(jié)點,操作步驟正確的是( )①b[i]= b[y] ②b[i]= b[x] ③b[y]= i ④b[x]=i ⑤b[i]= x ⑥b[i]= yA.③⑥ B.④② C.①③ D.②④4.用棧的數(shù)據(jù)結(jié)構(gòu)編寫進制轉(zhuǎn)換中的“除二取余法”的程序段如下:st=[-1]*100top=-1n=int(input("請輸入一個十進制數(shù): "))while n>0:while top!=-1:print(st[top],end="")top-=1方框處的代碼由以下四部分組成:①n=n//2 ②top+=1 ③x=n%2 ④st[top]=x下列選項中,代碼順序正確的是( )A.③④②① B.③①②④ C.①②③④ D.①③④②5.某二分查找算法的 python 程序段如下, 運行該段代碼后, 輸出的結(jié)果不可能是( )import randoma = [10,20,30,40,50,60,70,80]key = random.choice(a); i,j = 0,len(a)-1 ; s = ""while i<=j:m = (i+j)//2if key == a[m]:s = s+"M"; breakelif key < a[m]:j = m-1; s = s+"L"else:i = m+1; s = s+"R"print(s)A.LLM B.LRM C.RRRM D.RRLM6.某對分查找算法的Python程序段如下:key=int(input("請輸入待查數(shù)據(jù)值:"))d=[17,18,20,23,24,25,28,32,34,35]f=False;s=""i=0;j=len(d)-1while i<=j: m=(i+j)//2 s=s+","+str(d[m]) if d[m]==key: f=True break if key < d[m]: j=m-1 else: i=m+1if f==True: print("查找成功!遍歷的數(shù)據(jù)"+s)else:print("沒有找到!")輸入待查數(shù)據(jù)值為 23,執(zhí)行該程序段,則輸出的結(jié)果是( )A.25,20,24,23 B.24,18,20,23 C.25,20,23 D.24,20,237.有如下Python程序代碼:s="ABCDEF";head=0;tail=0que=[""]*100for i in range(len(s)):if i%2==0:que[tail]=s[i]else:que[tail]=s[len(s)-i]tail=tail+1for i in range(len(s)):print(que[head],end="")head=head+1以上程序運行后,打印出列表的情況是:( )A.ABCDEF B.FEDCBA C.ACEFDB D.AFCDEB8.已知一棵二叉樹的前序遍歷序列為:A-B-D-C-E,后序遍歷序列為:D-B-E-C-A,則該二叉樹是否 能唯一確定?中序遍歷序列是?( )A.能唯一確定,中序遍歷序列為:B-D-A-E-CB.不能唯一確定, 中序遍歷序列可能為: B-D-A-E-CC.能唯一確定,中序遍歷序列為:D-C-B-A-ED.不能唯一確定, 中序遍歷序列可能為: D-C-B-A-E二、填空題9.遞增數(shù)列用二分法查找時,先以________位置的元素作為比較對象,如果要找的元素值小于該中點元素,則將待查序列________為左半部分,否則為右半部分。每一次比較后都可以將查找區(qū)間縮小一半。10.數(shù)組 d 的初始值如表所示,則 d(d(3))+d(4)的值 ( )。11.小明同學所在城市的地鐵線路局部圖,如圖所示。他計劃從A站出發(fā)去B站附近的圖書館學習。假設(shè)地鐵各線路每兩站間行車用時相等,記為t1,??空緯r間忽略不計;換乘地鐵的用時也都相等,記為t2。(1)如果t1=t2,小明同學希望盡快到達B站,試為他推薦一條最佳乘車路線。_________________________________(2)設(shè)t1=2min,t2=lmin,則小明從A站出發(fā)到達B站的最短用時為___________min。12.指出下列數(shù)據(jù)所屬的數(shù)據(jù)類型(1)789( )(2)345.890( ) (3)‘N’( )(4)1.23e2( )(5)“C語言”( )13.遞歸的要素:________的遞歸的重要組成;________,它保證遞歸能在________的計算后得出結(jié)果,而不會產(chǎn)生________的情況。三、判斷題14.數(shù)據(jù)處理的一般過程是明確目標、數(shù)據(jù)采集、數(shù)據(jù)加工、數(shù)據(jù)分析及數(shù)據(jù)可視化。( )15.迭代算法與遞歸算法都需要重復執(zhí)行某些代碼,兩者基本相同。 ( )16.遞歸的邊界條件要素,是為了保證遞歸能在有限次的計算后得出結(jié)果,而不會產(chǎn)生無限循環(huán)的情況。 ( )17.圖結(jié)構(gòu)中數(shù)據(jù)元素是多對多的關(guān)系。( )18.數(shù)據(jù)管理指的就是對數(shù)據(jù)進行查詢和統(tǒng)計。( )四、操作題19.打開文件“考生文件夾\670\Fibonacci.py”,完善程序?qū)崿F(xiàn)如下功能并保存:斐波那契在《計算之書》中提出了一個有趣的兔子問題:假設(shè)一對兔子每個月可以生一對小兔子,一對兔子出生后第2個月就開始生小兔子。則一對兔子一年內(nèi)能繁殖成多少對?#請不要更改源程序的結(jié)構(gòu),刪除原題里的①、②、③。填寫正確的代碼,使程序完善def fib(n): f2=f1= ① for i in range(3, ② ): f1,f2=f2,f1+f2 return ③n=int(input('輸入需要計算的月份數(shù):'))print('兔子總對數(shù)為:',fib(n))input("運行完畢,請按回車鍵退出...")①____________________②____________________③__________________試卷第1頁,共3頁試卷第1頁,共3頁參考答案:1.D2.A3.D4.B5.D6.B7.D8.B9. 中點 縮小10.2011. A-L-K-H-G-B 或 A-L-K-J-I-B 1212. int float char double char13. 遞推關(guān)系 邊界條 有限 無限循環(huán)14.錯誤15.錯16.對17.正確18.錯誤19. 1 n+1 f2答案第1頁,共2頁答案第1頁,共2頁 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫