2)《程序框圖與算法的基本邏輯結(jié)構(gòu)》課件
《2)《程序框圖與算法的基本邏輯結(jié)構(gòu)》課件》由會員分享,可在線閱讀,更多相關《2)《程序框圖與算法的基本邏輯結(jié)構(gòu)》課件(40頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1.1.21.1.2程序框圖與算程序框圖與算法的基本邏輯結(jié)構(gòu)法的基本邏輯結(jié)構(gòu)一、復習回顧一、復習回顧1、算法的概念是什么?、算法的概念是什么? 在數(shù)學中,算法通常是按照一定規(guī)則解決某在數(shù)學中,算法通常是按照一定規(guī)則解決某一類問題的明確和有限的步驟?,F(xiàn)在,算法通常一類問題的明確和有限的步驟?,F(xiàn)在,算法通??梢跃幊捎嬎銠C程序,讓計算機執(zhí)行并解決問題??梢跃幊捎嬎銠C程序,讓計算機執(zhí)行并解決問題。2、自然語言表述一個算法有什么缺點?、自然語言表述一個算法有什么缺點? 我們可以用我們可以用自然語言自然語言表述一個算法,但表述一個算法,但往往往往過程復雜,缺乏簡潔性。過程復雜,缺乏簡潔性。 因此,我們有必
2、要探究使算法表達因此,我們有必要探究使算法表達更更加直觀、準確加直觀、準確的方法。的方法。 這個方法是什么嗎?這個方法是什么嗎?二、講授新課二、講授新課1、程序框圖、程序框圖 程序框圖又稱流程圖,是一種用程序程序框圖又稱流程圖,是一種用程序框、流程線和文字說明來表示算法的圖形。框、流程線和文字說明來表示算法的圖形。 程序框圖是算法的一種表現(xiàn)形式程序框圖是算法的一種表現(xiàn)形式。一個算法可以用一個算法可以用自然語言表示,也可自然語言表示,也可以用程序框圖表示以用程序框圖表示。通常是先寫出算。通常是先寫出算法的步驟,然后再轉(zhuǎn)化為對應的程序法的步驟,然后再轉(zhuǎn)化為對應的程序框圖??驁D。構(gòu)成程序框圖的圖形符
3、號及其功能構(gòu)成程序框圖的圖形符號及其功能圖形符號圖形符號名名 稱稱功能功能表示一個算法表示一個算法的起始與結(jié)束的起始與結(jié)束輸入框輸入框輸出框輸出框表示輸入輸出表示輸入輸出操作操作終端框終端框( (起止框起止框) ) 一個完整的程序框圖,一個完整的程序框圖,一定是一定是以起止框表示開始,以起止框表示開始,同時又以同時又以起止框表示結(jié)束。起止框表示結(jié)束。處理框處理框(執(zhí)行框執(zhí)行框)賦值、計算賦值、計算判斷框判斷框 判斷某一條件是判斷某一條件是否成立,成立時在否成立,成立時在出口處標明出口處標明“是是”或或“Y”,不成立時,不成立時標明標明“否否”或或“N”。流程線流程線連接程序框連接程序框連結(jié)點連
4、結(jié)點連接程序框圖的連接程序框圖的兩部分兩部分v流程線是帶有方向的箭頭,用以連接程序框,流程線是帶有方向的箭頭,用以連接程序框,直觀的表示算法的流程。直觀的表示算法的流程。v在程序框圖中,任意兩個程序框之間都存在流在程序框圖中,任意兩個程序框之間都存在流程線;程線;v除起止框外,任意一個程序框都只有一條流程除起止框外,任意一個程序框都只有一條流程線線“流進流進”v輸入輸出框、處理框都只有一條流程線輸入輸出框、處理框都只有一條流程線“流出流出”v但是判斷框一定是兩條流程線但是判斷框一定是兩條流程線“流出流出”即興練習:1、下面四個程序框圖中,從左到右依次是() A、輸入框、終端框、處理框、判斷框
5、B、終端框、輸出框、處理框、判斷框 C、輸出框、處理框、終端框、判斷框 D、處理框、輸入框、終端框、判斷框 答案:答案:C2、在程序框圖中,一個算法的步驟到另一個算法的步驟的連接用() A、連接點 B、判斷框 C、流程線 D、處理框答案:C 在在1.1.1節(jié)中判斷節(jié)中判斷“整數(shù)整數(shù)n (n2)是否是質(zhì)是否是質(zhì)數(shù)數(shù)”的算法。的算法。算法步驟:算法步驟: 第一步第一步 :給定大于:給定大于2的整數(shù)的整數(shù)n 第二步第二步 :令:令i =2 第三步第三步 :用:用i 除除n得到余數(shù)得到余數(shù)r 第四步第四步 : 判斷判斷“r=0”是否成立是否成立. 若是,則若是,則n不是質(zhì)數(shù),算法結(jié)束;不是質(zhì)數(shù),算法結(jié)
6、束; 否則,將否則,將i的值增加的值增加1,仍用,仍用i表示表示. 第五步第五步 : 判斷判斷“i(n-1)”是否成立是否成立. 若是,則若是,則n是質(zhì)數(shù),算法結(jié)束;是質(zhì)數(shù),算法結(jié)束; 否則,返回第三步。否則,返回第三步。 從從1.1.1節(jié)的算法可以看出,算法節(jié)的算法可以看出,算法步驟有明確的順序性,而且有些步驟只步驟有明確的順序性,而且有些步驟只有在一定條件下才會被執(zhí)行,有些步驟有在一定條件下才會被執(zhí)行,有些步驟在一定條件下會被重復執(zhí)行。在一定條件下會被重復執(zhí)行。程序框圖:程序框圖:v開始開始v輸入輸入nvi =2v求求n除以除以i的余數(shù)的余數(shù)rvi的值增加的值增加1 1v仍用仍用i表示表示
7、vin-1或或r=0?vr=0?v結(jié)束結(jié)束v輸出輸出 “n不是質(zhì)數(shù)不是質(zhì)數(shù)”v輸出輸出 “n是質(zhì)數(shù)是質(zhì)數(shù)”v是是v是是v否否v否否輸入一個大于輸入一個大于2的整的整數(shù)判斷是否為質(zhì)數(shù)數(shù)判斷是否為質(zhì)數(shù)算法步驟:算法步驟:第一步第一步 :給定大于:給定大于2的整數(shù)的整數(shù)n第二步第二步 :令:令i =2第三步第三步 :用:用i 除除n得到余數(shù)得到余數(shù)r第四步第四步 : 判斷判斷“r=0”是否成立是否成立. 若是,則若是,則n不是質(zhì)不是質(zhì)數(shù),算法結(jié)束;數(shù),算法結(jié)束; 否則,將否則,將i的值增的值增加加1,仍用,仍用i表示表示.第五步第五步 : 判斷判斷“i(n-1)”是否是否成立成立. 若是,則若是,則
8、n是質(zhì)數(shù),是質(zhì)數(shù),算法結(jié)束;算法結(jié)束; 否則,返回第三步。否則,返回第三步。i=i+1in或或r=0?否否是是求求n除以除以i的余數(shù)的余數(shù)輸入輸入ni=2n不是質(zhì)數(shù)不是質(zhì)數(shù)r=0?n是質(zhì)數(shù)是質(zhì)數(shù)是是否否 盡管不同的算法千差萬別盡管不同的算法千差萬別, ,但它們都是由但它們都是由三種基本的邏輯結(jié)構(gòu)構(gòu)成的。三種基本的邏輯結(jié)構(gòu)構(gòu)成的。2、程序框圖有以下三種不同的邏輯結(jié)構(gòu):、程序框圖有以下三種不同的邏輯結(jié)構(gòu):順序結(jié)構(gòu)順序結(jié)構(gòu)條件結(jié)構(gòu)條件結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 你能說出這三種基本邏輯結(jié)構(gòu)你能說出這三種基本邏輯結(jié)構(gòu)的特點嗎?的特點嗎? 順序結(jié)構(gòu)是出現(xiàn)最多的基本結(jié)構(gòu),它可以順序結(jié)構(gòu)是出現(xiàn)最多的基本結(jié)構(gòu),它可以
9、單獨出現(xiàn),也可以出現(xiàn)在條件結(jié)構(gòu)和循環(huán)單獨出現(xiàn),也可以出現(xiàn)在條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中。沒有判斷框。結(jié)構(gòu)中。沒有判斷框。 條件結(jié)構(gòu)的主要作用就是表示分類。有判條件結(jié)構(gòu)的主要作用就是表示分類。有判斷框。斷框。 循環(huán)結(jié)構(gòu)中一定包含著條件結(jié)構(gòu),用以控循環(huán)結(jié)構(gòu)中一定包含著條件結(jié)構(gòu),用以控制循環(huán)的進程,避免出現(xiàn)制循環(huán)的進程,避免出現(xiàn)“死循環(huán)死循環(huán)”。有。有判斷框。判斷框。順序結(jié)構(gòu)順序結(jié)構(gòu)1、含義:、含義:順序結(jié)構(gòu)順序結(jié)構(gòu)是由若干個依次執(zhí)行的是由若干個依次執(zhí)行的步驟組成,是最簡單的算法結(jié)構(gòu),框與框之步驟組成,是最簡單的算法結(jié)構(gòu),框與框之間從上到下進行。任何算法都離不開順序結(jié)間從上到下進行。任何算法都離不開順序結(jié)構(gòu)
10、。構(gòu)。2、框圖表示、框圖表示 步驟步驟n步驟步驟n+1例例1、已知一個三角形的三條邊長分別為、已知一個三角形的三條邊長分別為a,b,c,利用海倫公式,利用海倫公式秦九韶公式設計一秦九韶公式設計一個計算三角形面積的算法,并畫出程序框個計算三角形面積的算法,并畫出程序框圖表示圖表示.算法分析:算法分析:第一步:輸入三角形三條邊長第一步:輸入三角形三條邊長a,b,c.第二步:計算第二步:計算.2cbap 第三步:計算第三步:計算. )()(cpbpappS 第四步:輸出第四步:輸出S.程序框圖:程序框圖:結(jié)結(jié) 束束開開 始始輸入輸入a, b, c輸出輸出s2cbap()()()Sp papbpc寫出
11、下圖的運行結(jié)果。開開 始始輸入輸入a,b a=2 b=4 c=a a=b b=cS=a-b輸出輸出S結(jié)束結(jié)束答案:S=2條件結(jié)構(gòu)條件結(jié)構(gòu) 在算法中,通過對某個條件的判斷,根據(jù)在算法中,通過對某個條件的判斷,根據(jù)條件是否成立條件是否成立選擇不同流向的算法結(jié)構(gòu)稱為條選擇不同流向的算法結(jié)構(gòu)稱為條件結(jié)構(gòu)。件結(jié)構(gòu)。條件結(jié)構(gòu)可以用程序框圖表示為下面兩種形式:條件結(jié)構(gòu)可以用程序框圖表示為下面兩種形式:v滿足條件滿足條件?v是是v否否v滿足條件滿足條件?v是是v否否步驟步驟A步驟步驟B步驟步驟A例例2、任意給定、任意給定3個正實數(shù)個正實數(shù),設計一個算設計一個算法法,判斷分別以這三個數(shù)為三邊邊長的判斷分別以這三
12、個數(shù)為三邊邊長的三角形是否存在三角形是否存在.畫出這個算法的程序畫出這個算法的程序框圖框圖.第一步:輸入第一步:輸入3個正實數(shù)個正實數(shù)a,b,c.第二步:判斷第二步:判斷a+bc,b+ca,a+cb,是否同是否同時成立時成立.若是,則存在這樣的三角形;否若是,則存在這樣的三角形;否則不存在這樣的三角形則不存在這樣的三角形.程序框圖:程序框圖:v結(jié)束結(jié)束v開始開始v輸入輸入 a,b,cv存在這樣的三角形存在這樣的三角形va+ bc, a+ cb,v b+ ca是否同時是否同時v成立成立? ?v不存在這樣的三角形不存在這樣的三角形v是是v否否下圖是求實數(shù)x的絕對值的算法程序框圖,則判斷框中可填 。
13、開始輸入輸入x輸出輸出x輸出輸出-x結(jié)束答案:0?0?xx或“”是是否否61,5xx22x+1, x5、設計求一個函數(shù)y=的算法,并3x畫出相應的程序框圖。5x 用自然語言表述為:第一步:輸入x;第二步:如果x5,則 y=2x+1, 如果 ,則 ;y=1x23x第三步:輸出y;程序框圖如下圖所示:輸入輸入xX5?Y=2x+1輸出輸出y開始結(jié)束1x2y=3x是是否否循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)1.1.含義:循環(huán)結(jié)構(gòu)是指在算法中從某處開含義:循環(huán)結(jié)構(gòu)是指在算法中從某處開始始, ,按照一定的條件反復執(zhí)行某些步驟的算按照一定的條件反復執(zhí)行某些步驟的算法結(jié)構(gòu)法結(jié)構(gòu). .反復執(zhí)行的步驟稱為反復執(zhí)行的步驟稱為循環(huán)體循環(huán)
14、體。在科學計算中在科學計算中, ,有許多有規(guī)律的重復計算有許多有規(guī)律的重復計算, ,如如累加求和、累乘求積等問題要用到循環(huán)結(jié)構(gòu)累加求和、累乘求積等問題要用到循環(huán)結(jié)構(gòu). .直直到到型型循循環(huán)環(huán)結(jié)結(jié)構(gòu)構(gòu) 滿足條件?滿足條件?循環(huán)體循環(huán)體是是 直到型直到型循環(huán)循環(huán)執(zhí)行了一次循環(huán)體執(zhí)行了一次循環(huán)體之后之后, ,對控對控制循環(huán)條件進行判斷制循環(huán)條件進行判斷, ,當條件不滿足時執(zhí)行循當條件不滿足時執(zhí)行循環(huán)體環(huán)體, ,直到條件直到條件滿足時終止循環(huán)滿足時終止循環(huán). .2.框圖表示框圖表示否否當當型型循循環(huán)環(huán)結(jié)結(jié)構(gòu)構(gòu)滿足條件滿足條件? ?循環(huán)體循環(huán)體是是否否 當型循環(huán)結(jié)構(gòu)在每次執(zhí)行循環(huán)體前對控制當型循環(huán)結(jié)構(gòu)在
15、每次執(zhí)行循環(huán)體前對控制循環(huán)條件進行判斷循環(huán)條件進行判斷, ,當條件滿足時執(zhí)行循環(huán)體當條件滿足時執(zhí)行循環(huán)體, ,不滿足則停止不滿足則停止. .例例4、設計一算法、設計一算法,求和求和:1+2+3+ +100.算法步驟:算法步驟:第一步:第一步:第二步:第二步:第三步:第三步:程序框圖:程序框圖:100i 若成立,則執(zhí)行第三步;否則,=1i令,s=0.s輸出,結(jié)束算法。1,ii 返回第二步。s=s+i當型循環(huán)結(jié)構(gòu)當型循環(huán)結(jié)構(gòu)v開始開始vi =1vs=0100?i 否否v輸出輸出s”v結(jié)束結(jié)束vs=s+i是是vi =i+1直到循環(huán)結(jié)構(gòu)直到循環(huán)結(jié)構(gòu)v開始開始v s=0vi100?v結(jié)束結(jié)束v輸出輸出s
16、 sv是是vi =1v s=s+i v i =i+1v否否 北京獲得了北京獲得了2008年第年第29屆奧林匹克運屆奧林匹克運動會主辦權(quán)動會主辦權(quán).你知道在申辦奧運會的最后階你知道在申辦奧運會的最后階級級,國際奧委會是如何通過投票決定主辦權(quán)國際奧委會是如何通過投票決定主辦權(quán)歸屬的嗎歸屬的嗎?用怎樣的算法結(jié)構(gòu)表述上面的操作過程用怎樣的算法結(jié)構(gòu)表述上面的操作過程?算法步驟:算法步驟:第一步第一步: 投票投票;第二步第二步:統(tǒng)第一步計票數(shù)統(tǒng)第一步計票數(shù),如果有一個城市得如果有一個城市得票超過總票數(shù)的一半票超過總票數(shù)的一半,那么該城市就獲得主那么該城市就獲得主辦權(quán)辦權(quán),執(zhí)行第三步執(zhí)行第三步,否則淘汰得票
17、數(shù)最少的城否則淘汰得票數(shù)最少的城市市,返回第一步返回第一步;第三步第三步: 宣布主辦城市宣布主辦城市.開始開始投票投票有一個城市有一個城市得票數(shù)超過總票得票數(shù)超過總票 數(shù)的一半數(shù)的一半輸出該城市輸出該城市結(jié)束結(jié)束淘汰得票數(shù)淘汰得票數(shù)最少的城市最少的城市YN 在許多算法中在許多算法中, ,需要需要對問題的條件作出邏輯判對問題的條件作出邏輯判斷斷, ,判斷后依據(jù)條件是否判斷后依據(jù)條件是否成立而進行不同的處理方成立而進行不同的處理方式式, ,這就需要用條件結(jié)構(gòu)這就需要用條件結(jié)構(gòu)來實現(xiàn)算法來實現(xiàn)算法. .2、閱讀下面的程序框圖,若輸出的、閱讀下面的程序框圖,若輸出的s=57,則判斷框內(nèi)為(,則判斷框內(nèi)
18、為( )開始開始S=1,k=1K=k+1 s=2s+k輸出輸出s結(jié)束結(jié)束YN答案:K4?或s57?.3、程序框圖的畫法2“”x -2=0(X0)根據(jù)例2的算法步驟,利用三種基本邏輯結(jié)構(gòu)畫出程序框圖,表示用二分法 求方程的近似解的算法。設 計 一 個 算 法 的 程 序 框 圖 通 常 要 經(jīng) 過以 下 步 驟 。第 一 步 : 用 自 然 語 言 表 述 算 法 步 驟 。第 二 步 : 確 定 每 個 算 法 步 驟 所 包 含 的 結(jié) 構(gòu), 并 用 相 應 的 程 序 框 圖 表 示 , 得 到 該 步 驟的 程 序 框 圖 。(1)算法步驟中的“第一步”“第二步”和“第三步”可用順序結(jié)構(gòu)
19、來表示。2( )2f xx 輸入精確度輸入精確度d和初始值和初始值a,b2abma=mv是是v否否b=mvf(a)f(m)0?(2)算法步驟中的“第四步”可以用條件構(gòu)來表示。(3)算 法 步 驟 中 的 “ 第 五 步 ” 包 含 一 個 條 件 結(jié) 構(gòu) ,這 個 條 件 結(jié) 構(gòu) 與 “ 第 三 步 ” “ 第 四 步 ” 構(gòu) 成 一個 循 環(huán) 結(jié) 構(gòu) 。va-b d或或f(m)=0?v第三步第三步v第四步第四步v輸出輸出 mv否否v是是第三步:將所有步驟的程序框圖用流程線連接起來,并加上終端框,得到表示整個算法的程序框圖。小結(jié): 1、掌握程序框的畫法。、掌握程序框的畫法。 2、了解什么是程序框圖,知道學習程序、了解什么是程序框圖,知道學習程序 框圖的意義??驁D的意義。 3、構(gòu)成程序框圖的圖形符號及其功能。、構(gòu)成程序框圖的圖形符號及其功能。 4、算法的三種基本邏輯結(jié)構(gòu)的概念和應用。、算法的三種基本邏輯結(jié)構(gòu)的概念和應用。 5、算法的三種基本邏輯結(jié)構(gòu)之間的聯(lián)系和、算法的三種基本邏輯結(jié)構(gòu)之間的聯(lián)系和區(qū)別。區(qū)別。作業(yè):作業(yè): P20習題1.1A組3題。 思考:畫出解不等式思考:畫出解不等式ax+b0(ab0)的的程序框圖程序框圖
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。