資源簡介 (共26張PPT)信息技術1:算法基礎DATADATA體驗計算機解決問題的過程01體驗計算機解決問題的過程人工解決找出從A市經B1市到B市耗時最少的旅行路線。AB1…BkB現實生活中中轉的可能性更多,每一個A到Bk有Mk種途徑,Bk 到B有Nk 種途徑,那我們人工找出耗時最少的旅行路線將工作量及其浩大,一共要比較:M1*N1+ M2*N2 + M3*N3 + … + Mk*Nk當人工處理效率很低時,我們可以借助計算機,通過編寫計算機程序來解決問題。體驗計算機解決問題的過程計算機分析問題設計算法編寫程序調試運行程序分析問題的需求情況,提煉出已知條件,搞清楚需要解決的問題。問題分析請楚后,需要給出計算機解決問題的詳細方法和步驟,這一過程稱為設計算法。有了清晰可操作的算法描述,就可以選擇一種計算機語言工具來編寫程序,實現算法。程序編寫完成以后,再通過鍵盤把程序輸入計算機中運行,檢查程序能否按預想的效果執行,這一過程稱為程序的調試運行。體驗計算機解決問題的過程求解問題的方式 相同點 不同點人工求解問題用計算機求解問題分析問題、設計算法、得出結果、驗算結果每次只能對特定的問題進行解答,運算速度慢,不需要借助計算機工具。編寫程序、調試程序、運行速度快,通用性強。算法及其描述02算法及其描述This PPT template for the rice husk designer pencil demo works, focusing on the production認識算法:算法是指在有限步驟內求解某一問題所使用的一組定義明確的規則。通俗地說,算法就是用計算機求解某一問題的方法,是能被機械地執行的動作或指令的有窮集合。算法的特征:有窮性、確定性、數據輸入、數據輸出、可行性。算法及其描述This PPT template for the rice husk designer pencil demo works, focusing on the production算法就是在解決特定問題時,采取的確定的、有限的步驟。判斷拋物線 軸是否有交點。分析項目 ①拋物線執行的步驟個數每一步是否明確可執行是否有輸入是否有輸出4計算△= ;如果△大于等于0,執行步驟③,否則執行步驟④;輸出有交點,結束;輸出無交點,結束。是否是算法及其描述This PPT template for the rice husk designer pencil demo works, focusing on the production算法的特征有輸入一個算法通常要求有0個或多個輸入。有輸出一個算法可以有一個或多個輸出。有窮性算法必須能在有限個步驟之后終止。可行性算法中的每一步都是可以執行的。確定性算法的每個步驟都具有確定的含義,沒有歧義。算法及其描述小明在去往地鐵站時,在路口遇到了一個紅綠燈。小明發現該紅綠燈上配有一個倒計時器,倒計時15秒之后紅燈變成了綠燈,如何將“倒計時15秒”的算法描述出來?自然語言將計數器t(剩余秒數)設為15;如果t大于等于1,執行步驟③,否則執行步驟⑤;顯示t,并保持顯示1秒,然后清除顯示;將t的值減1,跳轉至步驟②。倒計時結束。算法及其描述流程圖是用圖形表示算法的一種常用工具。用流程圖描述的算法直觀易讀,問題解決的步驟清晰簡潔,算法結構表達明確。開始/結束框輸入/輸出框處理框判斷框流程線算法及其描述將計數器t(剩余秒數)設為15;如果t大于等于1,執行步驟③,否則執行步驟⑤;顯示t,并保持顯示1秒,然后清除顯示;將t的值減1,跳轉至步驟②。倒計時結束。結束t ← 15t ≥ 1輸出tt ← t-1TrueFalse保持顯示1秒清除顯示開始算法及其描述結束t ← 15t ≥ 1輸出tt ← t-1TrueFalse保持顯示1秒清除顯示開始偽代碼t ← 15while t ≥ 1output 1sleep 1scleart ← t-1end while規避了程序設計語言嚴格的書寫格式,無歧義,結構性強。不太適合完全沒有程序設計基礎的初學者。算法描述方法:算法的描述方法自然語言偽代碼流程圖自然語言就是使用日常所用的語言描述算法的步驟。優點:使用簡單,易于理解。缺點:容易產生二義性。流程圖是用圖形表示算法的一種常用工具。優點:步驟清晰簡潔,算法結構表達明確,適合初學者使用。缺點:繪制過程繁瑣,對于復雜問題,結構過于復雜,不易理解。偽代碼是采用一種類似程序設計語言的代碼來描述算法。優點:回避了程序設計語言嚴格的書寫格式,敘述準確,無二義性,結構性強。缺點:需要具備一定的程序設計語言基礎,不利于初學者使用。算法及其描述:S1Sn…順序結構FalseTrueS1S2C選擇結構S1CFalseTrue循環結構計算機程序設計語言03計算機程序計算機程序在《計算機軟件保護條例》中這樣定義計算機的“程序”:指為了得到某種結果而可以由計算機等具有信息處理能力的裝置執行的代碼化指令序列,或者可被自動轉換成代碼化指令序列的符號化指令序列或者符號化語句序列。簡而言之,計算機程序就是指計算機可以識別運行的指令集合。計算機程序是不是就是計算機軟件?軟件是程序以及開發、使用和維護所需要的所有文檔與數據的總稱,而程序只是軟件的一部分。計算機程序計算機系統由硬件系統和軟件系統組成。常用的計算機主要包括運算器、控制器、存儲器、輸入設備和輸出設備五大基本部件。馮諾依曼計算機計算機程序設計語言計算機程序設計語言是指一組用來定義計算機程序的語法規則,通常簡稱為“編程語言”。計算機程序設計語言的發展,經歷了從機器語言、匯編語言到高級語言的發展歷程。算法不能被計算機直接執行程序計算機能夠識別和運行計算機程序設計語言機器語言是由“0”和“1”這樣的二進制代碼指令組來表示。每一條機器指令包含兩個主要部分:操作(指出計算機應做什么)和被操作的對象(指出處理的數據或它的地址),計算機能直接識別和執行。難以理解運算效率最高機器語言計算機程序設計語言機器語言使用了一種類似英文縮略詞且帶有助記性符號的語言,來替代一個特定的指令的二進制串,每條指令都和一條機器指令相對應。需要一個專門的語言翻譯器,負責將程序中的每條語句都翻譯成用二進制數表示的機器語言。計算機不能直接執行匯編語言。匯編語言較易理解運算效率很高計算機程序設計語言機器語言接近于數學語言或人的自然語言,并且不再過度地倚賴某種特定的機器或環境,必須經過翻譯器將其翻譯成機器語言。計算機不能直接執行高級語言,必須經過編譯程序或解釋程序將其翻譯成機器語言。高級語言簡單易于理解移植性好計算機程序設計語言解釋程序與編譯程序編譯程序:是指計算機把高級語言程序的每一條語句都編譯成機器語言,并保存為二進制文件后才運行的程序。解釋程序:是指計算機在執行高級語言程序時,逐條語句解釋成機器語言并立即執行的程序。計算機程序設計語言語言種類 優勢 不足 舉例編譯型語言 程序執行速度快,程序執行效率高,同等條件下對系統要求較低。 跨平臺性差些。 C語言解釋型語言 不同系統平臺間的兼容性高。 程序執行效率比較低。 Python語言小結1算法概念和描述算法的概念算法的特征算法的描述方法有輸入有輸出確定性有窮性可行性一個算法通常要求有0個或多個輸入。一個算法可以有一個或多個輸出。算法必須能在有限個步驟之后終止。算法中的每一步都是可以執行的。算法的每個步驟都具有確定的含義。自然語言流程圖偽代碼用日常所用語言來描述算法的步驟。流程圖是用圖形表示算法的一種常用工具。采用一種類似程序設計語言的代碼來描述算法。算法就是解決一個特定問題而采取的確定的,有限的步驟。小結2 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫