資源簡介 2.1 算法的概念及描述一、選擇題1.算法的特征包括下列哪幾項。( )A.有窮性 B.復雜性 C.可行性 D.確定性2.在深度優先搜索中,我們首先訪問一個節點,然后盡可能深地搜索其子節點,直到無法繼續為止。然后回溯到上一個節點,繼續搜索其它子節點。這種搜索策略的一個主要特點是它會深入探索任何一個分支。請問,這種搜索策略通常用于解決哪類問題( )A.尋找最短路徑問題 B.解決迷宮問題C.拓撲排序問題 D.尋找最大公約數問題3.下列關于算法描述,正確的是( )A.一個算法的執行步驟可以是無限的 B.一個完整算法必須要有輸入C.一個完整算法必須要有輸出 D.算法只能用流程圖表示4.符號運算中的“蘊含”關系通常用哪個符號表示( )A.∧ B.∨ C.→ D. 5.計算圓面積的算法可描述為 ①輸入圓半徑r ,②計算圓面積s= ,③輸出結果s ,④結束,這個算法屬于( )A.枚舉算法 B.排序算法 C.遞歸算法 D.解析算法6.計算機解決問題的步驟和方法是( )A.編程 B.分析 C.算法 D.抽象建模7.有關算法理解錯誤的是( )A.算法必須要有數據的輸出B.算法是計算機解決某一問題的方法,且需要使用某種方法進行精確地描述C.解決某一個實際問題的算法可以有無限個步驟D.算法的步驟不能出現歧義8.“洗衣機的洗衣流程”情境問題,洗衣機模擬人洗衣的過程,自動執行洗衣程序,節省了大量的人力,這主要歸功于由算法控制的機器設備。算法指在有限步驟內解決問題所使用的方法,從下圖2的“洗滌算法”中,可以看出算法具有的特征是( ) 圖1 圖2A.無窮性 B.單一性 C.確定性 D.繁瑣性9.第一年有一頭小母牛,每頭小母牛從出生第四年起,每年生一頭小母牛,按此規律,第10年時有( )頭母牛。A.13 B.15 C.19 D.2810.i=3:s=1/(i-3) 無法執行,原因是它違反了算法特征中的( )A.有窮性 B.唯一性 C.可行性 D.確定性11.某算法部分流程圖如圖所示,在流程圖空白處填入一組代碼,使輸出結果sum與表達式“2-4+6-8+…-100”值相同的是( )①i=i+1 ②k=-k*2 B.①k=-k ②i=i+2C.①i=i+2 ②k=-k D.①k=-k*2 ②i=i+212.下列問題無法用算法具體描述的是( )A.求所有自然數中5的倍數之和 B.計算一元二次方程的根C.百雞百錢問題D.隨機產生10個50以內的自然數并按降序排列13.下列關于流程圖描述算法說法正確的是( )A.流程圖直觀易懂,但容易產生二義性 B.流程圖描述算法不直觀、不清晰C.流程圖必須包含一個判斷框 D.流程圖中無須填寫程序代碼14.某算法流程圖如下圖所示,若輸入k的值為5,以下說法正確的是( )A.程序運行結束后,s的值是2 B.循環體共執行了5次C.程序結束后,t的值為-1 D.表達式i<k執行了5次15.下列關于“洗滌算法”的描述,錯誤的是( )A.洗滌算法中的每一步洗衣機都能理解并正確執行,體現了算法的確定性B.洗衣任務完成,蜂鳴器發出鳴叫聲,蜂鳴器鳴叫是一種輸出C.洗衣機能在有限的時間里完成洗衣任務,體現了算法的有窮性D.在“快洗”模式中,進水時間、洗滌次數等都屬于輸入二、填空題16.為了確保算法的正確性,我們通常需要對算法進行 ,以驗證其是否滿足預期的功能要求。17.在算法描述中,使用流程圖可以直觀地展示算法的 。18.空間復雜度表示算法執行過程中所需存儲空間的多少,通常與 相關。19.在解析算法時,我們通常需要關注算法的 、正確性和效率。20.深度優先搜索(DFS)是一種用于遍歷或搜索樹或圖的算法。它使用 數據結構來存儲待訪問的節點。21.算法是解決問題的方法,它具備有窮性、確定性、有零個或多個輸入、有一個或多個輸出、 等特征。三、判斷題22.使用偽代碼表示算法時,可以省略一些不必要的細節。( )23.在偽代碼中,通常不需要指定變量的類型。( )24.計算機算法必須具有有窮性、確定性、有輸入有輸出和可行性。( )25.算法有零個或多個輸入、有一個或多個輸出。( )26.算法是解決問題的方法,是程序設計的核心和靈魂,算法中的每一步不一定都可以被分解為基本的可執行操作。( )27.算法具有確定性,每個問題的解決,只有一種確定的算法。( )四、操作題28.算法是指在有限步驟內求解某一問題所使用的一組定義明確的規則。某一個算法的描述如下:①輸入兩個數A,B;②如果A大于B,則A除以B的余數值賦給C;③否則,則將B除以A的余數值賦給C;④輸出C;⑤結束(1)以上算法的描述屬于哪一種: ;(2)以上算法第②步用Python語言實現,下劃線文字的代碼可以寫為: ;(3)以上算法第③步用Python語言實現,下劃線文字的代碼可以寫為: ;(4)如果A的值是5,B的值是3,則執行完算法后,A的值是 ,C的值是 。參考答案:1.ACD【詳解】本題主要考查算法的特征。一個算法應該具有以下五個重要的特征:1、有窮性: 一個算法必須保證執行有限步之后結束;2、確切性:算法的每一步驟必須有確切的定義;3、輸入:一個算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指算法本身定義了初始條件;4、輸出:一個算法有一個或多個輸出,以反映對輸入數據加工后的結果。沒有輸出的算法是毫無意義的;5、可行性:算法原則上能夠精確地運行,而且人們用筆和紙做有限次運算后即可完成。故本題選ACD選項。2.B【詳解】本題考查算法。尋找最短路徑問題:雖然DFS可以用于找到路徑,但它通常不是尋找最短路徑的首選算法,因為DFS會深入探索任何一個分支,而不考慮路徑的長度。拓撲排序問題:拓撲排序通常用于有向無環圖(DAG),以確保所有任務都按照正確的順序執行。雖然DFS可以用于拓撲排序(通過記錄節點的完成時間),但這不是DFS的主要應用場景。拓撲排序更常用的是基于Kahn算法或基于DFS的另一種變體(記錄節點的開始時間)。尋找最大公約數問題:這個問題與DFS無關。尋找最大公約數通常使用歐幾里得算法(也稱為輾轉相除法)。深度優先搜索通常用于解決迷宮問題等需要深入探索分支的問題。故正確答案為:選項B。3.C【詳解】本題主要考查算法的描述。一個算法的執行步驟必須是有限的; 一個完整算法可以有零個或多個輸入; 一個完整算法必須要有輸出; 算法能用流程圖、自然語言、偽代碼等表示,故本題選C選項。4.C【詳解】本題考查符號運算。“→”也可以表示蘊含關系,即如果前面的命題為真,那么后面的命題也為真(盡管這種用法不如條件關系常見)。但在某些邏輯系統中,“蘊含”確實是這樣表示的。請注意,此題可能存在歧義,因為“蘊含”更常見的表示方法是使用條件語句,如“如果P,則Q”。然而,在給定的選項中,“→”是最接近“蘊含”關系的符號。因此,選擇C作為答案。但在實際應用中,請務必注意符號的準確含義和上下文。故選C。5.D【詳解】本題主要考查算法的描述。計算圓面積s可以用帶入公式計算得到,屬于解析算法,故本題選D選項。6.C【詳解】本題考查計算機解決問題。計算機解決問題的步驟和方法涉及多個方面,包括分析問題、設計算法、編寫程序等。在這些步驟中,算法起著關鍵作用。算法是一系列清晰而有序的指令,描述了如何執行特定任務或解決特定問題。通過設計和實現算法,計算機能夠有效地解決各種問題。故答案為:C。7.C【詳解】本題主要考查算法的描述。一個算法應該具有以下五個重要的特征:1、有窮性: 一個算法必須保證執行有限步之后結束;2、確切性:算法的每一步驟必須有確切的定義;3、輸入:一個算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指算法本身定義了初始條件;4、輸出:一個算法有一個或多個輸出,以反映對輸入數據加工后的結果。沒有輸出的算法是毫無意義的;5、可行性:算法原則上能夠精確地運行,而且人們用筆和紙做有限次運算后即可完成。故本題選C選項。8.C【詳解】本題考查的是算法特征。一個算法應該具有以下五個重要的特征:1、有窮性:一個算法必須保證執行有限步之后結束;2、確切性:算法的每一步驟必須有確切的定義;3、輸入:一個算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指算法本身定除了初始條件;4、輸出:一個算法有一個或多個輸出,以反映對輸入數據加工后的結果,沒有輸出的算法是毫無意義的;5、可行性:算法原則上能夠精確地運行,而且人們用筆和紙做有限次運算后即可完成。從圖中可知,算法具有確定性。故本題應選C。9.C【詳解】本題主要考查算法描述。根據題干規律,可列出如下表格,由表可知,第10年時有19頭母牛,故本題選C選項。 10.C【詳解】本題考查的是算法特征。i=3:s=1/(i-3) ,除數為0,它違反了算法特征中的可行性,故應選項C。11.B【詳解】本題考查的是流程圖識讀。輸出結果sum與表達式“2-4+6-8+…-100”值相同的,判斷條件為i<=100,故i=i+2要在sum=sum+i*k的后;要實現正負的切換,通過k=-k實現。故選B。12.A【詳解】本題考查算法相關內容。一個算法應該具有的特征:(1)有窮性,一個算法必須保證執行有限步之后結束; (2)確切性,算法的每一步驟必須有確切的定義;(3)輸入,一個算法有零個或多個輸入,以刻畫運算對象的初始情況;(4)輸出,一個算法有一個或多個輸出,以反映對輸入數據加工后的結果.沒有輸出的算法是毫無意義的;(5)可行性,算法原則上能夠精確地運行。BCD符合算法特性,可以描述,A選項,不符合算法的有窮性,錯誤。故本題答案是A選項。13.D【詳解】本題考查流程圖相關內容。流程圖描述算法,優點:形象直觀,各種操作一目了然,不會產生“歧義性”,便于理解,算法出錯時容易發現,并可以直接轉化為程序。缺點:所占篇幅較大,由于允許使用流程線,過于靈活,不受約束,使用者可使流程任意轉向,從而造成程序閱讀和修改上的困難,不利于結構化程序的設計。流程圖表示順序結構時,不含判斷框。ABC說法錯誤 。流程圖是以特定的圖形符號加上說明,表示算法的圖,不需要填寫程序代碼。D選項正確。故本題答案是D選項。14.D【詳解】本題考查的是流程圖識讀。觀察流程圖可知,該算法功能是計算s=1-2+3-……t-1的值。若輸入k的值為5,s=1-2+3-4=-2,選項A說法錯誤;i從1到4,故循環體共執行了4次,選項B說法錯誤;程序結束后,t的值為1,選項C說法錯誤;i要從1判斷到5,故表達式i<k執行了5次,選項D說法正確。故本題應選D。15.D【詳解】本題主要考查算法的描述。在“快洗”模式中,進水時間、往洗衣機放衣物等都屬于輸入,洗滌次數不屬于輸入,故本題選D選項。16.測試【詳解】本題考查算法相關內容。測試是驗證算法正確性的常用手段,通過輸入特定的測試用例來檢查算法的輸出是否符合預期。故本題答案是:測試。17.邏輯結構【詳解】本題考查算法流程圖相關內容。在算法描述中, 使用流程圖是一種非常直觀的方法來展示算法的邏輯結構。 流程圖通過使用特定的圖形符號和帶箭頭的線, 可以清晰地表示出算法中的順序、 選擇和循環等基本結構。 這種圖形化的表示方法不僅使得算法的執行過程一目了然, 而且有助于理解和分析算法的邏輯流程。 故本題答案是:邏輯結構。18.輸入規模【詳解】本題考查算法相關內容。空間復雜度是衡量算法執行過程中所需存儲空間大小的一種量度, 它與輸入規模有關, 是評估算法效率的一個重要方面。 故本題答案是:輸入規模。19.可讀性【詳解】本題考查算法。解析算法時,除了正確性和效率,還需要關注算法的可讀性,即代碼是否易于理解。故答案為:可讀性。20.棧【詳解】本題考查算法。深度優先搜索使用棧這種數據結構來存儲待訪問的節點,以便實現后進先出的遍歷順序。故正確答案為:棧。21.可行性【詳解】本題考查算法的描述。算法是解決問題的方法,它具備有窮性、確定性、有零個或多個輸入、有一個或多個輸出、可行性等特征。22.正確【詳解】本題考查偽代碼。偽代碼的目的是清晰地呈現算法的核心邏輯和主要步驟,而非追求完全詳細和精確到編程語言的級別。因此,在不影響理解算法本質和流程的前提下,可以省略一些在特定編程語言中才需要關注的非關鍵細節。這樣能更突出算法的重點和關鍵部分,使讀者更容易把握算法的整體思路。故說法正確。23.正確【詳解】本題考查偽代碼。偽代碼的主要目的是清晰地表達算法的邏輯和步驟,重點在于算法的思路和結構,而不是嚴格遵循編程語言中對變量類型的明確指定。它更側重于以一種簡潔和易懂的方式描述算法,讓讀者能夠快速理解算法的核心內容。故說法正確。24.正確【詳解】本題考查算法特征。有窮性,算法必須在有限的時間內完成,即算法的執行步驟是有限的,不能陷入無限循環中。確定性,算法的每一步驟都必須有明確的定義,不會出現模棱兩可的情況。算法在相同的條件下,只有一條執行路徑,相同的輸入只會產生相同的輸出。輸入,算法有零個或多個輸入,這些輸入是算法開始執行前所必需的或外部提供的。輸出,算法至少有一個輸出,它是算法執行后產生的結果。算法的目的是為了求解某個問題或處理某個數據,并將處理結果以某種形式輸出。可行性,算法的每一步都必須是可行的,也就是說,每一步都能通過執行有限次數的基本運算實現,故根據題意說法正確。25.正確【詳解】本題考查算法特征相關內容。算法基本特點:有窮性、可行性、確定性、輸入(零或多個輸入)、輸出(有一個或多個輸出)。故本題答案是:正確。26.錯誤【詳解】本題主要考查算法的描述。算法是解決問題的方法,是程序設計的核心和靈魂,算法中的每一步一定都可以被分解為基本的可執行操作,故表述錯誤。27.錯誤【詳解】本題主要考查算法的描述。算法具有確定性,每個問題的解決,可以有多種確定的算法,故表述錯誤。28. 自然語言 C = A % B C = B % A 5 2【詳解】本題考查算法的表示方法。(1)題目中是以自然語言的形式對算法進行描述的。故答案為:自然語言。(2)在 Python 中,A 除以B的余數用A % B表示,所以這里填 C = A % B。(3)同理,B 除以A的余數用B % A表示,所以填 C = B % A。(4)當A=5,B=3時,A大于B,執行第②步,C=5%3=2,A的值不變仍為5,所以A的值是5,C的值是2。故答案為:5、2。 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫