資源簡介 (共21張PPT)1.算法與問題解決主講人:***浙教版信息技術必修一《數(shù)據與計算》【知識體系】【知識梳理】一、算法的概念(一)算法的定義1. 廣義定義“算法”指的是解決問題或完成任務的一系列步驟。廣義的算法中,需要解決的問題不僅僅指傳統(tǒng)意義上的計算任務(算術),也可以是社會生活中各種事務的處理。2. 計算機科學領域定義“算法”指的是用計算機解決問題的步驟,是為了解決問題而需要讓計算機有序執(zhí)行的、無歧義的、有限步驟的集合。這些需要解決的問題不僅包含了數(shù)值計算,還包含了非數(shù)值計算的數(shù)據處理。【知識梳理】一、算法的概念(二)算法的特征1.有窮性:一個算法的處理步驟必須是有限的。2.可行性:每一步的操作與要求都是可行的,并且能夠在有限時間內完成。3.確定性:每一步的執(zhí)行描述必須是明確的4.0個或多個輸入5.1個或多個輸出【知識梳理】一、算法的概念(三)算法的要素1.數(shù)據用算法解決問題時,必須明確參與運算的初始數(shù)據、運算時產生的中間數(shù)據以及代表問題解決的結果數(shù)據。2.運算在對數(shù)據進行運算時,必須明確每一步的運算是什么、對哪些數(shù)據進行運算等。3.控制轉移在算法執(zhí)行過程中,有時需要根據數(shù)據或運算結果的特點進行不同的處理,這時就需要運用控制轉移來執(zhí)行不同的操作。【知識梳理】二、算法的描述(一)自然語言1.定義:自然語言是人們在日常生活中交流使用的語言,通俗易懂2.變量:數(shù)據會發(fā)生改變,由字母、數(shù)字、下劃線等組成的一串字符表示3.輸入:參與算法運算的數(shù)據可通過“輸入”獲得【知識梳理】二、算法的描述(二)流程圖1.流程圖描述算法結構清晰、寓意明確。2.常用的流程圖基本圖形【知識梳理】二、算法的描述(三)偽代碼偽代碼由于語法比較接近計算機程序設計語言,所以描述的算法更加緊湊簡練,也便于進一步轉化為相應的計算機程序。【知識梳理】二、算法的描述(四)計算機程序設計語言為了讓計算機幫助人們真正解決問題,需要將算法用某種計算機程序設計語言來描述,這個過程稱為程序編寫(或稱代碼編寫)。計算機程序設計語言經歷了“機器語言→匯編語言→高級語言”的發(fā)展歷程。1.機器語言:用“0”“1”組成,機器執(zhí)行效率高但可讀性差、維護性差。2.匯編語言:用特定的助記符表示各個機器指令,提升效率。3.高級語言:接近人們日常用語的符號來表示各類指令,如Basic、C、C++、Java等。【知識梳理】三、算法的控制結構(一)順序結構1.每個步驟按照算法中出現(xiàn)的順序依次執(zhí)行。2.每個步驟一定會被執(zhí)行一次,而且只執(zhí)行一次。【知識梳理】三、算法的控制結構(二)分支結構1.首先進行條件判斷,根據條件滿足與否來決定執(zhí)行哪個分支。2.在一個分支結構中,必定有一個分支被執(zhí)行,其他的分支則被忽略。【知識梳理】三、算法的控制結構(三)循環(huán)結構算法執(zhí)行過程中,在條件控制下,某些操作步驟需要重復執(zhí)行(循環(huán))的控制結構稱為循環(huán)結構。循環(huán)結構的重復執(zhí)行(循環(huán))并不是沒有限制的,而是在條件控制下的一種可控的重復。當需要重復處理的條件不滿足時,重復處理必須能及時結束。這樣才符合算法的有窮性特征。【知識梳理】四、用算法解決問題的過程(一)抽象與建模1.提煉核心要素并加以確定或假設2.用數(shù)學符號描述解決問題的計算模型【知識梳理】四、用算法解決問題的過程(二)設計算法1.設計原則:遵循算法的特征、圍繞算法的要素設計算法2.步驟:輸入數(shù)據——處理數(shù)據——輸出處理結果【知識梳理】四、用算法解決問題的過程(三)描述算法用流程圖描述算法【典型例題】1.某算法的流程圖如圖所示,執(zhí)行這部分流程,若輸入的值為59,則輸出s的值為( )A.000100 B.111011 C.001000 D.110111A【典型例題】2.設計算法時,我們通常采用哪種方法來確保算法的正確性( )A.代碼審查 B.數(shù)學證明 C.測試 D.用戶反饋C【典型例題】3.某算法的部分流程圖如圖所示執(zhí)行這部分流程,輸入m,n的值為21、14,則變量n的值是( )A.4 B.7 C.12 D.18B【典型例題】4.設計算法時,以下哪個不是重要的考慮因素( )A.算法的時間復雜度 B.算法的空間復雜度C.算法的顏色編碼 D.算法的可擴展性5.在算法描述中,哪種方式最適合用于表達算法的步驟( )A.流程圖 B.偽代碼 C.自然語言 D.數(shù)學公式CB【典型例題】6.以下哪種算法設計方法適用于解決“排序”問題( )A.分治法 B.動態(tài)規(guī)劃 C.貪心算法 D.回溯法7.在算法設計中,哪種方法可以幫助我們避免重復計算( )A.使用遞歸 B.使用循環(huán)C.使用備忘錄技術 D.使用并行計算8.算法是解決問題的一系列明確步驟,它具有以下哪些特性( )A.有窮性 B.確定性 C.可行性 D.輸入/輸出ACABCDThanks主講人:*** 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫