《算法的三種基本邏輯結(jié)構(gòu)和框圖表示》課件1.ppt_第1頁
《算法的三種基本邏輯結(jié)構(gòu)和框圖表示》課件1.ppt_第2頁
《算法的三種基本邏輯結(jié)構(gòu)和框圖表示》課件1.ppt_第3頁
《算法的三種基本邏輯結(jié)構(gòu)和框圖表示》課件1.ppt_第4頁
《算法的三種基本邏輯結(jié)構(gòu)和框圖表示》課件1.ppt_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、算法的三種基本邏輯結(jié)構(gòu)和框圖表示,一、復習引入,1.程序框圖的概念,通常用一些通用圖形符號構(gòu)成一張圖來表示算法。這種圖稱做程序框圖(簡稱框圖)也叫流程圖.,二、提出問題,我們寫出的算法或畫出的程序框圖,一定要使大家一步步地看清楚、明白,容易閱讀.不然的話,寫得算法亂無頭緒,就很難讓人閱讀和理解.這就要求算法或程序框圖有一個良好的結(jié)構(gòu).,算法有三種基本的邏輯結(jié)構(gòu):順序結(jié)構(gòu)、條件分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu),二、提出問題,開始,結(jié)束,順序結(jié)構(gòu),條件結(jié)構(gòu),循環(huán)結(jié)構(gòu),三、概念形成,概念1.順序結(jié)構(gòu),順序結(jié)構(gòu)是最簡單的算法結(jié)構(gòu),語句與語句之間,框與框之間是按從上到下的順序進行的,它是由若干個依次執(zhí)行的處理步驟組成

2、的,它是任何一個算法都離不開的一種基本算法結(jié)構(gòu). 順序結(jié)構(gòu)在程序框圖 中的體現(xiàn)就是用流程線將 程序框自上而下地連接起 來,按順序執(zhí)行算法步驟.,步驟n,步驟n1,三角形ABC的底BC為4, 高AD為2,求三角形ABC的面積S,試設計該問題的算法和流程.,結(jié)束,開始,計算 S=1/2ah,輸出S,輸入a=4,h=2,順序結(jié)構(gòu),是,是,概念2.條件分支結(jié)構(gòu),在一個算法中,經(jīng)常會遇到一些條件的判斷,算法的流程根據(jù)條件是否成立有不同的流向.條件結(jié)構(gòu)就是處理這種過程的結(jié)構(gòu). 分類是算法中經(jīng)常發(fā)生的事情,條件結(jié)構(gòu)的主要作用就是表示分類.條件結(jié)構(gòu)可用程序框圖表示為下面兩種形式.,步驟A,步驟B,滿足條件?,

3、否,步驟A,滿足條件?,否,任意給定3個正實數(shù),設計一個算法,判斷分別以這3個數(shù)為三邊邊長的三角形是否存在.畫出這個算法的程序框圖.,開始,輸入a,b,c,a+bc,a+cb,b+ca 是否同時成立?,存在這樣的 三角形,不存在這樣 的三角形,結(jié)束,否,是,條件分支結(jié)構(gòu),根據(jù)指令條件決定是否重復執(zhí)行一條或多條指令的控制結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu).,概念3、循環(huán)結(jié)構(gòu),循環(huán)結(jié)構(gòu),在科學計算中,會遇到許多有規(guī)律的重復運算,例如人口預測.,已經(jīng)知道現(xiàn)有的人口總數(shù)是P,人口的年增長率是R,預測第T年后人口總數(shù)將是多少?,問題的分析: (1)第一年后的人口總數(shù)是P+PR=P(1+R); (2)第二年后的人口總數(shù)是P

4、(1+R)+P(1+R)R=P(1+R)2; 以此類推,得到第T年后的人口總數(shù)是P(1+R)T.,這就是說,如果要計算第10年后的人口總數(shù),乘(1+R)的運算要重復10次. 如果一個計算過程,要重復一系列的計算步驟若干次,每次重復的計算步驟完全相同,則這種算法過程稱為循環(huán)過程.,循環(huán)過程非常適合計算機處理,因為計算機的運算速度非??靾?zhí)行成千上萬次的重復計算,只不過是一瞬間的事,且能保證每次的結(jié)果都正確.,否,是,開始,輸入第一年人口P 人口增長率R,預測第T年,增長時間t=1,tT,t=t+1,P=P+I,計算增量I=PR,結(jié)束,輸出P值,循環(huán)結(jié)構(gòu)分為當型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu),差異:循環(huán)終

5、止條件不同,檢驗條件是否成立的先后次序也不同.,當型循環(huán)結(jié)構(gòu):先判斷后執(zhí)行循環(huán)體.,直到型循環(huán)結(jié)構(gòu):先執(zhí)行循環(huán)體后判斷條件是否成立.,例1.已知點 和直線 ,求點 到直線 的距離 .,四、例題,解:(1)用數(shù)學語言來描述算法:,S1:輸入點的坐標 ,輸入直線方程的系數(shù)A,B,C;,S2:計算 ;,S3:輸出 ;,S1:輸入點的坐標,及直線系數(shù):,例1.已知點 和直線 ,求點 到直線 的距離 .,解:(2)用框圖來描述算法:,輸入,S2:計算:,S3:輸出 ;,輸入系數(shù)a,b,c,輸出X1、X2,計算,計算,順序結(jié)構(gòu),開始,結(jié)束,設計算法,求一元二次方程ax2+bx+c=0( )的根,畫出相應的

6、流程圖,a0,輸出x1,x2,輸入系數(shù)a,b,c,否,是,輸出無實數(shù)解,條件結(jié)構(gòu),計算,開始,結(jié)束,例3.設火車托運行李時,每千米的費用(單位:元)標準為:,解:先輸入托運重量為P和里程D,再分別用各自條件下的計算式子來進行計算處理,然后將結(jié)果與托運路程D想成相乘,最后輸出托運行李費用M.,畫出行李托運費用的程序框圖.,例4. 已知n個正整數(shù)排成一行如下: a1,a2,a3,an1,an,其中下腳碼表示n個數(shù)的排列位置,這一行數(shù)滿足條件:a1=1,a2=1,an=an2+an1(n3, nN),畫出計算第n項的程序框圖.,分析:a1=1,a2=1,an=an2+an1,所以 a3=2,a4=3,a5=5,ak=ak2+ak1,,我們看到ak,ak2,ak1,都是k的函數(shù),數(shù)值隨k而變化. 因此在框圖中要引入三個變量,分別用C、A、B表示ak,ak2,ak1,且首先要輸入正整數(shù)n (n3),以及給A和B分別輸入數(shù)值1,1,然后循環(huán)計算.,開始,輸入n,A=1, B=1, k=3,kn,k=k+1,A=B, B=C,C=A+B,結(jié)束,輸出C,1、寫出下列程序框圖的運行結(jié)果.,已知函數(shù) ,程序框圖表示的是給出x值,求相應的函數(shù)值的算法.將框圖補充完整.,其中處應填寫

溫馨提示

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

評論

0/150

提交評論