《程序的靈魂》PPT課件_第1頁
《程序的靈魂》PPT課件_第2頁
《程序的靈魂》PPT課件_第3頁
《程序的靈魂》PPT課件_第4頁
《程序的靈魂》PPT課件_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、2021/4/21第第2章章 程序的靈魂程序的靈魂算法算法學(xué)習(xí)目標(biāo)u 了解算法的概念了解算法的概念u 算法的特性算法的特性u 會用流程圖表示一個算會用流程圖表示一個算法法u 理解結(jié)構(gòu)化程序設(shè)計方理解結(jié)構(gòu)化程序設(shè)計方法法2021/4/222.1 算法的概念n為解決一個問題而采取的方法和步驟,就稱為算法。 以打電話為例 撥號發(fā)送通話掛機 計算機算法:計算機能夠執(zhí)行的算法。n計算機算法可分為兩大類:n數(shù)值運算算法:求解數(shù)值;數(shù)值運算算法:求解數(shù)值;n非數(shù)值運算算法:事務(wù)管理領(lǐng)域。非數(shù)值運算算法:事務(wù)管理領(lǐng)域。2021/4/232.2 簡單算法舉例n【例【例2.12.1】求求1 12 23 34 45

2、 5。n最原始方法:最原始方法:n步驟步驟1 1:先求:先求1 12 2,得到結(jié)果,得到結(jié)果2 2。n步驟步驟2 2:將步驟:將步驟1 1得到的乘積得到的乘積2 2乘以乘以3 3,得到結(jié)果,得到結(jié)果6 6。n步驟步驟3 3:將:將6 6再乘以再乘以4 4,得,得2424。n步驟步驟4 4:將:將2424再乘以再乘以5 5,得,得120120。n這樣的算法雖然正確,但太繁。這樣的算法雖然正確,但太繁。2021/4/24改進后的算法n改進的算法改進的算法:(:(S1S1代表步驟代表步驟1 1,以下類同),以下類同)nS1: S1: 使使t=1t=1nS2: S2: 使使i=2i=2nS3: S3:

3、 使使t ti, i, 乘積仍然放在在變量乘積仍然放在在變量t t中,可表中,可表示為示為t tititnS4: S4: 使使i i的值的值+1+1,即,即i+1ii+1inS5: S5: 如果如果ii5, 5, 返回重新執(zhí)行步驟返回重新執(zhí)行步驟S3S3以及其后以及其后的的S4S4和和S5S5;否則,算法結(jié)束。(循環(huán)操作);否則,算法結(jié)束。(循環(huán)操作)n如果計算如果計算100100!只需將!只需將S5:S5:若若i5i5改成改成i100i100即即可???。2021/4/252.3 算法的特性n算法應(yīng)該具有五個特征算法應(yīng)該具有五個特征n有窮性有窮性n確定性確定性n有零個或多個輸入有零個或多個輸入

4、n有一個或多個輸出有一個或多個輸出n有效性有效性2021/4/262.4 怎樣表示一個算法n一、自然語言表示一、自然語言表示n 除了很簡單的問題,一般不用。除了很簡單的問題,一般不用。n二、流程圖表示算法二、流程圖表示算法n流程圖是一種圖形化表示方法,將一個過程中的指令流程圖是一種圖形化表示方法,將一個過程中的指令或流動的流程繪制成圖?;蛄鲃拥牧鞒汤L制成圖。n優(yōu)勢優(yōu)勢:圖形表示算法,直觀形象,易于理解。:圖形表示算法,直觀形象,易于理解。n 流程圖包括部分:流程圖包括部分:n(1)表示相應(yīng)操作的圖框)表示相應(yīng)操作的圖框n(2)帶箭頭的流程線)帶箭頭的流程線n(3)框內(nèi)外必要的文字說明)框內(nèi)外必

5、要的文字說明2021/4/27開始結(jié)束輸出This is a C program2021/4/28流程圖符號符號說明程序的開始或結(jié)束處理框輸入/輸出指令判斷和分支連接符流程線2021/4/292021/4/2102021/4/2112021/4/2122021/4/2132021/4/2142021/4/215三種基本結(jié)構(gòu)n順序結(jié)構(gòu)順序結(jié)構(gòu)先執(zhí)行先執(zhí)行A,后執(zhí)行,后執(zhí)行B2021/4/216選擇結(jié)構(gòu)n選擇結(jié)構(gòu) 兩個分支選其一兩個分支選其一2021/4/217循環(huán)結(jié)構(gòu)先判斷,后執(zhí)行先執(zhí)行,后判斷2021/4/218輸出5個數(shù)1,2,3,4,5直到型直到型當(dāng)型循環(huán)當(dāng)型循環(huán)2021/4/219三種基

6、本結(jié)構(gòu)的共同特點:n只有一個入口;只有一個入口;n只有一個出口;只有一個出口;n結(jié)構(gòu)內(nèi)的每一部分都有機會被執(zhí)行到;結(jié)構(gòu)內(nèi)的每一部分都有機會被執(zhí)行到;n結(jié)構(gòu)內(nèi)不存在結(jié)構(gòu)內(nèi)不存在“死循環(huán)死循環(huán)”。2021/4/220用用N-S流程圖表示算法流程圖表示算法n N-S:流程圖去掉流程線n順序結(jié)構(gòu)先執(zhí)行先執(zhí)行A再執(zhí)行再執(zhí)行B2021/4/221選擇結(jié)構(gòu)條件條件P成立執(zhí)成立執(zhí)行行A操作,不操作,不成立執(zhí)行成立執(zhí)行B操操作作2021/4/222循環(huán)結(jié)構(gòu)當(dāng)P1條件成立時,反復(fù)執(zhí)行A操作先執(zhí)行A框,然后判斷條件P1是否成立2021/4/223求5!用N-S圖表示 1 t 2 it*i t i+1 i直到i5輸出

7、t2021/4/224例2用直到型循環(huán)表示2021/4/225偽代碼表示算法 偽代碼不是真實的代碼。它是一種使用一偽代碼不是真實的代碼。它是一種使用一組標(biāo)準(zhǔn)的單詞編寫算法的方法,看起來與代碼類組標(biāo)準(zhǔn)的單詞編寫算法的方法,看起來與代碼類似。似。偽代碼以偽代碼以 BEGIN 開始,為了顯示某些值使用了單詞開始,為了顯示某些值使用了單詞 DISPLAY ,偽代碼以,偽代碼以 END 結(jié)束結(jié)束 。beginDisplay “hello c!”end2021/4/226計算機語言表示算法n求求5!n#include nvoid main()nint p,i;np=1;i=2;nwhile(i=5)np=p*i;ni=i+1;nnprintf(“%dn”,p);n2021/4/2272.5 結(jié)構(gòu)化程序設(shè)計方法n自頂向下;自頂向下;n逐步細(xì)化;逐步細(xì)化;n模塊化設(shè)計;模塊化設(shè)計;n結(jié)構(gòu)化編碼。結(jié)構(gòu)化編碼。202

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論