資源簡介 人教中圖版(2019)2021-2022學年必修1 2.4常見算法的程序實現 培優練習一、選擇題1.以下適合用解析法解決的問題是( )。A.計算出租車費B.求符合要求的三位正整數的“水仙花數”C.將10個評委的打分按由大到小的順序排序D.找出一筐乒乓球質量不符合標準的球【答案】A【知識點】解析算法及程序實現2.某算法的部分流程圖如圖所示。執行這部分流程后,a,b的值分別是 。【答案】3,0【知識點】流程圖識讀3.(2021高一下·東臺月考)關于枚舉法,下列說法錯誤的是( )A.枚舉法的基本思想就是,根據問題的部分已知條件預估解的范圍,并在此范圍內對所有可能的情況進行逐一驗證,直到找到滿足已知條件的解為止B.枚舉范圍的大小直接影響著枚舉法的執行效率C.枚舉法,也稱蠻力法或暴力搜索法,理論上利用這種方法可破解任何一種密碼D.枚舉范圍中的判定條件直接影響著枚舉法的執行效率【答案】D【知識點】枚舉算法及程序實現4.某對分查找算法的VB程序段如下:i=1:j=7f=Falsekey=Val(Text1. Text)Do While i<=j And Not fm=(i+j)\2If a(m)=key Then f=TrueIf a(m)>key Then i=m-1 Else i=m+1LoopList1. AddItem Str(i)+Str(j)+Str(m)數組元素a(1)到a(7)的值依次為"23,42,58,66,77,83,98",運行上述程序段后,列表框List1中顯示的結果為"5 4 5",則文本框Text1中輸入值的范圍是( )A.[66,77] B.[66,77) C.(66,77] D.(66,77)【答案】D【知識點】查找算法及程序實現5.(2020高三上·浙江開學考)有如下VB程序段Dim a(1 To 5)As IntegerDim d(1 To 5)As Integera(1)=12:a(2)=21:a(3)=19:a(4)=11:a(5)=20n=5:Max=0For i=1 To nd(i)=0For j=1 To i-1If a(j)Next jIf d(i)>Max Then Max=d(i)Next i執行完以上程序段后,Max的值為( )A.1 B.2 C.3 D.4【答案】C【知識點】分支結構語句及程序實現;循環結構語句及程序實現6.下面說法正確的是( )A.算法+數據結構=程序 B.算法就是程序C.數據結構就是程序 D.算法包括數據結構【答案】A【知識點】算法的基本概念與特征;程序與指令;基本數據結構7.(2020高一上·連云港期末)如要編程畫出由100個圓組成的圖案,比較好的算法是( )。A.按順序執行100個畫不同大小圓的程序段B.①先編寫1個能畫不同大小圓的程序模塊 ②在主程序中用100語句調用畫圓程序模塊C.①先編寫1個能畫不同大小圓的程序模塊 ②用循環方法調用100次畫圓程序模塊D.不必先定義畫圓程序模塊,而直接循環100次的方法來畫圖案【答案】C【知識點】算法的控制結構;編程處理數據與可視化8.(2021高二下·浙江期中)已知有這樣一種對冒泡排序的優化方法:在每一遍“加工”過程中,記錄在這遍“加工”中是否進行過數據交換。若在一遍“加工”過程中沒有進行過數據交換,則數據已經有序,可以直接退出循環結束排序。則下列說法錯誤的是( )A.對有n個數據的數組進行優化后的冒泡排序,最小比較次數為n-1。B.對有n個數據的數組進行冒泡排序,無論是否優化,最大比較次數相同。C.對冒泡排序算法進行優化,能夠較大提高其效率,符合算法設計的一般原則。D.若待排序數組中的數據依次為23,17,46,58,34,11,對其使用優化后的冒泡排序進行升序排序,比較次數為9。【答案】D【知識點】排序算法及程序實現二、填空題9.閱讀下列程序,寫出運行結果a,b = 1,1 n = int(input("請輸入一個大于等于3的正整數n:")) for i in range(n-2):c =a + b a = b b = c print(c) 程序運行后,輸入:6運行輸出結果是: 【答案】8【知識點】循環結構語句及程序實現10. 有一種算法是把所有可能的答案一一列舉,合適就保留,不合適就丟棄。這種方法稱作 。枚舉法解決問題的一般結構: 。【答案】“枚舉”或“窮舉”;循環+判斷【知識點】枚舉算法及程序實現11.(2020高一下·浦東月考)輸入123,以下流程圖描述的算法,執行結果是 。【答案】Yes【知識點】算法的控制結構;常量、變量及變量的賦值【解析】【解答】n=123,n=int(n/10) mod 10=2,n=n mod 10=2,int(n/2)=n/2成立,最后為YES。故答案為:YES。【分析】本題考查流程圖的識讀。12.閱讀以下程序,寫出程序運行結果。def jc(n):s=1for i in range(2,n+1):s=s*ireturn stotal=jc(4) #調用jc函數print(total)程序運行后,其輸出結果為 【答案】24【知識點】循環結構語句及程序實現13.閱讀下列程序,寫出運行結果s = 1 for i in range(1,10,3):s = s *i print(s)運行輸出結果是: 【答案】28【知識點】循環結構語句及程序實現14.閱讀下列程序,寫出運行結果。m = int(input("請輸入一個正整數:")) x = m y = m for i in range(9):n = int(input("請輸入一個正整數:")) if n9 11 2388 13 1929 55運行結果是: 【答案】9 9【知識點】分支結構語句及程序實現;循環結構語句及程序實現三、程序編寫15.編寫一個程序,它將找到所有這些數字,可被7整除,但不是5的倍數,2000年至3200年(包括在內)。得到的數字應按逗號分隔的順序打印在一行上。提示:考慮使用range(#begin,#end)【答案】l=[]for i in range(2000,3201):if (i%7==0)and (i%5!=0):l.append(str(i))print (','.join(1))【知識點】分支結構語句及程序實現;循環結構語句及程序實現【解析】【分析】本題考查的是程序的編寫。程序的編寫難度較大,使用range( )定義i的取值范圍,然后利用if判斷語句可被7整除,但不是5的倍數,最后利用join函數打印出結果即可。16.(2020高一上·南海期末)騎車與走路方便又環保的共享單車作為中國新四大發明的存在,已經在很多城市投放使用。在使用過程要經歷找車、開鎖、停車、鎖車等環節。請你用計算機編程來判斷在不同的距離使用下,是騎車快還是走路快。假設找到自行車,開鎖并騎上自行車的時間為27秒;停車鎖車的時間為23秒;步行每秒行走1.2米,騎車每秒行走3.0米。【答案】解:#print('步行每秒1.2米,騎車每秒3.0米,開鎖+上車27秒,停車+鎖車23秒')L=int(input("請輸入距離:"))if 23+27+L/3.0print('騎車快')else:print('步行快')【知識點】分支結構語句及程序實現1 / 1人教中圖版(2019)2021-2022學年必修1 2.4常見算法的程序實現 培優練習一、選擇題1.以下適合用解析法解決的問題是( )。A.計算出租車費B.求符合要求的三位正整數的“水仙花數”C.將10個評委的打分按由大到小的順序排序D.找出一筐乒乓球質量不符合標準的球2.某算法的部分流程圖如圖所示。執行這部分流程后,a,b的值分別是 。3.(2021高一下·東臺月考)關于枚舉法,下列說法錯誤的是( )A.枚舉法的基本思想就是,根據問題的部分已知條件預估解的范圍,并在此范圍內對所有可能的情況進行逐一驗證,直到找到滿足已知條件的解為止B.枚舉范圍的大小直接影響著枚舉法的執行效率C.枚舉法,也稱蠻力法或暴力搜索法,理論上利用這種方法可破解任何一種密碼D.枚舉范圍中的判定條件直接影響著枚舉法的執行效率4.某對分查找算法的VB程序段如下:i=1:j=7f=Falsekey=Val(Text1. Text)Do While i<=j And Not fm=(i+j)\2If a(m)=key Then f=TrueIf a(m)>key Then i=m-1 Else i=m+1LoopList1. AddItem Str(i)+Str(j)+Str(m)數組元素a(1)到a(7)的值依次為"23,42,58,66,77,83,98",運行上述程序段后,列表框List1中顯示的結果為"5 4 5",則文本框Text1中輸入值的范圍是( )A.[66,77] B.[66,77) C.(66,77] D.(66,77)5.(2020高三上·浙江開學考)有如下VB程序段Dim a(1 To 5)As IntegerDim d(1 To 5)As Integera(1)=12:a(2)=21:a(3)=19:a(4)=11:a(5)=20n=5:Max=0For i=1 To nd(i)=0For j=1 To i-1If a(j)Next jIf d(i)>Max Then Max=d(i)Next i執行完以上程序段后,Max的值為( )A.1 B.2 C.3 D.46.下面說法正確的是( )A.算法+數據結構=程序 B.算法就是程序C.數據結構就是程序 D.算法包括數據結構7.(2020高一上·連云港期末)如要編程畫出由100個圓組成的圖案,比較好的算法是( )。A.按順序執行100個畫不同大小圓的程序段B.①先編寫1個能畫不同大小圓的程序模塊 ②在主程序中用100語句調用畫圓程序模塊C.①先編寫1個能畫不同大小圓的程序模塊 ②用循環方法調用100次畫圓程序模塊D.不必先定義畫圓程序模塊,而直接循環100次的方法來畫圖案8.(2021高二下·浙江期中)已知有這樣一種對冒泡排序的優化方法:在每一遍“加工”過程中,記錄在這遍“加工”中是否進行過數據交換。若在一遍“加工”過程中沒有進行過數據交換,則數據已經有序,可以直接退出循環結束排序。則下列說法錯誤的是( )A.對有n個數據的數組進行優化后的冒泡排序,最小比較次數為n-1。B.對有n個數據的數組進行冒泡排序,無論是否優化,最大比較次數相同。C.對冒泡排序算法進行優化,能夠較大提高其效率,符合算法設計的一般原則。D.若待排序數組中的數據依次為23,17,46,58,34,11,對其使用優化后的冒泡排序進行升序排序,比較次數為9。二、填空題9.閱讀下列程序,寫出運行結果a,b = 1,1 n = int(input("請輸入一個大于等于3的正整數n:")) for i in range(n-2):c =a + b a = b b = c print(c) 程序運行后,輸入:6運行輸出結果是: 10. 有一種算法是把所有可能的答案一一列舉,合適就保留,不合適就丟棄。這種方法稱作 。枚舉法解決問題的一般結構: 。11.(2020高一下·浦東月考)輸入123,以下流程圖描述的算法,執行結果是 。12.閱讀以下程序,寫出程序運行結果。def jc(n):s=1for i in range(2,n+1):s=s*ireturn stotal=jc(4) #調用jc函數print(total)程序運行后,其輸出結果為 13.閱讀下列程序,寫出運行結果s = 1 for i in range(1,10,3):s = s *i print(s)運行輸出結果是: 14.閱讀下列程序,寫出運行結果。m = int(input("請輸入一個正整數:")) x = m y = m for i in range(9):n = int(input("請輸入一個正整數:")) if n9 11 2388 13 1929 55運行結果是: 三、程序編寫15.編寫一個程序,它將找到所有這些數字,可被7整除,但不是5的倍數,2000年至3200年(包括在內)。得到的數字應按逗號分隔的順序打印在一行上。提示:考慮使用range(#begin,#end)16.(2020高一上·南海期末)騎車與走路方便又環保的共享單車作為中國新四大發明的存在,已經在很多城市投放使用。在使用過程要經歷找車、開鎖、停車、鎖車等環節。請你用計算機編程來判斷在不同的距離使用下,是騎車快還是走路快。假設找到自行車,開鎖并騎上自行車的時間為27秒;停車鎖車的時間為23秒;步行每秒行走1.2米,騎車每秒行走3.0米。答案解析部分1.【答案】A【知識點】解析算法及程序實現2.【答案】3,0【知識點】流程圖識讀3.【答案】D【知識點】枚舉算法及程序實現4.【答案】D【知識點】查找算法及程序實現5.【答案】C【知識點】分支結構語句及程序實現;循環結構語句及程序實現6.【答案】A【知識點】算法的基本概念與特征;程序與指令;基本數據結構7.【答案】C【知識點】算法的控制結構;編程處理數據與可視化8.【答案】D【知識點】排序算法及程序實現9.【答案】8【知識點】循環結構語句及程序實現10.【答案】“枚舉”或“窮舉”;循環+判斷【知識點】枚舉算法及程序實現11.【答案】Yes【知識點】算法的控制結構;常量、變量及變量的賦值【解析】【解答】n=123,n=int(n/10) mod 10=2,n=n mod 10=2,int(n/2)=n/2成立,最后為YES。故答案為:YES。【分析】本題考查流程圖的識讀。12.【答案】24【知識點】循環結構語句及程序實現13.【答案】28【知識點】循環結構語句及程序實現14.【答案】9 9【知識點】分支結構語句及程序實現;循環結構語句及程序實現15.【答案】l=[]for i in range(2000,3201):if (i%7==0)and (i%5!=0):l.append(str(i))print (','.join(1))【知識點】分支結構語句及程序實現;循環結構語句及程序實現【解析】【分析】本題考查的是程序的編寫。程序的編寫難度較大,使用range( )定義i的取值范圍,然后利用if判斷語句可被7整除,但不是5的倍數,最后利用join函數打印出結果即可。16.【答案】解:#print('步行每秒1.2米,騎車每秒3.0米,開鎖+上車27秒,停車+鎖車23秒')L=int(input("請輸入距離:"))if 23+27+L/3.0print('騎車快')else:print('步行快')【知識點】分支結構語句及程序實現1 / 1 展開更多...... 收起↑ 資源列表 人教中圖版(2019)2021-2022學年必修1 2.4常見算法的程序實現 培優練習(學生版).docx 人教中圖版(2019)2021-2022學年必修1 2.4常見算法的程序實現 培優練習(教師版).docx 縮略圖、資源來源于二一教育資源庫