




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、高級語言程序設計c2算法課件高級語言程序設計c2算法課件2算法的概念尼古拉斯沃斯(Niklaus Wirth) Algorithm + Date Structure = Programs 算法+數據結構=程序算法(Algorithm)對操作的描述,解決問題的方法數據結構(Date Structure )對數據的描述,數據的組織形式程序 (Programs)對算法的具體實現程序的效率不可能超過算法的限制算法是程序的靈魂 牛牛文庫文檔分享4算法的概念尼古拉斯沃斯(Niklaus Wirth) 算3算法的概念廣義地說,為解決一個問題采取的方法和步驟。 如:菜譜、樂譜計算機算法分類數值算法求方程的根求
2、函數的定積分非數值算法圖書檢索人事管理排序算法 牛牛文庫文檔分享5算法的概念廣義地說,為解決一個問題采取的方法和步驟。www4算法舉例簡單算法舉例:求5!閏年的判定方法(能被4不被100整除,或者能被100和400整除的年份)素數的判定方法S1:輸入一個正整數nS2:i=2(作為除數)S3:n被i除,得余數rS4:如果r=0,則輸出 n不是素數,算法結束,否則執行S5S5:i+1賦予iS6:如果i = ,返回S3,否則輸出n是素數,然后結束 牛牛文庫文檔分享6算法舉例簡單算法舉例: 牛牛文庫5算法的特性有窮性包含有限的步驟,在合理限度內可以完成確定性每一步必須明確,惟一性,非歧義性有零個或多個
3、輸入需要從外界獲取必要的信息有一個或多個輸出需要把求解結果進行輸出,有意義有效性每一步都能有效地執行 牛牛文庫文檔分享7算法的特性有窮性 牛牛文庫文檔分6算法的表示方法自然語言傳統流程圖改進的流程圖N-S圖(盒圖)PAD圖(問題分析圖)偽代碼 牛牛文庫文檔分享8算法的表示方法自然語言 牛牛文庫7自然語言優點通俗易懂缺點文字冗長易出現歧義性 牛牛文庫文檔分享9自然語言優點 牛牛文庫文檔分享8傳統流程圖優點:描繪直觀,容易掌握缺點:對流程線沒有嚴格控制七種基本流程圖符號(P20)求最大公約數S1: 輸入m,nS2:如果mn,則m,n交換S3:求m除以n的余數rS4:如果r不為0,則n賦給m,r賦給
4、n,求m除以n的余數r,返回S4S5:如果r為0,則打印n,然后結束求素數?開始輸入m,nmn?m,n交換求m除以n的余數rr0打印nn賦給m,r賦給n,求m除以n的余數r結束YYNN 牛牛文庫文檔分享10傳統流程圖優點:開始輸入m,nmn?m,n交換求m除以9改進的流程圖優點限制箭頭濫用,保證算法質量構成結構化算法三種基本算法結構順序結構選擇結構(分支結構)循環結構(重復結構)當型循環(While型循環)直到型循環(Until型循環) 牛牛文庫文檔分享11改進的流程圖優點 牛牛文庫文檔10順序結構ABba 牛牛文庫文檔分享12順序結構AB 牛牛文庫文檔11選擇結構ABabpYN當p為“真”當
5、p為“假” 牛牛文庫文檔分享13選擇結構ABabpYN當p為“真”當p為“假”www.n12循環結構Aabp1YWhile型循環N當p1為“真”當p1為“假”Aabp2NUntil型循環Y當p2為“真”當p2為“假” 牛牛文庫文檔分享14循環結構Aabp1YWhile型循環N當p1為“真”當p13循環結構的比較Aabp1YWhile型循環NAabp2NUntil型循環Y 條件的判定位置不同 條件真假的走向不同 牛牛文庫文檔分享15循環結構的比較Aabp1YWhile型循環NAabp2N14三種基本算法結構的共同特點只有一個入口只有一個出口結構內每一部分都有機會被執行到結構內不存在“死循環”例:
6、求素數?AabBABa 牛牛文庫文檔分享16三種基本算法結構的共同特點只有一個入口AabBABaww15改進的流程圖用三種基本控制結構順序組成的算法,可以解決任何復雜的問題整體順序組成可相互嵌套 牛牛文庫文檔分享17改進的流程圖用三種基本控制結構順序組成的算法,可以解決任16其他基本結構多分支選擇結構 A Bp G 牛牛文庫文檔分享18其他基本結構多分支選擇結構 A Bp Gwww.17N-S圖(盒圖)I.Nassi和B.Shneiderman提出取消流程線,不能任意轉移控制使用N-S圖設計出來的程序必然是結構化程序容易表示嵌套關系容易確定局部和全局數據的作用域 牛牛文庫文檔分享19N-S圖(
7、盒圖)I.Nassi和B.Shneiderma18ABC條件TFAB循環條件循環體循環條件循環體條件Case1部分值1值2值nCase2部分Casen部分N-S的基本符號 牛牛文庫文檔分享20ABC條件TFAB循環條件循環體循環條件循環體條件Cas19N-S圖用N-S圖表示各種算法閏年的判定求素數求最大公約數 牛牛文庫文檔分享21N-S圖用N-S圖表示各種算法20PAD圖(問題分析圖)Problem Analysis Diagram 用二維樹型結構表示使用PAD符號設計出來的程序必然是結構化程序描繪的結構非常清晰用PAD圖表現程序邏輯,易讀、易懂、易記支持自頂向下,逐步求精方法的使用 牛牛文庫
8、文檔分享22PAD圖(問題分析圖)Problem Analysis21P1P2P1P2CL1L2LnP1P2PnWHILE CPUNTIL CPPAD圖基本符號 牛牛文庫文檔分享23P1P2P1P2CL1L2LnP1P2PnWHILE22偽代碼(Pseudo Code)用結構化程序設計語言的語法控制框架,在內部可以靈活使用自然語言來表示各種操作比流程圖靈活易改,可以使用普通的正文編輯程序進行修改可以作為注釋直接插在源程序中,提高文檔質量缺點:不如圖形工具直觀 牛牛文庫文檔分享24偽代碼(Pseudo Code)用結構化程序設計語言的語23舉例BEGINinput m,nif mn exchan
9、ge m and nm%n rwhile r 0 n m r n m%n rprint nEND開始輸入m,nmn?m,n交換求m除以n的余數rr0打印nn賦給m,r賦給n,求m除以n的余數結束 牛牛文庫文檔分享25舉例BEGIN開始輸入m,nmn?m,n交換求m除以n24計算機語言計算機語言對算法的實現必須嚴格遵循所用語言的語法規則 牛牛文庫文檔分享26計算機語言計算機語言 牛牛文庫25計算機語言 CBEGINinput m,nif mn exchange m and nm%n rwhile r 0 n m r n m%n rprint nENDmain() int m,n,r,t; sca
10、nf(“%d,%d”,&m,&n); if(mn) t=m;m=n;n=t; r=m%n; while(r!=0) m=n;n=r;r=m%n; printf(“n=%d”,n); 牛牛文庫文檔分享27計算機語言 CBEGINmain()www.niuwk.26結構化程序設計方法程序:數據結構:數據的描述算法:操作的描述語言:具體的實現工具程序設計方法:設計的方法 牛牛文庫文檔分享28結構化程序設計方法程序: 牛牛27結構化程序設計方法結構化算法由基本結構順序組成的算法結構結構化程序設計方法自頂向下逐步細化模塊化設計結構化編碼如:求解二次方程的根。 牛牛文庫文檔分享29結構化程序設計方法結構化
11、算法 28小結算法是程序的靈魂算法的特性:有窮性、確定性、有零個或多個輸入、有一個或多個輸出、有效性算法的表示方法:自然語言、傳統流程圖、改進的流程圖、N-S圖、PAD圖、偽代碼結構化程序設計方法:自頂向下、逐步細化、模塊化設計、結構化編碼 牛牛文庫文檔分享30小結算法是程序的靈魂 牛牛文庫29上機安排時間:周四12節地點:教一樓101經貿1501教一樓105會計1501、會計1502教一樓112商務1501、信管1501教一樓115金融1501教一樓124經濟1501 牛牛文庫文檔分享31上機安排時間:周四12節 牛牛30上機作業1上機作業1: 熟悉C程序的運行環境和運行方法安裝和熟悉 Turbo C /VC+6.0輸入并運行教材例題1.1和1.2,熟悉運行環境和運行方法編寫一個程序,求兩個整數m和n的最大公約數。作業提交作業管理系統:經管院網站首頁-網上實驗室-實驗報告提交課程+教師姓名+學號 牛牛文庫文檔分享32上機作業1上機作業1: 牛牛文31上交作業要求作業計入平時成績請按時按指定方式交作業,逾期未交累計三次者取消考試資格請獨立完成作業,不準相互抄襲,一經發現,抄襲者和被抄襲者均計零分,累計三次者取消考
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CECS 10237-2022綠色建材評價供暖空調輸配系統用風機、風管、水泵
- T/CECS 10037-2019綠色建材評價衛生潔具
- T/CCSAS 048-2023危險化學品電子標簽選型技術規范
- T/CCSAS 044-2023化工過程本質安全化評估指南
- T/CCOA 33-2020平房倉氣密改造操作規范
- T/CCOA 13-2020稻殼活性炭
- T/CCIA 0016-2023無縫貼花裝飾瓷器
- T/CCAAS 006-2022高速公路收費微笑服務標準
- T/CAQI 091-2019食用豌豆蛋白
- javaxml面試題及答案
- 《白龍馬》注音歌詞
- 二、問題解決型(指令性目標)QC成果案例
- 特種作業人員體檢表
- PCB制板要求模板-綜合版
- 集裝箱板房技術要求
- 瀝青與瀝青混合料教學課件
- 自身免疫病及檢驗(免疫學檢驗課件)
- 簡單機械主題單元教學設計
- 部編版語文二年級下冊第八單元整體教學設計教案
- 2023-2024學年湖南省湘潭市小學語文六年級期末通關試卷附參考答案和詳細解析
- 大廈火災自動報警系統更換方案
評論
0/150
提交評論