資源簡介 2.3用算法解決問題的過程一、選擇題1.運用計算機程序解決問題時,下列步驟合理的是( )A.設計算法 分析問題 編寫程序 調試程序B.分析問題 設計算法 編寫程序 調試程序C.分析問題 編寫程序 設計算法 調試程序D.設計算法 編寫程序 分析問題 調試程序2.通過算法讓計算機解決問題時,算法的要素包括( ) 。A.信息、運算、控制轉移 B.數據、運算、控制轉移C.信息、數據、運算 D.信息、數據、控制轉移3.用計算機解決問題的過程中,( )是編程的核心。A.抽象建模 B.設計算法 C.編寫程序 D.調試運行程序4.設有n位選手參加羽毛球循環賽,循環賽共進行n-1次,每位選手要與其他n-1位選手比賽一場,且每位選手每天比賽一場,不能輪空。實現循環賽日程表利用的算法是( )A.分治法 B.動態規劃 C.貪心法 D.回溯法5.“大事化小、小事化了”體現出的問題求解的思想是( )A.遞推法 B.窮舉法 C.分治法 D.歸納法6.分治的設計思想,是將一個難以直接解決的大問題,分割成一些較小的同類問題,各個擊破,最終達到解決問題的目的。分治法所能解決的問題所具有的特征,以下說法錯誤的是( )A.該問題可以分解為若于個規模較小的相同的子問題B.該問題的規模足夠大C.該問題的規模縮小到一定的程度就可以很容易地解決D.將各個子問題的解可以合并為原問題的解7.劉麗編制計算機程序解決郵件加密的問題,需要經歷以下的過程:分析問題→( )→編寫程序→調試運行→檢測結果 A.確定條件 B.設計算法 C.明確問題 D.建立模型8.利用編程解決問題的首要步驟是( )。A.設計算法 B.調試運行 C.分析問題 D.編寫程序9.小明為機器人設計算法"機器人走棋盤",流程圖如圖1。根據這個算法,機器人從圖2棋盤A位置沿箭頭方向出發,將到達( )圖1圖2A.③位置 B.④位置 C.①位置 D.②位置10.用計算機解決問題的-般過程有四個步驟,其中正確的順序是( )(1)解決問題(2)編程調試(3)設計方案(4)分析問題A.(1)(2)(3)(4) B.(1)(3)(2)(4)C.(4)(2)(3)(1) D.(4)(3)(2)(1)11.以下問題中,最適合用程序設計的方式解決的是( )A.求三元一次方程組的解 B.一組調查數據的圖表表示C.編輯文稿 D.家庭裝修設計12.水仙花數是三位整數:其各位數字立方各等于該數本身,如153=1^3+5^3+3^3,如果要求出所有的水仙花數,下列算法最合適的是( )A.枚舉法 B.查找法 C.解析法 D.排序法13.程序設計中的“算法”其實就是()。A.解決問題的方法和步驟 B.能在計算機上解決的方法C.便于計算的方法 D.能通過電腦進行計算的方法14.以下問題最適合用計算機編程方法來處理的是( )。A.制作FlAsh動畫B.計算全班同學的期末考試各科平均分C.找出10000以內的素數D.學習中遇到難題時,在因特網上搜索解決方法15.為了求數列12+32+52+72+……+992的和,以下說法錯誤的是( )。A.求和通常采用累加器逐個累加,這題要重復累加50次。B.這個問題通過循環結構解決。C.在Visual Basic中只能用do while/loop語句編程解決這個問題。D.解決這個問題的算法不需要輸入。二、操作題16.“枚舉算法”又稱為“窮舉法”,其基本思想是:一一列舉出所有可能的解,并驗證每個可能的解是否是真正的解,若是,就采納,否則,就拋棄。小明利用枚舉算法解決“百元買百雞”問題。用100元錢買100只雞,公雞,母雞,小雞都要有。公雞5元1只,母雞3元1只,小雞1元3只。請問公雞,母雞,小雞各應該買多少只?假設公雞有X只,母雞有Y只,小雞有Z只。以下Python程序段實現了“百元買百雞”的功能,請補全①②③處代碼。c = 0for x in ____① :for y in range(1,33):z = 100-x-yif ______② :print("公雞:",x,"母雞:",y,"小雞:",z)_____③print("共有買法",c,"種")三、填空題17.解決問題:求m和 n的最大公約數。根據以下算法描述,回答問題。①輸入m,n②以m為被除數,n為除數,r為m除以n的余數③判斷r的值若r=0,輸出公約數n若r≠0,則n將賦值給m,再將r賦值給n,轉為執行步驟②(1)上述算法的描述方式是_____________。(2)若 m=2018,n =20,則最大公約數是_____________。(3)這個算法是著名歐幾里德算法,又稱_____________。(4)“r 為 m 除以 n 的余數”的 VB 語句是_____________。(5)上述算法是用程序的_____________結構實現。試卷第1頁,共1頁參考答案1.B【詳解】本題主要考查計算機程序解決問題。運用計算機程序解決問題的一般步驟是:分析問題、設計算法、編寫程序、調試程序,故本題選B選項。2.B【詳解】本題主要考查算法解決問題。通過算法讓計算機解決問題時,算法的要素包括數據、運算、控制轉移,故本題選B選項。3.B【詳解】本題主要考查計算機解決問題。用計算機解決問題的過程中,設計算法是編程的核心,編寫程序依據算法,故本題選B選項。4.A【詳解】本題主要考查分治算法。分治算法的基本思想將一個規模為N的問題,分解成K個規模較小的子問題,這些子問題相互獨立且月原問題性質相同。循環賽共進行n-1次,每位選手要與其他n-1位選手比賽一場,且每位選手每天比賽一場,不能輪空。可知實現循環賽日程表利用的算法是分治法,故本題選A選項。5.C【詳解】本題主要考查分治算法。分治算法的基本思想是將一個規模為N的問題分解為K個規模較小的子問題,這些子問題相互獨立且與原問題性質相同,求出子問題的解,就可得到原問題解。大事化小、小事化了,體現出的問題求解的思想是分治法,故本題選C選項。6.B【詳解】本題主要考查算法與問題解決。分治策略是對于一個規模為n的問題,若該問題可以容易地解決(比如說規模n較小)則直接解決,否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞歸地解這些子問題,然后將各子問題的解合并得到原問題的解,該問題的規模縮小到一定的程度就可以很容易地解決,故本題選B選項。7.B【詳解】本題主要考查編制程序解決問題。編制計算機程序解決問題,需要經歷以下的過程:分析問題→設計算法→編寫程序→調試運行→檢測結果,故本題選B選項。8.C【詳解】本題主要考查利用編程解決問題的步驟。利用編程解決問題的一般過程為:分析問題、設計算法、編寫程序、調試運行,故本題選C選項。9.B【詳解】本題主要考查算法流程圖。當i<=4時,前進4格,當i>4時,右轉,再前進,到達4位置,故本題選B選項。10.D【詳解】本題考查的是計算機解決問題。用計算機解決問題的一般過程有四個步驟:分析問題——設計方案——編程調試——解決問題。故選項D正確。11.A【詳解】本題考查的是計算機解決問題。當數據量很大,人工處理效率低時,我們可以借助計算機,通過編寫計算機程序解決問題。一組調查數據的圖表可以使用Excel表格生成,編輯文稿可以使用Word等文字編輯軟件,家庭裝修設計可以使用AutoCAD等制圖軟件來完成。故應選A。12.A【詳解】本題考查的是算法。枚舉法就是按問題本身的性質,一一列舉出該問題所有可能的解,并在逐一列舉的過程中,檢驗每個可能解是否是問題的真正解。查找是在大量的信息中尋找一個特定的信息元素。解析法又稱為分析法,它是應用數學推導、演繹去求解數學模型的方法。排序法是對元素進行升序或降序排列。如果要求出所有的水仙花數,最適合的是枚舉法。故選項A正確。13.A【詳解】本題考查算法概念。算法就是解決問題的方法和步驟,指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統的方法描述解決問題的策略機制。故本題選A。14.C【詳解】本題主要考查計算機編程解決問題。找出10000以內的素數適合用計算機編程的方法通過for循環結構來實現,故本題選C選項。15.C【詳解】本題主要考查編程解決問題。求和通常采用累加器逐個累加,這題要重復累加50次;這個問題通過循環結構解決;在Visual Basic中可以用do while/loop語句編程解決這個問題,也可以使用for循環解決;解決這個問題的算法不需要輸入,故本題選C選項。16.range(1,20) 5*x+3*y+z/3 == 100 c = c+1【詳解】本題考查的是python編程。X代表的是公雞,公雞5元一只,所以此處的range函數為range(1,20),左閉右開區間。if條件是滿足三種雞的總價格為100元的條件,故答案為5*x+3*y+z/3 == 100,注意這里是一個判斷條件,用==表示。c代表的是有幾種購買方案,當if條件滿足時,即滿足一種方案,執行方案數加1,c=c+1。17.自然語言描述 2 輾轉相除法 r=m mod n 循環結構【詳解】本題主要考查用算法解決問題的過程。①上述算法的描述方式自然語言描述。②按照算法描述,m=2018,n=20,r=2018 mod 20=18,第二遍循環,m=n=20,n=r=18,r=20 mod 18=2,第三遍循環,m=n=18,n=r=2,r=18 mod 2=0,輸出公約數n=2,故最大公約數是2。③這個算法是著名歐幾里德算法,又稱輾轉相除法。④“r為m除以n的余數”的VB語句是r=m mod n。⑤上述算法是用程序的循環結構實現。答案第2頁,共3頁答案第3頁,共3頁 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫