




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、高級(jí)語(yǔ)言程序設(shè)計(jì)c2算法課件高級(jí)語(yǔ)言程序設(shè)計(jì)c2算法課件2算法的概念尼古拉斯沃斯(Niklaus Wirth) Algorithm + Date Structure = Programs 算法+數(shù)據(jù)結(jié)構(gòu)=程序算法(Algorithm)對(duì)操作的描述,解決問題的方法數(shù)據(jù)結(jié)構(gòu)(Date Structure )對(duì)數(shù)據(jù)的描述,數(shù)據(jù)的組織形式程序 (Programs)對(duì)算法的具體實(shí)現(xiàn)程序的效率不可能超過算法的限制算法是程序的靈魂 牛牛文庫(kù)文檔分享4算法的概念尼古拉斯沃斯(Niklaus Wirth) 算3算法的概念廣義地說,為解決一個(gè)問題采取的方法和步驟。 如:菜譜、樂譜計(jì)算機(jī)算法分類數(shù)值算法求方程的根求
2、函數(shù)的定積分非數(shù)值算法圖書檢索人事管理排序算法 牛牛文庫(kù)文檔分享5算法的概念廣義地說,為解決一個(gè)問題采取的方法和步驟。www4算法舉例簡(jiǎn)單算法舉例:求5!閏年的判定方法(能被4不被100整除,或者能被100和400整除的年份)素?cái)?shù)的判定方法S1:輸入一個(gè)正整數(shù)nS2:i=2(作為除數(shù))S3:n被i除,得余數(shù)rS4:如果r=0,則輸出 n不是素?cái)?shù),算法結(jié)束,否則執(zhí)行S5S5:i+1賦予iS6:如果i = ,返回S3,否則輸出n是素?cái)?shù),然后結(jié)束 牛牛文庫(kù)文檔分享6算法舉例簡(jiǎn)單算法舉例: 牛牛文庫(kù)5算法的特性有窮性包含有限的步驟,在合理限度內(nèi)可以完成確定性每一步必須明確,惟一性,非歧義性有零個(gè)或多個(gè)
3、輸入需要從外界獲取必要的信息有一個(gè)或多個(gè)輸出需要把求解結(jié)果進(jìn)行輸出,有意義有效性每一步都能有效地執(zhí)行 牛牛文庫(kù)文檔分享7算法的特性有窮性 牛牛文庫(kù)文檔分6算法的表示方法自然語(yǔ)言傳統(tǒng)流程圖改進(jìn)的流程圖N-S圖(盒圖)PAD圖(問題分析圖)偽代碼 牛牛文庫(kù)文檔分享8算法的表示方法自然語(yǔ)言 牛牛文庫(kù)7自然語(yǔ)言優(yōu)點(diǎn)通俗易懂缺點(diǎn)文字冗長(zhǎng)易出現(xiàn)歧義性 牛牛文庫(kù)文檔分享9自然語(yǔ)言優(yōu)點(diǎn) 牛牛文庫(kù)文檔分享8傳統(tǒng)流程圖優(yōu)點(diǎn):描繪直觀,容易掌握缺點(diǎn):對(duì)流程線沒有嚴(yán)格控制七種基本流程圖符號(hào)(P20)求最大公約數(shù)S1: 輸入m,nS2:如果mn,則m,n交換S3:求m除以n的余數(shù)rS4:如果r不為0,則n賦給m,r賦給
4、n,求m除以n的余數(shù)r,返回S4S5:如果r為0,則打印n,然后結(jié)束求素?cái)?shù)?開始輸入m,nmn?m,n交換求m除以n的余數(shù)rr0打印nn賦給m,r賦給n,求m除以n的余數(shù)r結(jié)束YYNN 牛牛文庫(kù)文檔分享10傳統(tǒng)流程圖優(yōu)點(diǎn):開始輸入m,nmn?m,n交換求m除以9改進(jìn)的流程圖優(yōu)點(diǎn)限制箭頭濫用,保證算法質(zhì)量構(gòu)成結(jié)構(gòu)化算法三種基本算法結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)(分支結(jié)構(gòu))循環(huán)結(jié)構(gòu)(重復(fù)結(jié)構(gòu))當(dāng)型循環(huán)(While型循環(huán))直到型循環(huán)(Until型循環(huán)) 牛牛文庫(kù)文檔分享11改進(jìn)的流程圖優(yōu)點(diǎn) 牛牛文庫(kù)文檔10順序結(jié)構(gòu)ABba 牛牛文庫(kù)文檔分享12順序結(jié)構(gòu)AB 牛牛文庫(kù)文檔11選擇結(jié)構(gòu)ABabpYN當(dāng)p為“真”當(dāng)
5、p為“假” 牛牛文庫(kù)文檔分享13選擇結(jié)構(gòu)ABabpYN當(dāng)p為“真”當(dāng)p為“假”www.n12循環(huán)結(jié)構(gòu)Aabp1YWhile型循環(huán)N當(dāng)p1為“真”當(dāng)p1為“假”Aabp2NUntil型循環(huán)Y當(dāng)p2為“真”當(dāng)p2為“假” 牛牛文庫(kù)文檔分享14循環(huán)結(jié)構(gòu)Aabp1YWhile型循環(huán)N當(dāng)p1為“真”當(dāng)p13循環(huán)結(jié)構(gòu)的比較Aabp1YWhile型循環(huán)NAabp2NUntil型循環(huán)Y 條件的判定位置不同 條件真假的走向不同 牛牛文庫(kù)文檔分享15循環(huán)結(jié)構(gòu)的比較Aabp1YWhile型循環(huán)NAabp2N14三種基本算法結(jié)構(gòu)的共同特點(diǎn)只有一個(gè)入口只有一個(gè)出口結(jié)構(gòu)內(nèi)每一部分都有機(jī)會(huì)被執(zhí)行到結(jié)構(gòu)內(nèi)不存在“死循環(huán)”例:
6、求素?cái)?shù)?AabBABa 牛牛文庫(kù)文檔分享16三種基本算法結(jié)構(gòu)的共同特點(diǎn)只有一個(gè)入口AabBABaww15改進(jìn)的流程圖用三種基本控制結(jié)構(gòu)順序組成的算法,可以解決任何復(fù)雜的問題整體順序組成可相互嵌套 牛牛文庫(kù)文檔分享17改進(jìn)的流程圖用三種基本控制結(jié)構(gòu)順序組成的算法,可以解決任16其他基本結(jié)構(gòu)多分支選擇結(jié)構(gòu) A Bp G 牛牛文庫(kù)文檔分享18其他基本結(jié)構(gòu)多分支選擇結(jié)構(gòu) A Bp Gwww.17N-S圖(盒圖)I.Nassi和B.Shneiderman提出取消流程線,不能任意轉(zhuǎn)移控制使用N-S圖設(shè)計(jì)出來的程序必然是結(jié)構(gòu)化程序容易表示嵌套關(guān)系容易確定局部和全局?jǐn)?shù)據(jù)的作用域 牛牛文庫(kù)文檔分享19N-S圖(
7、盒圖)I.Nassi和B.Shneiderma18ABC條件TFAB循環(huán)條件循環(huán)體循環(huán)條件循環(huán)體條件Case1部分值1值2值nCase2部分Casen部分N-S的基本符號(hào) 牛牛文庫(kù)文檔分享20ABC條件TFAB循環(huán)條件循環(huán)體循環(huán)條件循環(huán)體條件Cas19N-S圖用N-S圖表示各種算法閏年的判定求素?cái)?shù)求最大公約數(shù) 牛牛文庫(kù)文檔分享21N-S圖用N-S圖表示各種算法20PAD圖(問題分析圖)Problem Analysis Diagram 用二維樹型結(jié)構(gòu)表示使用PAD符號(hào)設(shè)計(jì)出來的程序必然是結(jié)構(gòu)化程序描繪的結(jié)構(gòu)非常清晰用PAD圖表現(xiàn)程序邏輯,易讀、易懂、易記支持自頂向下,逐步求精方法的使用 牛牛文庫(kù)
8、文檔分享22PAD圖(問題分析圖)Problem Analysis21P1P2P1P2CL1L2LnP1P2PnWHILE CPUNTIL CPPAD圖基本符號(hào) 牛牛文庫(kù)文檔分享23P1P2P1P2CL1L2LnP1P2PnWHILE22偽代碼(Pseudo Code)用結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言的語(yǔ)法控制框架,在內(nèi)部可以靈活使用自然語(yǔ)言來表示各種操作比流程圖靈活易改,可以使用普通的正文編輯程序進(jìn)行修改可以作為注釋直接插在源程序中,提高文檔質(zhì)量缺點(diǎn):不如圖形工具直觀 牛牛文庫(kù)文檔分享24偽代碼(Pseudo Code)用結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言的語(yǔ)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的余數(shù)rr0打印nn賦給m,r賦給n,求m除以n的余數(shù)結(jié)束 牛牛文庫(kù)文檔分享25舉例BEGIN開始輸入m,nmn?m,n交換求m除以n24計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言對(duì)算法的實(shí)現(xiàn)必須嚴(yán)格遵循所用語(yǔ)言的語(yǔ)法規(guī)則 牛牛文庫(kù)文檔分享26計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言 牛牛文庫(kù)25計(jì)算機(jī)語(yǔ)言 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); 牛牛文庫(kù)文檔分享27計(jì)算機(jī)語(yǔ)言 CBEGINmain()www.niuwk.26結(jié)構(gòu)化程序設(shè)計(jì)方法程序:數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)的描述算法:操作的描述語(yǔ)言:具體的實(shí)現(xiàn)工具程序設(shè)計(jì)方法:設(shè)計(jì)的方法 牛牛文庫(kù)文檔分享28結(jié)構(gòu)化程序設(shè)計(jì)方法程序: 牛牛27結(jié)構(gòu)化程序設(shè)計(jì)方法結(jié)構(gòu)化算法由基本結(jié)構(gòu)順序組成的算法結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計(jì)方法自頂向下逐步細(xì)化模塊化設(shè)計(jì)結(jié)構(gòu)化編碼如:求解二次方程的根。 牛牛文庫(kù)文檔分享29結(jié)構(gòu)化程序設(shè)計(jì)方法結(jié)構(gòu)化
11、算法 28小結(jié)算法是程序的靈魂算法的特性:有窮性、確定性、有零個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出、有效性算法的表示方法:自然語(yǔ)言、傳統(tǒng)流程圖、改進(jìn)的流程圖、N-S圖、PAD圖、偽代碼結(jié)構(gòu)化程序設(shè)計(jì)方法:自頂向下、逐步細(xì)化、模塊化設(shè)計(jì)、結(jié)構(gòu)化編碼 牛牛文庫(kù)文檔分享30小結(jié)算法是程序的靈魂 牛牛文庫(kù)29上機(jī)安排時(shí)間:周四12節(jié)地點(diǎn):教一樓101經(jīng)貿(mào)1501教一樓105會(huì)計(jì)1501、會(huì)計(jì)1502教一樓112商務(wù)1501、信管1501教一樓115金融1501教一樓124經(jīng)濟(jì)1501 牛牛文庫(kù)文檔分享31上機(jī)安排時(shí)間:周四12節(jié) 牛牛30上機(jī)作業(yè)1上機(jī)作業(yè)1: 熟悉C程序的運(yùn)行環(huán)境和運(yùn)行方法安裝和熟悉 Turbo C /VC+6.0輸入并運(yùn)行教材例題1.1和1.2,熟悉運(yùn)行環(huán)境和運(yùn)行方法編寫一個(gè)程序,求兩個(gè)整數(shù)m和n的最大公約數(shù)。作業(yè)提交作業(yè)管理系統(tǒng):經(jīng)管院網(wǎng)站首頁(yè)-網(wǎng)上實(shí)驗(yàn)室-實(shí)驗(yàn)報(bào)告提交課程+教師姓名+學(xué)號(hào) 牛牛文庫(kù)文檔分享32上機(jī)作業(yè)1上機(jī)作業(yè)1: 牛牛文31上交作業(yè)要求作業(yè)計(jì)入平時(shí)成績(jī)請(qǐng)按時(shí)按指定方式交作業(yè),逾期未交累計(jì)三次者取消考試資格請(qǐng)獨(dú)立完成作業(yè),不準(zhǔn)相互抄襲,一經(jīng)發(fā)現(xiàn),抄襲者和被抄襲者均計(jì)零分,累計(jì)三次者取消考
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)施試題及答案
- 快速記憶技巧與公路工程試題及答案
- 超市多元化支付方式與金融科技創(chuàng)新考核試卷
- 學(xué)會(huì)識(shí)別公路工程考試試題及答案技巧
- 保健食品行業(yè)供應(yīng)鏈金融創(chuàng)新考核試卷
- 金屬加工中的金屬成形技術(shù)考核試卷
- 谷物加工中的谷物粉碎與磨粉工藝考核試卷
- 谷物磨制工藝在食品產(chǎn)業(yè)可持續(xù)發(fā)展中的應(yīng)用考核試卷
- 行政組織理論的實(shí)務(wù)應(yīng)用與2025年試題及答案
- 小學(xué)脊柱側(cè)彎教育
- 大數(shù)據(jù)技術(shù)在媒體運(yùn)營(yíng)中的價(jià)值試題及答案
- 2025年五金采購(gòu)合同與價(jià)格明細(xì)
- 【初中生物】光合作用(第1課時(shí))課件-2024-2025學(xué)年人教版生物學(xué)七年級(jí)下冊(cè)
- 2025年高考語(yǔ)文古詩(shī)詞鑒賞主題閱讀與理解試題
- 樸樸北森測(cè)評(píng)試題及答案
- 中鐵建設(shè)面試試題及答案
- 2025年消控室考核試題及答案
- 衛(wèi)健系統(tǒng)2025年上半年安全生產(chǎn)工作總結(jié)
- 餐廳食材驗(yàn)收培訓(xùn)
- 麻精藥品規(guī)范化管理與使用
評(píng)論
0/150
提交評(píng)論