112-113_程序框圖與算法的基本邏輯結(jié)構(gòu)(一、二)_第1頁
112-113_程序框圖與算法的基本邏輯結(jié)構(gòu)(一、二)_第2頁
112-113_程序框圖與算法的基本邏輯結(jié)構(gòu)(一、二)_第3頁
112-113_程序框圖與算法的基本邏輯結(jié)構(gòu)(一、二)_第4頁
112-113_程序框圖與算法的基本邏輯結(jié)構(gòu)(一、二)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1.1.2 程序框圖與算法的基本邏輯結(jié)構(gòu) 課前復(fù)習(xí)課前復(fù)習(xí)算法算法在數(shù)學(xué)中,按照一定規(guī)則解決某一類問題的明確和有限的步驟稱為算法. 知識探究(一):算法的程序框圖1:復(fù)習(xí)“判斷整數(shù)n(n2)是否為質(zhì)數(shù)”的算法。第一步,給定一個大于2的整數(shù)n;第二步,令i=2;第三步,用i除n,得到余數(shù)r;第四步,判斷“r=0”是否成立.若是,則n不是質(zhì)數(shù),結(jié)束算法;否則,將i的值增加1,仍用i表示;第五步,判斷“i(n-1)”是否成立,若是,則n是質(zhì)數(shù),結(jié)束算法;否則,返回第三步2. 我們將上述算法如下表示:是是是是否否開始開始開始開始輸入輸入n輸入輸入n輸入輸入ni=2i=2i=2求求n除以除以i的余數(shù)的余

2、數(shù)求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?r=0?r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”否否否否輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束圖形符號圖形符號名名 稱稱功功 能能終端框終端框(起止框)(起止框)輸入、輸出框輸入、輸出框處理框處理框(執(zhí)行框)(執(zhí)行框)判斷框

3、判斷框流程線流程線表示一個算法的起始和結(jié)束表示一個算法的起始和結(jié)束表示一個算法輸入和輸出的表示一個算法輸入和輸出的信息信息賦值、計算賦值、計算判斷某一條件是否成立,成立判斷某一條件是否成立,成立時在出口處標(biāo)明時在出口處標(biāo)明“是是”或或“Y”;不成立時標(biāo)明不成立時標(biāo)明“否否”或或“N”連接程序框,表示算法步驟的連接程序框,表示算法步驟的執(zhí)行順序執(zhí)行順序圖形符號圖形符號名名 稱稱功功 能能圖形符號圖形符號名名 稱稱功功 能能終端框終端框(起止框)(起止框)輸入、輸出框輸入、輸出框處理框處理框(執(zhí)行框)(執(zhí)行框)判斷框判斷框流程線流程線表示一個算法的起始和結(jié)束表示一個算法的起始和結(jié)束表示一個算法輸入

4、和輸出的表示一個算法輸入和輸出的信息信息賦值、計算賦值、計算判斷某一條件是否成立,成立判斷某一條件是否成立,成立時在出口處標(biāo)明時在出口處標(biāo)明“是是”或或“Y”;不成立時標(biāo)明不成立時標(biāo)明“否否”或或“N”連接程序框,表示算法步驟的連接程序框,表示算法步驟的執(zhí)行順序執(zhí)行順序算法的基本邏輯結(jié)構(gòu):算法的基本邏輯結(jié)構(gòu):開始開始r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”求求n除以除以i的余數(shù)的余數(shù)i=2輸入輸入ni的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?是是是是結(jié)束結(jié)束否否否否輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”順序結(jié)構(gòu)順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)條件結(jié)構(gòu)條件結(jié)構(gòu)開始開始r=0?輸

5、出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”求求n除以除以i的余數(shù)的余數(shù)i=2輸入輸入ni的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?是是是是結(jié)束結(jié)束否否否否輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”開始開始開始開始r=0?r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)求求n除以除以i的余數(shù)的余數(shù)i=2i=2i=2輸入輸入n輸入輸入n輸入輸入ni的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i in n- -1 1或或r=0r=0?i

6、 in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?是是是是是是是是結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束否否否否否否否否輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”順序結(jié)構(gòu)順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)條件結(jié)構(gòu)條件結(jié)構(gòu)第一步,輸入三角形三條邊的邊長第一步,輸入三角形三條邊的邊長a,b,c. 第二步,計算第二步,計算 . . 2abcp+=第三步,計算第三步,計算 . .()()()Sp pa pb pc=-第四步,輸出第四步,輸出S S. . 例1 若一個三角形的三條邊長分別為a,b,c,令p=(a+b+c)/2,則三角形的面積試用這個公式設(shè)計一個計算三角形面積的算法步驟(

7、)()()Sp papb pc例1 若一個三角形的三條邊長分別為a,b,c,令p=(a+b+c)/2,則三角形的面積試用這個公式設(shè)計一個計算三角形面積的算法步驟()()()Sp papb pc3. 將上述算法的用程序框圖表示2abcp+=()()()Sp pa pb pc=-結(jié)束結(jié)束結(jié)束結(jié)束開始開始開始開始輸入輸入a,b,c輸入輸入a,b,c輸出輸出S輸出輸出S4.練習(xí):已知下圖是“求一個正奇數(shù)的平方加5的值”的程序框圖,若輸出的數(shù)是30,求輸入的數(shù)n的值.開始開始結(jié)束結(jié)束輸入正整數(shù)輸入正整數(shù)n輸出輸出yy=x2+5x=2n- -1開始開始結(jié)束結(jié)束輸入正整數(shù)輸入正整數(shù)n輸出輸出yy=x2+5x

8、=2n- -1知識探究(三):算法的條件結(jié)構(gòu)滿足條件?滿足條件?步驟步驟A步驟步驟B是是否否滿足條件?滿足條件?步驟步驟A是是否否滿足條件?滿足條件?步驟步驟A步驟步驟B是是否否滿足條件?滿足條件?步驟步驟A步驟步驟B是是否否滿足條件?滿足條件?步驟步驟A是是否否滿足條件?滿足條件?步驟步驟A是是否否1.在某些問題的算法中,有些步驟只有在一定條件下才會被執(zhí)在某些問題的算法中,有些步驟只有在一定條件下才會被執(zhí)行,算法的流程因條件是否成立而變化。在算法的程序框圖中,行,算法的流程因條件是否成立而變化。在算法的程序框圖中,由若干個在一定條件下才會被執(zhí)行的步驟組成的邏輯結(jié)構(gòu),稱由若干個在一定條件下才會

9、被執(zhí)行的步驟組成的邏輯結(jié)構(gòu),稱為為條件結(jié)構(gòu)條件結(jié)構(gòu),用程序框圖可以表示為下面兩種形式:,用程序框圖可以表示為下面兩種形式:3請畫出這個算法的程序框圖。 2例2: 判斷“以任意給定的3個正實數(shù)為三條邊邊長的三角形是否存在”的算法步驟如何設(shè)計?第二步,判斷第二步,判斷a+bc,b+ca,c+ab是是否同時成立否同時成立. 若是,則存在這樣的三角若是,則存在這樣的三角形;否則,不存在這樣的三角形形;否則,不存在這樣的三角形.第一步,輸入三個正實數(shù)第一步,輸入三個正實數(shù)a,b,c.開始開始開始開始輸入輸入a,b,c輸入輸入a,b,ca+bc,b+ca,c+ab是否同時成立?是否同時成立?a+bc,b+

10、ca,c+ab是否同時成立?是否同時成立?是是存在這樣的三角形存在這樣的三角形是是存在這樣的三角形存在這樣的三角形結(jié)束結(jié)束結(jié)束結(jié)束否否不存在這樣的三角不存在這樣的三角形形否否不存在這樣的三角不存在這樣的三角形形3.練習(xí)題(0)(0)xxyxx 畫畫出出求求函函數(shù)數(shù)的的函函數(shù)數(shù)值值的的程程序序框框圖圖. .理論遷移理論遷移算法分析算法分析:第一步,輸入三個系數(shù)a,b,c.第二步,計算=b24ac.例3 設(shè)計一個求解一元二次方程ax2+bx+c=0的算法,并畫出程序框圖表示. 第三步,判斷0是否成立.若是,則計算;否則,輸出“方程沒有實數(shù)根”,結(jié)束算法.,22bpqaa第三步,判斷0是否成立.若是

11、,則計算;否則,輸出“方程沒有實數(shù)根”,結(jié)束算法.,22bpqaa第四步,判斷=0是否成立.若是,則輸出x1=x2=p,否則,計算x1=p+q,x2=pq,并輸出x1、x2程序框圖程序框圖:開始開始否否是是輸入輸入a,b,c輸入輸入a,b,c= b2- -4ac= b2- -4ac0?0?是是2bpa是是2bpa2qa2qa=0?=0?=0?否否x1=p+q否否x1=p+qx2=p- -qx2=p- -q輸出輸出x1,x2輸出輸出x1,x2輸出輸出x1=x2=p輸出輸出x1=x2=p輸出輸出“方程沒有方程沒有實數(shù)根實數(shù)根”輸出輸出“方程沒有方程沒有實數(shù)根實數(shù)根”結(jié)束結(jié)束結(jié)束結(jié)束練習(xí)題0 (0)

12、1(01)(1)xyxxx 畫畫出出求求函函數(shù)數(shù)的的函函數(shù)數(shù)值值的的程程序序框框圖圖. .知識探究(四):算法的循環(huán)結(jié)構(gòu)思考1:在算法的程序框圖中,由按照一定的條件反復(fù)執(zhí)行的某些步驟組成的邏輯結(jié)構(gòu),稱為循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的步驟稱為循環(huán)體,那么循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu)嗎?思考2:某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否這種循環(huán)結(jié)構(gòu)稱為直到型循環(huán)結(jié)構(gòu),你能指出直到型循環(huán)結(jié)構(gòu)的特征嗎?在執(zhí)行了一次循環(huán)體后,對條件進行判斷,如果條件不滿足,就繼續(xù)執(zhí)行循環(huán)體,直到條件滿足時終止循環(huán).思考3:還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:

13、循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否在每次執(zhí)行循環(huán)體前,對條件進行判斷,如果條件滿足,就執(zhí)行循環(huán)體,否則終止循環(huán).這種循環(huán)結(jié)構(gòu)稱為當(dāng)型循環(huán)結(jié)構(gòu),你能指出當(dāng)型循環(huán)結(jié)構(gòu)的特征嗎?第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.第100步,4950+100=5050. 思考4:計算1+2+3+100的值可按如下過程進行:第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.第100步,4950+100=5050. 思考4:計算1+2+3+100的值可按如下過程進行:我們用一個累加變量我們用一個累

14、加變量S表示每一步的計算結(jié)果,表示每一步的計算結(jié)果,即把即把S+i的結(jié)果仍記為的結(jié)果仍記為S,從而把第,從而把第i步表示為步表示為S=S+i,其中其中S的初始值為的初始值為0,i依次取依次取1,2,100,通過重復(fù)操,通過重復(fù)操作,上述問題的算法如何設(shè)計?作,上述問題的算法如何設(shè)計?第一步,令第一步,令i=1,S=0.第二步,計算第二步,計算S+i,仍用,仍用S表示表示.第三步,計算第三步,計算i+1,仍用,仍用i表示表示.第四步,判斷第四步,判斷i100是否成立是否成立.若是,則輸若是,則輸出出S,結(jié)束算法;否則,返回第二步結(jié)束算法;否則,返回第二步.思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序

15、框圖如何表示? 開始開始i=1i100?是是輸出輸出S結(jié)束結(jié)束S=0 i=i+1S=S+i否否開始開始i=1結(jié)束結(jié)束輸出輸出S否否是是S=0S=S+ii100?i=i+1思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?例4:某工廠2005年的年生產(chǎn)總值為200萬元,技術(shù)革新后預(yù)計以后每年的年生產(chǎn)總值都比上一年增長5%. 設(shè)計一個程序框圖,輸出預(yù)計年生產(chǎn)總值超過300萬元的最早年份第一步,第一步, 輸入輸入2005年的年生產(chǎn)總值年的年生產(chǎn)總值.第二步,計算下一年的年生產(chǎn)總值第二步,計算下一年的年生產(chǎn)總值.算法分析算法分析:例4:某工廠2005年的年生產(chǎn)總值為200萬元,技術(shù)革新后預(yù)計以后每年

16、的年生產(chǎn)總值都比上一年增長5%. 設(shè)計一個程序框圖,輸出預(yù)計年生產(chǎn)總值超過300萬元的最早年份第三步,判斷所得的結(jié)果是否大于第三步,判斷所得的結(jié)果是否大于300. 若是,則若是,則輸出該年的年份;否則,返回第二步輸出該年的年份;否則,返回第二步.(3)控制條件:當(dāng))控制條件:當(dāng)“a300”時終止循環(huán)時終止循環(huán).(2)初始值:)初始值:n=2005,a=200.循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu):(1)循環(huán)體:設(shè))循環(huán)體:設(shè)a為某年的年生產(chǎn)總值,為某年的年生產(chǎn)總值,t為年生產(chǎn)總值的年增長量,為年生產(chǎn)總值的年增長量,n為年份,則為年份,則t=0.05a,a=a+t,n=n+1.開始開始n=2005a=200t=0.05aa=a+tn=n+1a300?結(jié)束結(jié)束輸出輸出n是是否否程序框圖程序框圖:1.順序結(jié)構(gòu)的程序框圖的基本特征:順序結(jié)構(gòu)的程序框圖的基本特征:小 結(jié)(2)各程序框從上到下用流程線依次連接)各程序框從上到下用流程線依次連接.(1)必須有兩個起止框,

溫馨提示

  • 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

提交評論