資源簡介 必修1 數據與計算第三章 算法基礎3.1 體驗計算機解決問題的過程3.1.1 人工解決問題的過程人工解決問題:明確要解決的問題和給出的條件,分析問題、確定解決問題的方法,解決問題。3.1.2 計算機解決問題的過程計算機程序解決問題的過程:分析問題→設計算法→編寫程序→調試運行程序。分析問題:分析問題的需求情況、已知條件、需要解決的問題。設計算法:分析問題的基礎上,給出解決問題的詳細方法和步驟。編寫程序:用一種計算機語言工具編寫程序,實現算法。調試運行程序:輸入程序,檢查程序運行效果,查看結果。(1)計算機只能識別程序設計語言中所規定的語法規則,哪怕是一個標點符號出錯,也會因程序出錯而中斷運行。(2)當程序能夠順利運行以后,我們還需要對結果進行驗證,因為邏輯錯誤或計算方法錯誤,計算機是檢查不出來的。3.2 算法及其描述3.2.1 算法1. 算法算法:是指在有限步驟內求解某一問題所使用的一組定義明確的規則。通俗地說,算法就是用計算機求解某一問題的方法,是能被機械地執行的動作或指令的有窮集合。2. 算法的特征(1)有窮性。一個算法在執行有窮步之后必須結束,計算步驟是有限的。(2)確定性。算法執行的每一步驟都必須有確切的定義。(3)數據輸入。一個算法必須有0個或多個數據輸入。(4)數據輸出。一個算法有1個或多個數據輸出,沒有輸出的算法是毫無意義的。(5)可行性。算法中每個計算步驟都可以在有限時間內完成。3.2.2 算法的描述1. 描述算法的常用方法(1)用自然語言描述算法:使用日常交流所用語言來描述算法 (如漢語、英語等)(2)用流程圖描述算法:使用程序框圖來描述算法(3)用偽代碼描述算法:介于自然語言與計算機語言之間的文字與符號,它不使用圖形符號,書寫方便 ,易于理解。2. 三種基本控制結構(1)順序結構:表示程序中的各步操作按出現的先后順序執行(2)選擇結構:表示程序的處理步驟出現了分支,需要根據某一特定的條件選擇其中的一個分支執行;選擇結構有單選擇、雙選擇、多選擇3種。(3)循環結構:表示程序反復執行某個或某些操作,直到判斷條件為假(或為真)時才可終止循環3.3 計算機程序與程序設計語言3.3.1 計算機程序計算機程序:是指為了得到某種結果而可以由計算機等具有信息處理能力的裝置執行的代碼化指令序列,簡而言之,計算機程序就是指計算機可以識別運行的指令集合。計算機組成:運算器、控制器、存儲器、輸入設備和輸出設備。運算器和控制器一般做在一個超大規模的集成電路中,合稱中央處理器,即CPU。計算機的工作過程:存儲程序,程序控制。3.3.2 計算機程序設計語言計算機程序設計語言的發展,經歷了從機器語言、匯編語言到高級語言的發展歷程。(1)機器語言:由0和1表示的二進制代碼組成的語言,能被計算機直接接收和執行。(2)匯編語言:使用了一種類似英文縮略詞且帶有助記性符號的語言,但是,計算機不能直接識別和執行這些符號,需要一個專門的語言翻譯器,負責將程序中的每條語句都翻譯成用二進制數表示的機器語言。如:MOV AL,9;ADD AL,8。(3)高級語言:接近于數學語言和人的自然語言,不再過度依賴某種特定的機器或環境;同理,高級編程語言也不能被計算機直接識別和執行。第一種高級語言,Fortran語言,主要用于科學和工程計算。其他高級編程語言:C、Pascal、Basic、VC、VB、Delphi、Java、Python等。用高級語言編寫的程序也不能直接被計算機識別和執行,必須經過編譯程序或解釋程序將其翻譯成機器語言。所謂編譯程序是指計算機把高級語言程序的每一條語句都編譯成機器語言,并保存成二進制文件后才運行的程序。解釋程序是指計算機在執行高級語言程序時,逐條語句解釋成機器語言并立即執行的程序。第二章 算法基礎 學業測試一、單選題1.人們利用計算機解決問題的基本過程為( )。①調試運行程序 ②分析問題 ③設計算法 ④問題解決 ⑤編寫程序A.①②③④⑤ B.②④③⑤① C.④②③⑤① D.②③⑤①④【答案】:D【解析】:見教材P46,編寫計算機程序的過程是分析問題、設計算法、編寫程序、調試運行程序、問題解決。2.下面關于算法的描述,正確的是( )。A.算法不可以用自然語言描述B.算法只能用流程圖來描述C.一個算法必須保證它的執行步驟是有限的D.算法的流程圖表示法有零個或多個輸入,但只能有一個輸出【答案】:C【解析】:見教材P48頁算法的特征和描述,算法可用自然語言、流程圖、偽代碼來描述,具有有窮性、確定性、0或多個輸入,1或多個輸出,可行性等特點,C項正確。3.計算機能直接識別、理解執行的語言是( )。A.匯編語言 B.Python語言 C.Basic語言 D.機器語言【答案】:D【解析】:見教材P55,有關機器語言的說明。4.隨著數據的快速增長,人工處理大量數據的效率與計算機處理相比較正變得( )。A.更高 B.更低 C.一樣 D.無法比較【答案】:B【解析】:見教材43,數據量變多時,計算機處理效率高于人工處理。5.關于用計算機程序解決問題說法中正確的是( )。A.利用計算機的高速運算能力提高信息處理能力B.提高信息加工的效率C.針對具體問題以專門的程序來實現信息加工的自動化D.以上說法都正確【答案】:D【解析】:ABC三項的說法都正確,所以選D。6.小明編寫好解密程序后,調試運行時,程序沒有報錯且能順利運行,但不正確解密,造成這個結果的原因是( )。A.解密算法邏輯錯誤 B.程序語句語法錯誤C.程序過期了 D.程序設計窗口配置不對【答案】:A【解析】:根據題目描述,程序能夠順利運行,但不能正確解密,判定是算法的邏輯錯誤,如果語法錯誤,程序就不能運行,程序生成執行文件后,可長期運行,不存在過期的問題,程序設計窗口配置與順序不參解密沒有任何關系,所以選A項。7.算法的重要特征不包括以下哪一項?( )A.有窮性 B.確定性 C.數據輸出 D.唯一性【答案】:D【解析】:算法的特征包括:有窮性、確定性、數據輸入、數據輸出、可行性,不包含唯一性。8.執行下面的流程圖,最后s=( )。A.1 B.720 C.120 D.6【答案】:A【解析】:由于s=s×1,本程序,不管它行動多少次,s均為1,所以選A項。9.下列關于算法的敘述,正確的是( )。A.解決一個問題的算法只有一種B.有窮性是算法的基本特征之一C.可行性不屬于算法基本特征D.算法對程序設計沒有任何作用【答案】:B【解析】:算法的特征包括:有窮性、確定性、數據輸入、數據輸出、可行性,有些問題可以有多種方法解決,A項說法不對,CD表述也均有問題,所以選B。10.計算機是一種數字化電子設備,盡管其中的電路設計非常復雜,但工作時每段電路只有兩種狀態,可形象地稱為開和關。當把控制計算機操作的指令與存儲數據的電路狀態用二進制數字1和0對應表示時,人們就可以事先把需要執行的指令和處理的數據用1、0組成的代碼編寫好程序,輸入計算機時把1、0代碼直接轉換為相應的開關電路,就可以讓計算機工作了。這些1、0代碼就好像是計算機能聽得懂的語言而被稱為( ),這種語言難學難記難用,屬于低級語言。隨著計算機的發展,工程師們相繼開發出許多貼近人們閱讀理解習慣的( )系統,如BASIC、Python、C、Visual Basic等程序設計語言。A.機器語言 匯編語言 B.匯編語言 高級語言C.機器語言 高級語言 D.機器語言 自然語言【答案】:C【解析】:計算機能直接運行的語言是機器語言,貼近人們閱讀理解的語言是高級語言,所以選C項。11.流程圖中表示判斷的是( )。A.矩形框 B.菱形框 C.圓形框 D.桐圓形框【答案】:B【解析】:見教材P50,根據流程圖的基本圖形可知,表示判斷的是菱形框。所以選B。12.下列選項都是屬于高級語言的是( )A.匯編語言、機器語言 B.匯編語言、Basic語言C.Basic語言、Python語言 D.機器語言、Python語言【答案】:C【解析】:常見的高級語言包括Basic、C++、VB、Pascal、Python等,C項正確。13.不能被計算機直接識別、理解執行的語言需要轉換,這種轉換是( )。A.人工轉換或機器轉換B.計算機語言提供的解釋器或編譯器負責轉換C.操作系統負責轉換D.人工智能技術中的自然語言理解【答案】:B【解析】:見教材P57頁高級語言中的相關說明可知,B項正確。14.( )不是程序的基本控制結構。A.順序結構 B.選擇結構 C.循環結構 D.組合結構【答案】:D【解析】:見教材P52頁,程序的三種基本結構是:順序結構、選擇結構、循環結構,所以D項不是。15.程序以( )代碼的形式存放在存儲器中,并采用( )作為數字計算機的數制基礎。A.二進制、十進制 B.二進制、二進制C.二進制、八進制 D.二進制、十六進制【答案】:B【解析】:計算機以二進制為存儲形式,數據基礎也是二進制,所以選B項。16.在編制計算機解決問題的過程中,需要對解決問題的算法進行描述,最容易將算法轉換為代碼的算法描述方法是( )A.自然語言描述 B.流程圖描述C.偽代碼描述 D.N-S圖【答案】:C【解析】:見教材P49頁算法的描述可知,偽代碼是最容易轉換成計算機程序的,所以選C。 N-S圖,也被稱為盒圖或NS圖。是結構化編程中的一種可視化建模,一般采用圖文模式。17.關于計算機解決問題的過程,以下說法錯誤的是( )A.分析問題需要搞清楚需求情況、已知條件和待解問題B.設計算法需要給出解決問題的詳細方法和步驟C.編寫程序必須使用特定的程序語言D.調試運行程序是檢查程序能否按預期的效果執行【答案】:C【解析】:根據教材P57可知,編寫程序的高級語言類型較多,不需要使用特定的程序語言,所以D項不對。二、判斷題1.對于簡單的問題和數據量不多的問題,一般采用人工方法處理。【答案】:√【解析】:簡單問題采用人工方法處理效率更高,所以此題正確。2.運用計算機來解決數據問題,肯定比人工解決問題更高效、更快捷。【答案】:×【解析】:處理數據量大的問題,計算機有明顯的優勢,但是如果是簡單的、數據量非常少的問題人工會更高效和快捷。3.編寫計算機程序要經過分析問題、設計算法、編寫程序、調試運行程序等步驟。【答案】:√【解析】:見教材P46,此題說法正確。4.算法是能被計算機執行的動作或指令的有窮集合。【答案】:√【解析】:見教材P48頁,此題說法正確。5.算法具有確定性,每個問題的解決,只有一種確定的算法。【答案】:×【解析】:算法具有確定性,但是有些問題可以有多少解法,制作出多種算法。6.一個算法可以沒有輸入,但是必須要有輸出。【答案】:√【解析】:見教材P49,根據算法的特征可知,算法的輸入數據是0或多個,輸出有一個或多個,題目說法正確。7.算法只能用自然語言和流程圖來描述。【答案】:×【解析】:見教材P49頁,算法的描述可以是自然語言、流程圖、偽代碼等。所以此題錯。8.順序結構的程序只能按自下而上的順序執行。【答案】:×【解析】:順序結構的程序是自上而下的順序執行,所以此題錯。9.計算機程序必須轉成二進制代碼才能運行。【答案】:√【解析】:計算機工作在二進制的數制下,程序必須編譯為二進制代碼才能運行,所以此題正確。10.高級語言更接近于數學語言和人的自然語言。【答案】:√【解析】:見P57頁,為書上原文,說法正確。三、應用題已知a=5,b=10,請寫出交換a,b的值的偽代碼。【答案】:c=a;a=b;b=c;【解析】:為了防止a,b相互覆蓋,在計算機程序中,不能寫成純數學式:a=b;b=a表示交換a,b的值,必須設置一個中間變量實現交換。第 5 頁 共 8 頁必修1 數據與計算第三章 算法基礎3.1 體驗計算機解決問題的過程3.1.1 人工解決問題的過程人工解決問題:明確要解決的問題和給出的條件,分析問題、確定解決問題的方法,解決問題。3.1.2 計算機解決問題的過程計算機程序解決問題的過程:分析問題→設計算法→編寫程序→調試運行程序。分析問題:分析問題的需求情況、已知條件、需要解決的問題。設計算法:分析問題的基礎上,給出解決問題的詳細方法和步驟。編寫程序:用一種計算機語言工具編寫程序,實現算法。調試運行程序:輸入程序,檢查程序運行效果,查看結果。(1)計算機只能識別程序設計語言中所規定的語法規則,哪怕是一個標點符號出錯,也會因程序出錯而中斷運行。(2)當程序能夠順利運行以后,我們還需要對結果進行驗證,因為邏輯錯誤或計算方法錯誤,計算機是檢查不出來的。3.2 算法及其描述3.2.1 算法1. 算法算法:是指在有限步驟內求解某一問題所使用的一組定義明確的規則。通俗地說,算法就是用計算機求解某一問題的方法,是能被機械地執行的動作或指令的有窮集合。2. 算法的特征(1)有窮性。一個算法在執行有窮步之后必須結束,計算步驟是有限的。(2)確定性。算法執行的每一步驟都必須有確切的定義。(3)數據輸入。一個算法必須有0個或多個數據輸入。(4)數據輸出。一個算法有1個或多個數據輸出,沒有輸出的算法是毫無意義的。(5)可行性。算法中每個計算步驟都可以在有限時間內完成。3.2.2 算法的描述1. 描述算法的常用方法(1)用自然語言描述算法:使用日常交流所用語言來描述算法 (如漢語、英語等)(2)用流程圖描述算法:使用程序框圖來描述算法(3)用偽代碼描述算法:介于自然語言與計算機語言之間的文字與符號,它不使用圖形符號,書寫方便 ,易于理解。2. 三種基本控制結構(1)順序結構:表示程序中的各步操作按出現的先后順序執行(2)選擇結構:表示程序的處理步驟出現了分支,需要根據某一特定的條件選擇其中的一個分支執行;選擇結構有單選擇、雙選擇、多選擇3種。(3)循環結構:表示程序反復執行某個或某些操作,直到判斷條件為假(或為真)時才可終止循環3.3 計算機程序與程序設計語言3.3.1 計算機程序計算機程序:是指為了得到某種結果而可以由計算機等具有信息處理能力的裝置執行的代碼化指令序列,簡而言之,計算機程序就是指計算機可以識別運行的指令集合。計算機組成:運算器、控制器、存儲器、輸入設備和輸出設備。運算器和控制器一般做在一個超大規模的集成電路中,合稱中央處理器,即CPU。計算機的工作過程:存儲程序,程序控制。3.3.2 計算機程序設計語言計算機程序設計語言的發展,經歷了從機器語言、匯編語言到高級語言的發展歷程。(1)機器語言:由0和1表示的二進制代碼組成的語言,能被計算機直接接收和執行。(2)匯編語言:使用了一種類似英文縮略詞且帶有助記性符號的語言,但是,計算機不能直接識別和執行這些符號,需要一個專門的語言翻譯器,負責將程序中的每條語句都翻譯成用二進制數表示的機器語言。如:MOV AL,9;ADD AL,8。(3)高級語言:接近于數學語言和人的自然語言,不再過度依賴某種特定的機器或環境;同理,高級編程語言也不能被計算機直接識別和執行。第一種高級語言,Fortran語言,主要用于科學和工程計算。其他高級編程語言:C、Pascal、Basic、VC、VB、Delphi、Java、Python等。用高級語言編寫的程序也不能直接被計算機識別和執行,必須經過編譯程序或解釋程序將其翻譯成機器語言。所謂編譯程序是指計算機把高級語言程序的每一條語句都編譯成機器語言,并保存成二進制文件后才運行的程序。解釋程序是指計算機在執行高級語言程序時,逐條語句解釋成機器語言并立即執行的程序。第二章 算法基礎 學業測試一、單選題1.人們利用計算機解決問題的基本過程為( )。①調試運行程序 ②分析問題 ③設計算法 ④問題解決 ⑤編寫程序A.①②③④⑤ B.②④③⑤① C.④②③⑤① D.②③⑤①④2.下面關于算法的描述,正確的是( )。A.算法不可以用自然語言描述B.算法只能用流程圖來描述C.一個算法必須保證它的執行步驟是有限的D.算法的流程圖表示法有零個或多個輸入,但只能有一個輸出3.計算機能直接識別、理解執行的語言是( )。A.匯編語言 B.Python語言 C.Basic語言 D.機器語言4.隨著數據的快速增長,人工處理大量數據的效率與計算機處理相比較正變得( )。A.更高 B.更低 C.一樣 D.無法比較5.關于用計算機程序解決問題說法中正確的是( )。A.利用計算機的高速運算能力提高信息處理能力B.提高信息加工的效率C.針對具體問題以專門的程序來實現信息加工的自動化D.以上說法都正確6.小明編寫好解密程序后,調試運行時,程序沒有報錯且能順利運行,但不正確解密,造成這個結果的原因是( )。A.解密算法邏輯錯誤 B.程序語句語法錯誤C.程序過期了 D.程序設計窗口配置不對7.算法的重要特征不包括以下哪一項?( )A.有窮性 B.確定性 C.數據輸出 D.唯一性8.執行下面的流程圖,最后s=( )。A.1 B.720 C.120 D.69.下列關于算法的敘述,正確的是( )。A.解決一個問題的算法只有一種B.有窮性是算法的基本特征之一C.可行性不屬于算法基本特征D.算法對程序設計沒有任何作用10.計算機是一種數字化電子設備,盡管其中的電路設計非常復雜,但工作時每段電路只有兩種狀態,可形象地稱為開和關。當把控制計算機操作的指令與存儲數據的電路狀態用二進制數字1和0對應表示時,人們就可以事先把需要執行的指令和處理的數據用1、0組成的代碼編寫好程序,輸入計算機時把1、0代碼直接轉換為相應的開關電路,就可以讓計算機工作了。這些1、0代碼就好像是計算機能聽得懂的語言而被稱為( ),這種語言難學難記難用,屬于低級語言。隨著計算機的發展,工程師們相繼開發出許多貼近人們閱讀理解習慣的( )系統,如BASIC、Python、C、Visual Basic等程序設計語言。A.機器語言 匯編語言 B.匯編語言 高級語言C.機器語言 高級語言 D.機器語言 自然語言11.流程圖中表示判斷的是( )。A.矩形框 B.菱形框 C.圓形框 D.桐圓形框12.下列選項都是屬于高級語言的是( )A.匯編語言、機器語言 B.匯編語言、Basic語言C.Basic語言、Python語言 D.機器語言、Python語言13.不能被計算機直接識別、理解執行的語言需要轉換,這種轉換是( )。A.人工轉換或機器轉換B.計算機語言提供的解釋器或編譯器負責轉換C.操作系統負責轉換D.人工智能技術中的自然語言理解14.( )不是程序的基本控制結構。A.順序結構 B.選擇結構 C.循環結構 D.組合結構15.程序以( )代碼的形式存放在存儲器中,并采用()作為數字計算機的數制基礎。A.二進制、十進制 B.二進制、二進制C.二進制、八進制 D.二進制、十六進制16.在編制計算機解決問題的過程中,需要對解決問題的算法進行描述,最容易將算法轉換為代碼的算法描述方法是( )A.自然語言描述 B.流程圖描述C.偽代碼描述 D.N-S圖17.關于計算機解決問題的過程,以下說法錯誤的是( )A.分析問題需要搞清楚需求情況、已知條件和待解問題B.設計算法需要給出解決問題的詳細方法和步驟C.編寫程序必須使用特定的程序語言D.調試運行程序是檢查程序能否按預期的效果執行二、判斷題1.對于簡單的問題和數據量不多的問題,一般采用人工方法處理。2.運用計算機來解決數據問題,肯定比人工解決問題更高效、更快捷。3.編寫計算機程序要經過分析問題、設計算法、編寫程序、調試運行程序等步驟。4.算法是能被計算機執行的動作或指令的有窮集合。5.算法具有確定性,每個問題的解決,只有一種確定的算法。6.一個算法可以沒有輸入,但是必須要有輸出。7.算法只能用自然語言和流程圖來描述。8.順序結構的程序只能按自下而上的順序執行。9.計算機程序必須轉成二進制代碼才能運行。10.高級語言更接近于數學語言和人的自然語言。三、應用題已知a=5,b=10,請寫出交換a,b的值的偽代碼。第 3 頁 共 6 頁 展開更多...... 收起↑ 資源列表 第三章 算法基礎(原卷版).docx 第三章 算法基礎(解析版).docx 縮略圖、資源來源于二一教育資源庫