《高中數(shù)學(xué)必修三 算法程序框圖》由會員分享,可在線閱讀,更多相關(guān)《高中數(shù)學(xué)必修三 算法程序框圖(32頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、會計(jì)學(xué)1高中數(shù)學(xué)必修三高中數(shù)學(xué)必修三 算法程序框圖算法程序框圖1.1.1 算法的概念算法的概念第1頁/共32頁問題問題1請你寫出解二元一次方程組的詳細(xì)求解請你寫出解二元一次方程組的詳細(xì)求解過程過程.2121xyxy 第一步第一步:-2得得:5y=3 第二步第二步:解得解得:35y 第三步第三步:將將 代入代入,解得解得 .35y 15x 對于一般的二元一次方程組對于一般的二元一次方程組其中其中 也可以按照上述步驟求解也可以按照上述步驟求解.111222a xb yca xb yc1 22 10aba b第2頁/共32頁這些步驟就構(gòu)成了解二元一次方程組這些步驟就構(gòu)成了解二元一次方程組的算法的算法
2、,我們可以根據(jù)這一算法編制計(jì)算機(jī)程我們可以根據(jù)這一算法編制計(jì)算機(jī)程序序,讓計(jì)算機(jī)來解二元一次方程組讓計(jì)算機(jī)來解二元一次方程組.算法的概念與特征算法的概念與特征在數(shù)學(xué)上,現(xiàn)代意義上的“算法”通常是指按照一定規(guī)則解決某一類問題的明確和有限的步驟。第3頁/共32頁例例1:任意給定一個(gè)大于任意給定一個(gè)大于1的整數(shù)的整數(shù)n,試設(shè)計(jì)一個(gè)試設(shè)計(jì)一個(gè)程序或步驟對程序或步驟對n是否為質(zhì)數(shù)做出判定是否為質(zhì)數(shù)做出判定.分析分析:請回顧這個(gè)問題的解題過程請回顧這個(gè)問題的解題過程.算法分析算法分析:第一步第一步:判斷判斷n是否等于是否等于2.若若n=2,則則n是質(zhì)數(shù)是質(zhì)數(shù);若若n2,則執(zhí)行第二步則執(zhí)行第二步.第二步第二
3、步:依次檢驗(yàn)依次檢驗(yàn)2(n-1)這些整數(shù)是不是這些整數(shù)是不是n的的因數(shù)因數(shù),即是不是整除即是不是整除n的數(shù)的數(shù).若有這樣的數(shù)若有這樣的數(shù),則則n不不是質(zhì)數(shù)是質(zhì)數(shù);若沒有這樣的數(shù)若沒有這樣的數(shù),則則n是質(zhì)數(shù)是質(zhì)數(shù).說明說明:用語言描述一個(gè)算法用語言描述一個(gè)算法,最便捷的方式就是最便捷的方式就是按解決問題的步驟進(jìn)行描述按解決問題的步驟進(jìn)行描述.每一步做一件事情每一步做一件事情.第4頁/共32頁練習(xí)一練習(xí)一:任意給定一個(gè)正實(shí)數(shù)任意給定一個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)設(shè)計(jì)一個(gè)算法求以這個(gè)數(shù)為半徑的圓的面積算法求以這個(gè)數(shù)為半徑的圓的面積.算法分析算法分析:第一步第一步:輸入任意一個(gè)正實(shí)數(shù)輸入任意一個(gè)正實(shí)數(shù)r;第二步
4、第二步:計(jì)算以計(jì)算以r為半徑的圓的面積為半徑的圓的面積S=r2;第三步第三步:輸出圓的面積輸出圓的面積.第5頁/共32頁練習(xí)二練習(xí)二:任意給定一個(gè)大于任意給定一個(gè)大于1的正整數(shù)的正整數(shù)n,設(shè)計(jì)一個(gè)算法求出設(shè)計(jì)一個(gè)算法求出n的所有因數(shù)的所有因數(shù).算法分析算法分析:第一步第一步:依次從依次從2(n-1)為除數(shù)去除為除數(shù)去除n,判斷判斷余數(shù)是否為余數(shù)是否為0,若是若是,則是則是n的因數(shù)的因數(shù);若不是若不是,則不是則不是n的因數(shù)的因數(shù).第二步第二步:在在n的因數(shù)中加入的因數(shù)中加入1和和n;第三步第三步:輸出輸出n的所有因數(shù)的所有因數(shù).第6頁/共32頁1.1.2 程序框圖與算法的基本邏輯結(jié)構(gòu)程序框圖與算
5、法的基本邏輯結(jié)構(gòu)從上節(jié)課我們知道從上節(jié)課我們知道:算法可以用自然語言來描述算法可以用自然語言來描述.第一步第一步第二步第二步第三步第三步為了使算法的程序或步驟表達(dá)得更為為了使算法的程序或步驟表達(dá)得更為直觀直觀,我們更經(jīng)常地用圖形方式來表示我們更經(jīng)常地用圖形方式來表示它它.第7頁/共32頁開始輸入ni=2求n除以i的余數(shù)ri的值增加1仍用i表示in或r=0?n不是質(zhì)數(shù)結(jié)束是是否否是是n是質(zhì)數(shù)否否r=0?設(shè)n是一個(gè)大于2的整數(shù).一般用i=i+1表示.i=i+1說明說明:i表示從表示從2(n-1)的所有正整數(shù)的所有正整數(shù),用以用以判斷例判斷例1步驟步驟2是否是否終止終止,i是一個(gè)計(jì)數(shù)變是一個(gè)計(jì)數(shù)變量
6、量,有了這個(gè)變量有了這個(gè)變量,算算法才能依次執(zhí)行法才能依次執(zhí)行.逐逐步考察從步考察從2(n-1)的的所有正整數(shù)中是否所有正整數(shù)中是否有有n的因數(shù)存在的因數(shù)存在.第8頁/共32頁思考思考:通過上述算法的兩種不同表達(dá)方式的比較通過上述算法的兩種不同表達(dá)方式的比較,你覺得用程序框圖來表達(dá)算法有哪些特點(diǎn)你覺得用程序框圖來表達(dá)算法有哪些特點(diǎn)?用程序框圖表示的算法更加簡練用程序框圖表示的算法更加簡練,直觀直觀,流向清流向清楚楚.程序框圖程序框圖又稱又稱流程圖流程圖,是一種用規(guī)定的圖是一種用規(guī)定的圖形、指向線及文字說明來準(zhǔn)確、直觀地表示算形、指向線及文字說明來準(zhǔn)確、直觀地表示算法的圖形法的圖形.通常通常,程
7、序框圖由程序框和流程線組成程序框圖由程序框和流程線組成.一個(gè)或幾個(gè)程序框的組合表示算法中的一個(gè)步驟一個(gè)或幾個(gè)程序框的組合表示算法中的一個(gè)步驟;流程線是方向箭頭流程線是方向箭頭,按照算法進(jìn)行的順序?qū)⒊绦虬凑账惴ㄟM(jìn)行的順序?qū)⒊绦蚩蜻B接起來框連接起來.第9頁/共32頁基本的程序框和它們各自表示的功能如下基本的程序框和它們各自表示的功能如下:圖形符號圖形符號名稱名稱功能功能終端框終端框(起止框起止框)表示一個(gè)算法的起始表示一個(gè)算法的起始和結(jié)束和結(jié)束輸入、輸入、輸出框輸出框表示一個(gè)算法輸入和表示一個(gè)算法輸入和輸出的信息輸出的信息處理框處理框(執(zhí)行框執(zhí)行框)判斷某一條件是否成立判斷某一條件是否成立,成立成
8、立時(shí)在出口處標(biāo)明時(shí)在出口處標(biāo)明“是是”或或“Y”;不;不”成立時(shí)標(biāo)明成立時(shí)標(biāo)明“否否”或或“N”.判斷框判斷框賦值、計(jì)算賦值、計(jì)算流程線流程線連接程序框連接程序框連接點(diǎn)連接點(diǎn)連接程序框圖的兩部分連接程序框圖的兩部分第10頁/共32頁開始輸入ni=2求n除以i的余數(shù)ri=i+1in或r=0?n不是質(zhì)數(shù)結(jié)束是是否否是是n是質(zhì)數(shù)否否r=0?順序結(jié)構(gòu)用程序框圖來表示算法,有用程序框圖來表示算法,有三種不同的基本邏輯結(jié)構(gòu):三種不同的基本邏輯結(jié)構(gòu):條件結(jié)構(gòu)循環(huán)結(jié)構(gòu)第11頁/共32頁程序框圖的三種基本的邏輯結(jié)構(gòu)程序框圖的三種基本的邏輯結(jié)構(gòu)順序結(jié)順序結(jié)構(gòu)構(gòu)條件結(jié)構(gòu)條件結(jié)構(gòu)循環(huán)結(jié)循環(huán)結(jié)構(gòu)構(gòu)第12頁/共32頁(1
9、)順序結(jié)構(gòu)順序結(jié)構(gòu)-是由若干個(gè)是由若干個(gè)依次依次執(zhí)行的處執(zhí)行的處理步驟組成的理步驟組成的.這是任何一個(gè)算法都離不開這是任何一個(gè)算法都離不開的基本結(jié)構(gòu)的基本結(jié)構(gòu).例例1:已知一個(gè)三角形的三邊邊長分別為已知一個(gè)三角形的三邊邊長分別為2,3,4,利用海倫利用海倫-秦九韶公式設(shè)計(jì)一個(gè)算法秦九韶公式設(shè)計(jì)一個(gè)算法,求出它的求出它的面積面積,畫出算法的程序框圖畫出算法的程序框圖.算法分析算法分析:第一步第一步:計(jì)算計(jì)算p的值的值.第二步第二步:由海倫由海倫-秦九韶公式求出三角形的面積秦九韶公式求出三角形的面積S.第三步第三步:輸出輸出S的值的值.第13頁/共32頁(1)順序結(jié)構(gòu)順序結(jié)構(gòu)-是由若干個(gè)依次執(zhí)行的
10、處是由若干個(gè)依次執(zhí)行的處理步驟組成的理步驟組成的.這是任何一個(gè)算法都離不開這是任何一個(gè)算法都離不開的基本結(jié)構(gòu)的基本結(jié)構(gòu).例例1:已知一個(gè)三角形的三邊邊長分別為已知一個(gè)三角形的三邊邊長分別為2,3,4,利用海倫利用海倫-秦九韶公式設(shè)計(jì)一個(gè)算法秦九韶公式設(shè)計(jì)一個(gè)算法,求出它的求出它的面積面積,畫出算法的程序框圖畫出算法的程序框圖.算法分析算法分析:第一步第一步:計(jì)算計(jì)算p的值的值.第二步第二步:由海倫由海倫-秦九韶公式求出三角形的面積秦九韶公式求出三角形的面積S.第三步第三步:輸出輸出S的值的值.第14頁/共32頁已知三角形三邊長分別為已知三角形三邊長分別為a,b,c,則三角則三角形的面積為形的面
11、積為其中其中 這個(gè)公式被稱為海倫這個(gè)公式被稱為海倫秦九韶公式秦九韶公式.()()()Sp papbpc2abcp返回第15頁/共32頁程序框圖程序框圖:開始2342p(2)(3)(4)Sp ppp輸出S結(jié)束第16頁/共32頁(2)條件結(jié)構(gòu)條件結(jié)構(gòu)-在一個(gè)算法中在一個(gè)算法中,經(jīng)常會遇到一經(jīng)常會遇到一些條件的判斷些條件的判斷,算法的流向算法的流向根據(jù)條件是否成根據(jù)條件是否成立有不同的流向立有不同的流向.條件結(jié)構(gòu)就是處理這種過條件結(jié)構(gòu)就是處理這種過程的結(jié)構(gòu)程的結(jié)構(gòu).例例2:任意給定任意給定3個(gè)正實(shí)數(shù)個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)算法設(shè)計(jì)一個(gè)算法,判斷分判斷分別以這別以這3個(gè)數(shù)為三邊邊長的三角形是否存在個(gè)數(shù)為三邊
12、邊長的三角形是否存在.畫畫出這個(gè)算法的程序框圖出這個(gè)算法的程序框圖.算法分析算法分析:第一步第一步:輸入輸入3個(gè)正實(shí)數(shù)個(gè)正實(shí)數(shù)a,b,c;第二步第二步:判斷判斷a+bc,a+cb,b+ca是否同時(shí)成立是否同時(shí)成立,若是若是,則能組成三角形則能組成三角形;若否若否,則組不成三角形則組不成三角形.第17頁/共32頁程序框圖程序框圖:開始輸入a,b,ca+bc,a+cb,b+ca是否同時(shí)成立?是是存在這樣的三角形不存在這樣的三角形否否結(jié)束第18頁/共32頁例例3:為了加強(qiáng)居民的節(jié)水意識為了加強(qiáng)居民的節(jié)水意識,某市制訂了以某市制訂了以下生活用水收費(fèi)標(biāo)準(zhǔn)下生活用水收費(fèi)標(biāo)準(zhǔn):每戶每月用水未超過每戶每月用水
13、未超過7m3時(shí)時(shí),每立方米收費(fèi)每立方米收費(fèi)1.0元元,并加收并加收0.2元的城元的城市污水處理費(fèi)市污水處理費(fèi);超過超過7m3的部分的部分,每立方米收費(fèi)每立方米收費(fèi)1.5元元,并加收并加收0.4元的城市污水處理費(fèi)元的城市污水處理費(fèi),請你寫請你寫出某戶居民每月應(yīng)交納的水費(fèi)出某戶居民每月應(yīng)交納的水費(fèi)y(元元)與用水量與用水量x(m3)之間的函數(shù)關(guān)系之間的函數(shù)關(guān)系,然后設(shè)計(jì)一個(gè)求該函然后設(shè)計(jì)一個(gè)求該函數(shù)值的算法數(shù)值的算法,并畫出程序框圖并畫出程序框圖.解解:y與與x之間的函數(shù)關(guān)系為之間的函數(shù)關(guān)系為:1.2,1.94.9xyx(當(dāng)當(dāng)0 x7時(shí)時(shí))(當(dāng)當(dāng)x7時(shí)時(shí))第19頁/共32頁解解:y與與x之間的函數(shù)
14、關(guān)系為之間的函數(shù)關(guān)系為:1.2,1.94.9xyx(當(dāng)當(dāng)0 x7時(shí)時(shí))(當(dāng)當(dāng)x7時(shí)時(shí))算法分析算法分析:第一步第一步:輸入每月用水輸入每月用水量量x;第二步第二步:判斷判斷x是否不超是否不超過過7.若是若是,則則y=1.2x;若若否否,則則y=1.9x-4.9.第三步第三步:輸出應(yīng)交納的輸出應(yīng)交納的水費(fèi)水費(fèi)y.開始輸入x0 x7?是是y=1.2x否否y=1.9x-4.9輸出y結(jié)束程序框圖程序框圖第20頁/共32頁例例4.畫程序框圖畫程序框圖,對于輸入的對于輸入的x值值,輸出相應(yīng)的輸出相應(yīng)的y值值.0(0)1(01)(1)xyxx x開始程序框圖程序框圖x0?是是y=0否否0 x1?是是y=1否
15、否y=x輸出y結(jié)束輸入x第21頁/共32頁是是例例5.設(shè)計(jì)一個(gè)求任意數(shù)的絕對值的算法設(shè)計(jì)一個(gè)求任意數(shù)的絕對值的算法,并畫出并畫出程序框圖程序框圖.(0)|(xxxxx當(dāng)時(shí)當(dāng) 100?是是輸出S結(jié)束否否直到型循環(huán)結(jié)構(gòu)開始i=1S=0i100?是是S=S+ii=i+1否否輸出S結(jié)束當(dāng)型循環(huán)結(jié)構(gòu)第26頁/共32頁開始輸入ni=2求n除以i的余數(shù)ri=i+1in或r=0?n不是質(zhì)數(shù)結(jié)束是是否否是是n是質(zhì)數(shù)否否r=0?順序結(jié)構(gòu)用程序框圖來表示算法,有用程序框圖來表示算法,有三種不同的基本邏輯結(jié)構(gòu):三種不同的基本邏輯結(jié)構(gòu):條件結(jié)構(gòu)循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)第27頁/共32頁 若是若是,則則m為所求為所求;探究
16、探究:畫出用二分法求方程畫出用二分法求方程x2-2=0的近似根的近似根(精精確度為確度為0.005)的程序框圖的程序框圖.算法分析算法分析:第一步第一步:令令f(x)=x2-2.因?yàn)橐驗(yàn)閒(1)0,所以設(shè)所以設(shè)a=1,b=2.第二步第二步:令令,2abm判斷判斷f(m)是否為是否為0.若否若否,則繼續(xù)判斷則繼續(xù)判斷f(a)(m)大于大于0還是小于還是小于0.第三步第三步:若若f(a)(m)0,則令則令a=m;否則否則,令令b=m.第四步第四步:判斷判斷|a-b|0?程序框圖程序框圖開始f(x)=x2-2輸入誤差和初值a,b2abmf(m)=0?a=m否否b=m|a-b|0?程序框圖程序框圖開始f(x)=x2-2輸入誤差和初值a,b2abma=m否否b=m|a-b|或f(m)=0?輸出m結(jié)束第30頁/共32頁基本結(jié)構(gòu),無論怎樣復(fù)雜的邏基本結(jié)構(gòu),無論怎樣復(fù)雜的邏輯結(jié)構(gòu),都可以通過這三種結(jié)輯結(jié)構(gòu),都可以通過這三種結(jié)構(gòu)來表達(dá)構(gòu)來表達(dá)第31頁/共32頁