c語言程序設(shè)計課件:算法_第1頁
c語言程序設(shè)計課件:算法_第2頁
c語言程序設(shè)計課件:算法_第3頁
c語言程序設(shè)計課件:算法_第4頁
c語言程序設(shè)計課件:算法_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 第二章第二章 算法算法 2 2.1 .1 算法的概念算法的概念 要利用計算機處理問題,光學(xué)習(xí)語言要利用計算機處理問題,光學(xué)習(xí)語言的語法規(guī)則還不夠,最重要的是要學(xué)會的語法規(guī)則還不夠,最重要的是要學(xué)會針對各類型的問題,擬定出有效的解題針對各類型的問題,擬定出有效的解題方法和步驟。方法和步驟。解題方法和步驟就是算法解題方法和步驟就是算法。算法算法: 為了解決一個問題而采取的有限步驟。為了解決一個問題而采取的有限步驟。 計算機算法計算機算法: 如何使計算機一步一步地工作的具體過程。如何使計算機一步一步地工作的具體過程。 利用計算機處理問題的步驟: 1)設(shè)計好算法算法設(shè)計; 2)用計算機語言實現(xiàn)算法程

2、序設(shè)計。 算法必須是“有效”的。 算法設(shè)計還要充分考慮算法的好壞。 衡量算法好壞的主要標(biāo)準(zhǔn): 程序簡練。 執(zhí)行速度快。 占空間少。 例:考慮 的算法。算法:直接表達。直接用語句 s=1+2+3+4+5+6+7+8+9+10當(dāng)項數(shù)較多時該算法不適用s=i110算法:迭代法(累加求和法) s=1+2+3+4+5+6+7+8+9+10 算法步驟: s i 使s=0 + 使i=1 累加器 記數(shù)器 s+is i+1i 若i10轉(zhuǎn),否則轉(zhuǎn) 輸出s01123364105該算法通用,是好算法2.2 2.2 算法的表示算法的表示 算法需要有統(tǒng)一的表示方法算法需要有統(tǒng)一的表示方法 常用的表示方法有:常用的表示方法

3、有: 自然語言自然語言 流程圖流程圖 結(jié)構(gòu)化流程圖結(jié)構(gòu)化流程圖 N-SN-S流程圖流程圖. . 1、自然語言自然語言 對于計算對于計算 s=1+2+3+4+5+6+7+8+9+10s=1+2+3+4+5+6+7+8+9+10 用自然語言表示為:用自然語言表示為: 使使s=0s=0 (s s為累加器)為累加器) 使使i=1i=1 (i i為計數(shù)器)為計數(shù)器) s+iss+is (累加求和公式)(累加求和公式) i+1ii+1i (計數(shù)器加(計數(shù)器加1 1) 若若i10i10轉(zhuǎn)轉(zhuǎn), ,否則轉(zhuǎn)否則轉(zhuǎn) 輸出輸出s s的值的值 特點:通俗易懂、文字冗長、含義不大嚴格。 2、流程圖流程圖 用流程圖符號表示

4、算法。 常用的流程圖符號 起止框 輸入輸出框 處理框 流程線 判斷框 對于計算 s=1+2+3+4+5+6+7+8+9+10 用流程圖表示為:s+i s i+1 i S+i s S+i s i10 輸出s 0 s 1 i 直觀形象,易于理解,次序清楚YN3、結(jié)構(gòu)化流程圖結(jié)構(gòu)化流程圖 傳統(tǒng)的流程圖有一個弊端:對流程線沒有嚴格的限制,對于較復(fù)雜的算法可能會變成亂麻一般(BS型算法)。 為克服這一弊端,提出了由三個基本結(jié)構(gòu)組成算法流程圖的思想: 結(jié)構(gòu)化流程圖 三個基本結(jié)構(gòu): 順序結(jié)構(gòu) 按固定順序(從上到下或從左到右)執(zhí)行的結(jié)構(gòu)。 ABab 選擇結(jié)構(gòu) 根據(jù)條件P選擇執(zhí)行哪一個分支。 成立 不成立 pA

5、Bab成立不成立例:計算 y= 1/x 當(dāng)x0時 y= 10000 當(dāng)x=0時 的算法流程圖圖: 選擇結(jié)構(gòu) 輸入x X=0? 10000y 1/xy 輸出y YN 循環(huán)結(jié)構(gòu) 重復(fù)執(zhí)行某些操作的結(jié)構(gòu)。 分為兩種: 當(dāng)型循環(huán)和直到型循環(huán)。 當(dāng)型循環(huán) 直到型循環(huán) P1AAP2aabbYYNN 可以看出,每個基本結(jié)構(gòu)都只有一個入口和一個出口,因此,用三個基本結(jié)構(gòu)構(gòu)成的流程圖不會象亂麻一般,用三個基本結(jié)構(gòu)構(gòu)成的流程圖就成為結(jié)構(gòu)化流程圖,用結(jié)構(gòu)化流程圖描述的算法稱為結(jié)構(gòu)化算法,相應(yīng)的程序設(shè)計就稱為結(jié)構(gòu)化程序設(shè)計。 觀察前例: 0 s 1 i S+i s i+1 i i10 輸出s 順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)yn4 N-SN-S流程圖流程圖N-S流程圖的三個基本結(jié)構(gòu): ABP成立不成立ABAB當(dāng)P1直到P2順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)例:計算 y= 1/x 當(dāng)x0時 y= 10000 當(dāng)x=0時 的N-S流程圖:輸入x X=0?是否10000y 1/xy 輸出y 例: 計算 s=1+2+3+4+5

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論