《程序框圖與算法的基本邏輯結(jié)構(gòu)》課件2
《《程序框圖與算法的基本邏輯結(jié)構(gòu)》課件2》由會(huì)員分享,可在線閱讀,更多相關(guān)《《程序框圖與算法的基本邏輯結(jié)構(gòu)》課件2(61頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1.1.2 1.1.2 程序框圖與算法程序框圖與算法 的基本邏輯結(jié)構(gòu)的基本邏輯結(jié)構(gòu) 第一課時(shí)第一課時(shí)問題提出問題提出1.1.算法的含義是什么?算法的含義是什么?在數(shù)學(xué)中,按照一定規(guī)則解決某一在數(shù)學(xué)中,按照一定規(guī)則解決某一類問題的明確和有限的步驟類問題的明確和有限的步驟稱為算法稱為算法.2.2.算法是由一系列明確和有限的計(jì)算步算法是由一系列明確和有限的計(jì)算步驟組成的,我們可以用自然語言表述一驟組成的,我們可以用自然語言表述一個(gè)算法,但往往過程復(fù)雜,缺乏簡潔性,個(gè)算法,但往往過程復(fù)雜,缺乏簡潔性,因此,我們有必要探究使算法表達(dá)得更因此,我們有必要探究使算法表達(dá)得更加直觀、準(zhǔn)確的方法,這個(gè)想法可以通
2、加直觀、準(zhǔn)確的方法,這個(gè)想法可以通過過程序框圖程序框圖來實(shí)現(xiàn)來實(shí)現(xiàn).知識(shí)探究(一):算法的程序框圖知識(shí)探究(一):算法的程序框圖思考思考1:1:“判斷整數(shù)判斷整數(shù)n n(n n2 2)是否為質(zhì)數(shù))是否為質(zhì)數(shù)”的的算法步驟如何?算法步驟如何?第一步第一步,給定一個(gè)大于,給定一個(gè)大于2 2的整數(shù)的整數(shù)n n;第二步第二步,令,令i=2i=2;第三步第三步,用,用i i除除n n,得到余數(shù),得到余數(shù)r r;第四步第四步,判斷,判斷“r=0”r=0”是否成立是否成立.若是,則若是,則n n 不是質(zhì)數(shù),結(jié)束算法;否則,將不是質(zhì)數(shù),結(jié)束算法;否則,將i i 的值增加的值增加1 1,仍用,仍用i i表示;表
3、示;第五步第五步,判斷,判斷“i i(n-1)”(n-1)”是否成立,若是,是否成立,若是,則則n n是質(zhì)數(shù),結(jié)束算法;否則,返回是質(zhì)數(shù),結(jié)束算法;否則,返回 第三步第三步.思考思考2:2:我們將上述算法用下面的圖形表示:我們將上述算法用下面的圖形表示:開始開始r=0?輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”求求n除以除以i的余數(shù)的余數(shù)i=2輸入輸入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是結(jié)束結(jié)束否否否否上述表示算法的圖形稱為算法的上述表示算法的圖形稱為算法的程序框程序框圖圖又稱又稱流程圖流程圖,其中的多邊形叫做,其中的多邊形叫做
4、程序程序框框,帶方向箭頭的線叫做,帶方向箭頭的線叫做流程線流程線,你能,你能指出程序框圖的含義嗎?指出程序框圖的含義嗎?用程序框、流程線及文字說明來表示用程序框、流程線及文字說明來表示算法的圖形算法的圖形.思考思考3:3:在上述程序框圖中,有在上述程序框圖中,有4 4種程序框,種程序框,2 2種流種流程線,它們分別有何特定的名稱和功能?程線,它們分別有何特定的名稱和功能?開始開始r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”求求n除以除以i的余數(shù)的余數(shù)i=2輸入輸入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是結(jié)束結(jié)束否否否否輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”圖形符號(hào)
5、圖形符號(hào) 名名 稱稱 功功 能能 終端框終端框 (起止框)(起止框)輸入、輸出輸入、輸出框框 處理框處理框(執(zhí)行框)(執(zhí)行框)判斷框判斷框 流程線流程線 表示一個(gè)算法的起始和結(jié)束表示一個(gè)算法的起始和結(jié)束 表示一個(gè)算法輸入和輸出的表示一個(gè)算法輸入和輸出的信息信息 賦值、計(jì)算賦值、計(jì)算 判斷某一條件是否成立,成立時(shí)在判斷某一條件是否成立,成立時(shí)在出口處標(biāo)明出口處標(biāo)明“是是”或或“Y”Y”;不成立;不成立時(shí)標(biāo)明時(shí)標(biāo)明“否否”或或“N”N”連接程序框,表示算法步驟的連接程序框,表示算法步驟的執(zhí)行順序執(zhí)行順序 思考思考4:4:在邏輯結(jié)構(gòu)上,在邏輯結(jié)構(gòu)上,“判斷整數(shù)判斷整數(shù)n n(n n2 2)是否)是否
6、為質(zhì)數(shù)為質(zhì)數(shù)”的程序框圖由幾部分組成?的程序框圖由幾部分組成?開始開始r=0?輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”求求n除以除以i的余數(shù)的余數(shù)i=2輸入輸入ni的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?是是是是結(jié)束結(jié)束否否否否輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”三種基本邏輯結(jié)構(gòu)的特點(diǎn)?條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)有什么區(qū)別和聯(lián)系?順序結(jié)構(gòu)的特點(diǎn)是:按程序的先后秩序執(zhí)行,執(zhí)行流程是自上而下,沒有分支,也不能回頭;條件結(jié)構(gòu)的特點(diǎn)是(常見的二分支條件結(jié)構(gòu)):在兩條可能的路徑中,根據(jù)條件的不同,只能選擇執(zhí)行兩條路徑中的一條;循環(huán)結(jié)構(gòu)的特點(diǎn)是:在這種結(jié)構(gòu)中,經(jīng)常出現(xiàn)從某處開始,按照一定的條件,反
7、復(fù)執(zhí)行某一處理步驟的情況。區(qū)別是:循環(huán)結(jié)構(gòu)具有重復(fù)性,條件結(jié)構(gòu)具有選擇性,不重復(fù),聯(lián)系是:循環(huán)結(jié)構(gòu)中必定包含一個(gè)條件結(jié)構(gòu),用以判斷循環(huán)的條件知識(shí)探究(二):算法的順序結(jié)構(gòu)知識(shí)探究(二):算法的順序結(jié)構(gòu)思考思考1:1:任何一個(gè)算法各步驟之間都有明確的任何一個(gè)算法各步驟之間都有明確的順序性,在算法的程序框圖中,由若干個(gè)依順序性,在算法的程序框圖中,由若干個(gè)依次執(zhí)行的步驟組成的邏輯結(jié)構(gòu),稱為次執(zhí)行的步驟組成的邏輯結(jié)構(gòu),稱為順序結(jié)順序結(jié)構(gòu)構(gòu),用程序框圖可以表示為:,用程序框圖可以表示為:步驟步驟n步驟步驟n+1在順序結(jié)構(gòu)中可能在順序結(jié)構(gòu)中可能會(huì)用到哪幾種程序會(huì)用到哪幾種程序框和流程線?框和流程線??思
8、考思考2:2:若一個(gè)三角形的三條邊長分別為若一個(gè)三角形的三條邊長分別為a a,b b,c c,令,令 ,則三角形的面積,則三角形的面積 .你能利用這個(gè)公式你能利用這個(gè)公式設(shè)計(jì)一個(gè)計(jì)算三角形面積的算法步驟嗎?設(shè)計(jì)一個(gè)計(jì)算三角形面積的算法步驟嗎?2abcp+=()()()Sp papb pc=-()()()Sp papb pc=-第一步,輸入三角形三條邊的邊長第一步,輸入三角形三條邊的邊長 a a,b b,c.c.第二步,計(jì)算第二步,計(jì)算 .2abcp+=第三步,計(jì)算第三步,計(jì)算 .()()()Sp pa pb pc=-第四步,輸出第四步,輸出S.S.思考思考3:3:上述算法的程序框圖如何表示?上
9、述算法的程序框圖如何表示?開始開始結(jié)束結(jié)束輸出輸出S輸入輸入a,b,c2abcp+=()()()Sp pa pb pc=-例例1 1 一個(gè)籠子里裝有雞和兔共一個(gè)籠子里裝有雞和兔共m m只,且只,且雞和兔共雞和兔共n n只腳,設(shè)計(jì)一個(gè)計(jì)算雞和兔各有多只腳,設(shè)計(jì)一個(gè)計(jì)算雞和兔各有多少只的算法,并畫出程序框圖表示少只的算法,并畫出程序框圖表示.理論遷移理論遷移算法分析:算法分析:第一步,輸入第一步,輸入m m,n.n.第二步,計(jì)算雞的只數(shù)第二步,計(jì)算雞的只數(shù) .42mnx-=第三步,計(jì)算兔的只數(shù)第三步,計(jì)算兔的只數(shù)y=m-x.y=m-x.第四步,輸出第四步,輸出x x,y.y.開始開始結(jié)束結(jié)束輸出輸
10、出x,y輸入輸入m,n42mnx-=y y=m-xm-x程序框圖:程序框圖:例例2 2 已知下圖是已知下圖是“求一個(gè)正奇數(shù)的平方求一個(gè)正奇數(shù)的平方加加5 5的值的值”的程序框圖,若輸出的數(shù)是的程序框圖,若輸出的數(shù)是3030,求,求輸入的數(shù)輸入的數(shù)n n的值的值.開始開始結(jié)束結(jié)束輸入正整數(shù)輸入正整數(shù)n輸出輸出yy=x2+5x=2n-1順序結(jié)構(gòu)的程序框圖的基本特征:順序結(jié)構(gòu)的程序框圖的基本特征:小結(jié)作業(yè)小結(jié)作業(yè)(2 2)各程序框從上到下用流程線依次)各程序框從上到下用流程線依次連接連接.(1 1)必須有兩個(gè)起止框,穿插輸入、輸)必須有兩個(gè)起止框,穿插輸入、輸出框和處理框,沒有判斷框出框和處理框,沒
11、有判斷框.(3 3)處理框按計(jì)算機(jī)執(zhí)行順序沿流程線)處理框按計(jì)算機(jī)執(zhí)行順序沿流程線依次排列依次排列.作業(yè)作業(yè):P P2020習(xí)題習(xí)題1.1B1.1B組:組:1.1.1.1.2 1.1.2 程序框圖與算法程序框圖與算法 的基本邏輯結(jié)構(gòu)的基本邏輯結(jié)構(gòu) 第二課時(shí)第二課時(shí)問題提出問題提出 1.1.用程序框、流程線及文字說明來用程序框、流程線及文字說明來表示算法的圖形稱為表示算法的圖形稱為程序框圖程序框圖,它使算,它使算法步驟顯得直觀、清晰、簡明法步驟顯得直觀、清晰、簡明.其中程序其中程序框有哪幾種基本圖形?它們表示的功能框有哪幾種基本圖形?它們表示的功能分別如何?分別如何?終端框終端框 (起止框)(起
12、止框)輸入、輸出輸入、輸出框框 處理框處理框(執(zhí)行框)(執(zhí)行框)判斷框判斷框 流程線流程線 2.2.順序結(jié)構(gòu)順序結(jié)構(gòu)是任何一個(gè)算法都離不是任何一個(gè)算法都離不開的基本邏輯結(jié)構(gòu),在一些算法中,有開的基本邏輯結(jié)構(gòu),在一些算法中,有些步驟只有在一定條件下才會(huì)被執(zhí)行,些步驟只有在一定條件下才會(huì)被執(zhí)行,有些步驟在一定條件下會(huì)被重復(fù)執(zhí)行,有些步驟在一定條件下會(huì)被重復(fù)執(zhí)行,這需要我們對(duì)算法的邏輯結(jié)構(gòu)作進(jìn)一步這需要我們對(duì)算法的邏輯結(jié)構(gòu)作進(jìn)一步探究探究.知識(shí)探究(一):算法的條件結(jié)構(gòu)知識(shí)探究(一):算法的條件結(jié)構(gòu)思考思考1:1:在某些問題的算法中,有些步驟在某些問題的算法中,有些步驟只有在一定條件下才會(huì)被執(zhí)行,算
13、法的只有在一定條件下才會(huì)被執(zhí)行,算法的流程因條件是否成立而變化流程因條件是否成立而變化.在算法的程在算法的程序框圖中,由若干個(gè)在一定條件下才會(huì)序框圖中,由若干個(gè)在一定條件下才會(huì)被執(zhí)行的步驟組成的邏輯結(jié)構(gòu),稱為被執(zhí)行的步驟組成的邏輯結(jié)構(gòu),稱為條條件結(jié)構(gòu)件結(jié)構(gòu),用程序框圖可以表示為下面兩,用程序框圖可以表示為下面兩種形式:種形式:滿足條件?滿足條件?步驟步驟A步驟步驟B是是否否滿足條件?滿足條件?步驟步驟A是是否否你如何理解這兩種程序框圖的共性你如何理解這兩種程序框圖的共性和個(gè)性?和個(gè)性?思考思考2:2:判斷判斷“以任意給定的以任意給定的3 3個(gè)正實(shí)數(shù)為個(gè)正實(shí)數(shù)為三條邊邊長的三角形是否存在三條邊邊
14、長的三角形是否存在”的算法的算法步驟如何設(shè)計(jì)?步驟如何設(shè)計(jì)?第二步,判斷第二步,判斷a+ba+b c c,b+cb+c a a,c+ac+a b b是是否同時(shí)成立否同時(shí)成立.若是,則存在這樣的三角若是,則存在這樣的三角形;否則,不存在這樣的三角形形;否則,不存在這樣的三角形.第一步,輸入三個(gè)正實(shí)數(shù)第一步,輸入三個(gè)正實(shí)數(shù)a a,b b,c.c.思考思考3:3:你能畫出這個(gè)算法的程序框圖你能畫出這個(gè)算法的程序框圖嗎?嗎?開始開始輸入輸入a,b,ca+bc,b+ca,c+ab是否是否同時(shí)成立?同時(shí)成立?是是存在這樣的三角形存在這樣的三角形結(jié)束結(jié)束否否不存在這樣的三角不存在這樣的三角形形知識(shí)探究(二)
15、:算法的循環(huán)結(jié)構(gòu)知識(shí)探究(二):算法的循環(huán)結(jié)構(gòu)思考思考1:1:在算法的程序框圖中,由按照一在算法的程序框圖中,由按照一定的條件反復(fù)執(zhí)行的某些步驟組成的邏定的條件反復(fù)執(zhí)行的某些步驟組成的邏輯結(jié)構(gòu),稱為輯結(jié)構(gòu),稱為循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的步,反復(fù)執(zhí)行的步驟稱為驟稱為循環(huán)體循環(huán)體,那么循環(huán)結(jié)構(gòu)中一定包,那么循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu)嗎?含條件結(jié)構(gòu)嗎?思考思考2:2:某些循環(huán)結(jié)構(gòu)用程序框圖可以表某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:示為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否 這種循環(huán)結(jié)構(gòu)稱為這種循環(huán)結(jié)構(gòu)稱為直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu),你能指出直到型循環(huán)結(jié)構(gòu)的特征嗎?你能指出直到型循環(huán)結(jié)構(gòu)的特征嗎
16、?在執(zhí)行了一次循環(huán)體后,對(duì)條件進(jìn)行判斷,如果條件不滿足,就繼續(xù)執(zhí)行循環(huán)體,直到條件滿足時(shí)終止循環(huán).思考思考3:3:還有一些循環(huán)結(jié)構(gòu)用程序框圖可還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:以表示為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否這種循環(huán)結(jié)構(gòu)稱為這種循環(huán)結(jié)構(gòu)稱為當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu),你能,你能指出當(dāng)型循環(huán)結(jié)構(gòu)的特征嗎?指出當(dāng)型循環(huán)結(jié)構(gòu)的特征嗎?在每次執(zhí)行循在每次執(zhí)行循環(huán)體前,對(duì)條環(huán)體前,對(duì)條件進(jìn)行判斷,件進(jìn)行判斷,如果條件滿足,如果條件滿足,就執(zhí)行循環(huán)體,就執(zhí)行循環(huán)體,否則終止循環(huán)否則終止循環(huán).思考思考4:4:計(jì)算計(jì)算1+2+3+1001+2+3+100的值可按如下過程的值可按如下過程進(jìn)行
17、:進(jìn)行:第第1 1步,步,0+1=1.0+1=1.第第2 2步,步,1+2=3.1+2=3.第第3 3步,步,3+3=6.3+3=6.第第4 4步,步,6+4=10.6+4=10.第第100100步,步,4950+100=5050.4950+100=5050.我們用一個(gè)累加變量我們用一個(gè)累加變量S S表示每一步的計(jì)算表示每一步的計(jì)算結(jié)果,即把結(jié)果,即把S+iS+i的結(jié)果仍記為的結(jié)果仍記為S S,從而把第,從而把第i i步步表示為表示為S=S=S+iS+i,其中,其中S S的初始值為的初始值為0 0,i i依次取依次取1 1,2 2,100100,通過重復(fù)操作,上述問題的算,通過重復(fù)操作,上述問
18、題的算法如何設(shè)計(jì)?法如何設(shè)計(jì)?第四步,判斷第四步,判斷i i100100是否成立是否成立.若是,若是,則輸出則輸出S S,結(jié)束算法;否則,返回第二,結(jié)束算法;否則,返回第二步步.第一步,令第一步,令i=1i=1,S=0.S=0.第二步,計(jì)算第二步,計(jì)算S+iS+i,仍用,仍用S S表示表示.第三步,計(jì)算第三步,計(jì)算i+1i+1,仍用,仍用i i表示表示.思考思考5:5:用直到型循環(huán)結(jié)構(gòu),上述算法的用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?程序框圖如何表示?開始開始i=1i100?是是輸出輸出S結(jié)束結(jié)束S=0i=i+1S=S+i否否思考思考6:6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程用當(dāng)型循環(huán)結(jié)構(gòu),
19、上述算法的程序框圖如何表示?序框圖如何表示?開始開始i=1結(jié)束結(jié)束輸出輸出S否否是是S=0S=S+ii100?i=i+1 例例1 1 設(shè)計(jì)一個(gè)求解一元二次方程設(shè)計(jì)一個(gè)求解一元二次方程axax2 2+bx+c=0+bx+c=0的算法,并畫出程序框圖表示的算法,并畫出程序框圖表示.理論遷移理論遷移算法分析算法分析:第一步,輸入三個(gè)系數(shù)第一步,輸入三個(gè)系數(shù)a a,b b,c.c.第二步,計(jì)算第二步,計(jì)算=b=b2 2-4ac.-4ac.第三步,判斷第三步,判斷0 0是否成立是否成立.若是,則計(jì)若是,則計(jì) 算算 ;否則,輸出;否則,輸出“方方程沒有程沒有 實(shí)數(shù)根實(shí)數(shù)根”,結(jié)束算法,結(jié)束算法.,22bp
20、qaa=-=V第四步,判斷第四步,判斷=0=0是否成立是否成立.若是,則輸出若是,則輸出 x x1 1=x=x2 2=p=p,否則,計(jì)算,否則,計(jì)算x x1 1=p+qp+q,x x2 2=p-qp-q,并輸出并輸出x x1 1,x x2 2.程序框圖程序框圖:開始開始輸入輸入a,b,c=b2-4ac0?=0?否否x1=p+q輸出輸出x1,x2結(jié)束結(jié)束否否是是2bpa=-2qa=Vx2=p-q輸出輸出x1=x2=p是是輸出輸出“方程沒有方程沒有實(shí)數(shù)根實(shí)數(shù)根”例例2 2 某工廠某工廠20052005年的年生產(chǎn)總值為年的年生產(chǎn)總值為200200萬元,技術(shù)革新后預(yù)計(jì)以后每年的年萬元,技術(shù)革新后預(yù)計(jì)以
21、后每年的年生產(chǎn)總值都比上一年增長生產(chǎn)總值都比上一年增長5%.5%.設(shè)計(jì)一個(gè)程設(shè)計(jì)一個(gè)程序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過300300萬萬元的最早年份元的最早年份.第三步,判斷所得的結(jié)果是否大于第三步,判斷所得的結(jié)果是否大于300.300.若是,則輸出該年的年份;若是,則輸出該年的年份;否則,返回第二步否則,返回第二步.第一步,第一步,輸入輸入20052005年的年生產(chǎn)總值年的年生產(chǎn)總值.第二步,計(jì)算下一年的年生產(chǎn)總值第二步,計(jì)算下一年的年生產(chǎn)總值.算法分析算法分析:(3 3)控制條件:當(dāng))控制條件:當(dāng)“a a300”300”時(shí)終止循時(shí)終止循環(huán)環(huán).(1 1)循環(huán)體:設(shè))
22、循環(huán)體:設(shè)a a為某年的年生產(chǎn)總值,為某年的年生產(chǎn)總值,t t為年生產(chǎn)總值的年增長量,為年生產(chǎn)總值的年增長量,n n為年份,為年份,則則t=0.05at=0.05a,a=a=a+ta+t,n=n+1.n=n+1.(2 2)初始值:)初始值:n=2005n=2005,a=200.a=200.循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu):開始開始n=2005a=200t=0.05aa=a+tn=n+1a300?結(jié)束結(jié)束輸出輸出n是是否否程序框圖程序框圖:(3 3)條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的程序框圖)條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的程序框圖各有兩種形式,相互對(duì)立統(tǒng)一各有兩種形式,相互對(duì)立統(tǒng)一.條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的基本特征:條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的基
23、本特征:小結(jié)作業(yè)小結(jié)作業(yè)(1 1)程序框圖中必須有兩個(gè)起止框,)程序框圖中必須有兩個(gè)起止框,穿插輸入、輸出框和處理框,一定有判穿插輸入、輸出框和處理框,一定有判斷框斷框.(2 2)循環(huán)結(jié)構(gòu)中包含條件結(jié)構(gòu),條件結(jié))循環(huán)結(jié)構(gòu)中包含條件結(jié)構(gòu),條件結(jié)構(gòu)中不含循環(huán)結(jié)構(gòu)構(gòu)中不含循環(huán)結(jié)構(gòu).作業(yè):作業(yè):P20P20習(xí)題習(xí)題1.1A1.1A組:組:2 2,3.3.1.1.2 1.1.2 程序框圖與算法程序框圖與算法 的基本邏輯結(jié)構(gòu)的基本邏輯結(jié)構(gòu) 第三課時(shí)第三課時(shí)問題提出問題提出 1.1.算法的基本邏輯結(jié)構(gòu)有哪幾種?算法的基本邏輯結(jié)構(gòu)有哪幾種?用程序框圖分別如何表示?用程序框圖分別如何表示?步驟步驟n步驟步驟n+
24、1順序結(jié)構(gòu)順序結(jié)構(gòu)條件結(jié)構(gòu)條件結(jié)構(gòu)滿足條件?滿足條件?步驟步驟A步驟步驟B是是否否(1)(1)滿足條件?滿足條件?步驟步驟A是是否否(2)(2)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否直到型直到型循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否當(dāng)型當(dāng)型 2.2.在學(xué)習(xí)上,我們要求對(duì)實(shí)際問題在學(xué)習(xí)上,我們要求對(duì)實(shí)際問題能用自然語言設(shè)計(jì)一個(gè)算法,再根據(jù)算能用自然語言設(shè)計(jì)一個(gè)算法,再根據(jù)算法的邏輯結(jié)構(gòu)畫出程序框圖,同時(shí),還法的邏輯結(jié)構(gòu)畫出程序框圖,同時(shí),還要能夠正確閱讀、理解程序框圖所描述要能夠正確閱讀、理解程序框圖所描述的算法的含義,這需要我們對(duì)程序框圖的算法的含義,這需要我們對(duì)程序框圖的
25、畫法有進(jìn)一步的理解和認(rèn)識(shí)的畫法有進(jìn)一步的理解和認(rèn)識(shí).知識(shí)探究(一):多重條件結(jié)構(gòu)的程序框圖知識(shí)探究(一):多重條件結(jié)構(gòu)的程序框圖思考思考1:1:解關(guān)于解關(guān)于x x的方程的方程ax+bax+b=0=0的算法步驟的算法步驟如何設(shè)計(jì)?如何設(shè)計(jì)?第三步,判斷第三步,判斷b b是否為是否為0.0.若是,則輸出若是,則輸出“方程的解為任意實(shí)數(shù)方程的解為任意實(shí)數(shù)”;否則,輸出;否則,輸出“方程無實(shí)數(shù)解方程無實(shí)數(shù)解”.第一步,輸入實(shí)數(shù)第一步,輸入實(shí)數(shù)a a,b.b.第二步,判斷第二步,判斷a a是否為是否為0.0.若是,執(zhí)行第三若是,執(zhí)行第三步;否則,計(jì)算步;否則,計(jì)算 ,并輸出,并輸出x x,結(jié)束,結(jié)束算法
26、算法.bxa=-思考思考2:2:該算法的程序框圖如何表示?該算法的程序框圖如何表示?開始開始輸入輸入a,ba=0?是是b=0?輸出輸出x結(jié)束結(jié)束輸出輸出“方程的解為方程的解為任意實(shí)數(shù)任意實(shí)數(shù)”是是輸出輸出“方程無方程無實(shí)數(shù)根實(shí)數(shù)根”否否否否bxa=-思考3:你能畫出求分段函數(shù)2,131,011,0 xxyxxx x+=-=-1?輸出輸出y結(jié)束結(jié)束x0?否否是是y=x+2是是y=3x-1否否y=1-x思考思考1 1:用用“二分法二分法”求方程求方程 的近似解的算法如何設(shè)計(jì)?的近似解的算法如何設(shè)計(jì)?220(0)xx 知識(shí)探究(二):混合邏輯結(jié)構(gòu)的程序框圖知識(shí)探究(二):混合邏輯結(jié)構(gòu)的程序框圖第一步
27、,令第一步,令f(xf(x)=x)=x2 2-2-2,給定精確度,給定精確度d.d.第二步,確定區(qū)間第二步,確定區(qū)間aa,bb,滿足,滿足f(a)f(bf(a)f(b)0.0.第三步,取區(qū)間中點(diǎn)第三步,取區(qū)間中點(diǎn) .2abm第四步,若第四步,若f(a)f(mf(a)f(m)0 0,則含零點(diǎn)的區(qū)間為,則含零點(diǎn)的區(qū)間為aa,mm;否則,含零點(diǎn)的區(qū)間為;否則,含零點(diǎn)的區(qū)間為mm,b.b.將新得到的含將新得到的含零點(diǎn)的區(qū)間仍記為零點(diǎn)的區(qū)間仍記為aa,b.b.第五步,判斷第五步,判斷aa,bb的長度是否小于的長度是否小于d d或或f(mf(m)是否是否等于等于0.0.若是,則若是,則m m是方程的近似解
28、;否則,返回第是方程的近似解;否則,返回第三步三步.思考思考2:2:該算法中哪幾個(gè)步驟可以用順序該算法中哪幾個(gè)步驟可以用順序結(jié)構(gòu)來表示?這個(gè)順序結(jié)構(gòu)的程序框圖結(jié)構(gòu)來表示?這個(gè)順序結(jié)構(gòu)的程序框圖如何?如何?f(x)=x2-2輸入精確度輸入精確度d和初始值和初始值a,b2abm思考思考3:3:該算法中第四步是什么邏輯結(jié)構(gòu)?該算法中第四步是什么邏輯結(jié)構(gòu)?這個(gè)步驟用程序框圖如何表示?這個(gè)步驟用程序框圖如何表示?f(a)f(m)0?a=mb=m是是否否思考思考4:4:該算法中哪幾個(gè)步驟構(gòu)成循環(huán)結(jié)該算法中哪幾個(gè)步驟構(gòu)成循環(huán)結(jié)構(gòu)?這個(gè)循環(huán)結(jié)構(gòu)用程序框圖如何表示?構(gòu)?這個(gè)循環(huán)結(jié)構(gòu)用程序框圖如何表示?第三步第三
29、步第四步第四步|a-b|d或或f(m)=0?輸出輸出m是是否否思考思考5:5:根據(jù)上述分析,你能畫出表示整個(gè)算根據(jù)上述分析,你能畫出表示整個(gè)算法的程序框圖嗎?法的程序框圖嗎?開始開始結(jié)束結(jié)束f(a)f(m)0??a=mb=m是是否否|a-b|b?ac?是是x=a是是x=c否否bc?否否x=b是是x=c否否輸出輸出x結(jié)束結(jié)束小結(jié)作業(yè)小結(jié)作業(yè)設(shè)計(jì)一個(gè)算法的程序框圖的基本思路:設(shè)計(jì)一個(gè)算法的程序框圖的基本思路:第二步,確定每個(gè)算法步驟所包含的邏第二步,確定每個(gè)算法步驟所包含的邏 輯結(jié)構(gòu),并用相應(yīng)的程序框圖表示輯結(jié)構(gòu),并用相應(yīng)的程序框圖表示.第一步,用自然語言表述算法步驟第一步,用自然語言表述算法步驟.第三步,將所有步驟的程序框圖用流程第三步,將所有步驟的程序框圖用流程 線連接起來,并加上兩個(gè)終端框線連接起來,并加上兩個(gè)終端框.作業(yè):作業(yè):P19P19練習(xí)練習(xí)(只要求畫出算法的(只要求畫出算法的 程序框圖)程序框圖).P20P20習(xí)題習(xí)題1.1B1.1B組:組:2.2.
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。