《四川省開(kāi)江縣高中數(shù)學(xué) 第一章 算法初步 1.1.2 程序框圖與邏輯結(jié)構(gòu)(1)課件 新人教A版必修3》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《四川省開(kāi)江縣高中數(shù)學(xué) 第一章 算法初步 1.1.2 程序框圖與邏輯結(jié)構(gòu)(1)課件 新人教A版必修3(27頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1.1.2 1.1.2 程序框圖與算法的程序框圖與算法的基本邏輯結(jié)構(gòu)基本邏輯結(jié)構(gòu)(1)(1)1.算法的概念:算法的概念:在數(shù)學(xué)中在數(shù)學(xué)中“算法算法”通常是指按照一定的規(guī)則來(lái)通常是指按照一定的規(guī)則來(lái)解決的某一類(lèi)問(wèn)題的解決的某一類(lèi)問(wèn)題的明確和有限的步驟明確和有限的步驟,這些,這些步驟必須是步驟必須是明確明確和和有效有效的,而且能夠在的,而且能夠在有限步有限步之內(nèi)完成。之內(nèi)完成。3.算法的基本思想與特征算法的基本思想與特征:2.算法的表示方法:算法的表示方法:自然語(yǔ)言、程序框圖、程序自然語(yǔ)言、程序框圖、程序(1)解決某一類(lèi)問(wèn)題解決某一類(lèi)問(wèn)題(2)在在有限步有限步之內(nèi)完成之內(nèi)完成(3)每一步的明確性和
2、有效性每一步的明確性和有效性(4)每一步具有順序性每一步具有順序性(一般性一般性)(有限性有限性)(確定與可行性確定與可行性)(順序性順序性)一、程序框圖一、程序框圖又稱(chēng)流程圖,是一種用程序框、流程又稱(chēng)流程圖,是一種用程序框、流程線(xiàn)和文字說(shuō)明來(lái)表示算法的圖形。線(xiàn)和文字說(shuō)明來(lái)表示算法的圖形。前面我們是用自然語(yǔ)言描述一個(gè)算法前面我們是用自然語(yǔ)言描述一個(gè)算法.為了使得算法的描述更為直觀和步驟為了使得算法的描述更為直觀和步驟化化,下面介紹另一種描述算法的方法下面介紹另一種描述算法的方法:程序框圖程序框圖程序框圖的通俗解釋程序框圖的通俗解釋: 由一些圖框和有由一些圖框和有向箭頭構(gòu)成向箭頭構(gòu)成,表示算法按
3、一定的順序執(zhí)行表示算法按一定的順序執(zhí)行.連接程序框連接程序框流程線(xiàn)流程線(xiàn)判斷一條件是否成立判斷一條件是否成立,用用 “Y”或或“N”標(biāo)明標(biāo)明判斷框判斷框賦值、計(jì)算賦值、計(jì)算處理框處理框(執(zhí)行框執(zhí)行框)表示算法的輸入表示算法的輸入和輸出的信息和輸出的信息輸入輸入,輸出框輸出框表示一個(gè)算法表示一個(gè)算法的起始和結(jié)束的起始和結(jié)束終端框終端框(起止框起止框)功能功能名名 稱(chēng)稱(chēng)圖形符號(hào)圖形符號(hào)連接點(diǎn)連接點(diǎn)連接程序框圖的兩部分連接程序框圖的兩部分2.對(duì)程序框?qū)Τ绦蚩?表示的功能描述正確的一項(xiàng)表示的功能描述正確的一項(xiàng)是是:( ).A.表示算法的起始和結(jié)束表示算法的起始和結(jié)束.B.表示算法輸入和輸出的信息表示算
4、法輸入和輸出的信息.C.賦值、計(jì)算賦值、計(jì)算.D. 按照算法順序連接程序圖框按照算法順序連接程序圖框.1.流程圖的功能是流程圖的功能是:.( ).A.表示算法的起始和結(jié)束表示算法的起始和結(jié)束.B.表示算法的輸入和輸出信息表示算法的輸入和輸出信息.C.賦值、運(yùn)算賦值、運(yùn)算.D.按照算法順序連接程序圖框按照算法順序連接程序圖框.答案答案:D,B練習(xí):練習(xí):上節(jié)課例上節(jié)課例1:任意給定一個(gè)大于任意給定一個(gè)大于2的整數(shù)的整數(shù)n,試設(shè)計(jì)一個(gè)算法判定試設(shè)計(jì)一個(gè)算法判定n是否為質(zhì)數(shù)是否為質(zhì)數(shù).算法分析:算法分析:引例引例第一步、給定大于第一步、給定大于2的整數(shù)的整數(shù)n.第二步、令第二步、令i=2.第三步、用
5、第三步、用n除以除以i得到余數(shù)得到余數(shù)r.第四步、判斷第四步、判斷“r=0”是否成立。若成立,則是否成立。若成立,則n不不是質(zhì)數(shù),結(jié)束算法;否則,將是質(zhì)數(shù),結(jié)束算法;否則,將i的值增加的值增加1,仍,仍用用i表示。表示。第五步、判斷第五步、判斷“in-1” 是否成立是否成立.若是,則若是,則n是是質(zhì)數(shù),結(jié)束算法;否則,返回第三步質(zhì)數(shù),結(jié)束算法;否則,返回第三步.特點(diǎn):表示依次特點(diǎn):表示依次執(zhí)行的步驟執(zhí)行的步驟特點(diǎn)特點(diǎn):表示在一表示在一定條件下才會(huì)定條件下才會(huì)被執(zhí)行的步驟被執(zhí)行的步驟.特點(diǎn):表示在一特點(diǎn):表示在一定條件下會(huì)被重定條件下會(huì)被重復(fù)執(zhí)行的步驟復(fù)執(zhí)行的步驟i=i+1in或或r=0?否否是
6、是求求n除以除以i的余數(shù)的余數(shù)輸入輸入ni=2n不是質(zhì)數(shù)不是質(zhì)數(shù)r=0?n是質(zhì)數(shù)是質(zhì)數(shù)是是否否 盡管不同的算法千差萬(wàn)別盡管不同的算法千差萬(wàn)別, ,但它們都是由但它們都是由三種基本的邏輯結(jié)構(gòu)構(gòu)成的。三種基本的邏輯結(jié)構(gòu)構(gòu)成的。程序框圖有以下三種不同的邏輯結(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)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu))流程圖表示,實(shí)例流程圖表示,實(shí)例,程序演示:程序演示:順序、條件、循環(huán)三種基本的邏輯結(jié)構(gòu):順序、條件、循環(huán)三種基本的邏輯結(jié)構(gòu): 步驟步驟n步驟步驟n+1一、順序結(jié)
7、構(gòu)一、順序結(jié)構(gòu)1、含義:、含義:順序結(jié)構(gòu)順序結(jié)構(gòu)是由若干個(gè)依次執(zhí)行的步是由若干個(gè)依次執(zhí)行的步驟組成,是最簡(jiǎn)單的算法結(jié)構(gòu),框與框之間驟組成,是最簡(jiǎn)單的算法結(jié)構(gòu),框與框之間從上到下進(jìn)行。任何算法都離不開(kāi)順序結(jié)構(gòu)。從上到下進(jìn)行。任何算法都離不開(kāi)順序結(jié)構(gòu)。2、框圖表示、框圖表示例例1、已知一個(gè)三角形的三條邊長(zhǎng)分別為已知一個(gè)三角形的三條邊長(zhǎng)分別為a,b,c,利用海倫公式,利用海倫公式秦九韶公式設(shè)計(jì)秦九韶公式設(shè)計(jì) 一個(gè)計(jì)算三角形面積一個(gè)計(jì)算三角形面積的算法,并畫(huà)出程的算法,并畫(huà)出程序框圖表示序框圖表示.算法分析:算法分析:第一步:輸入三角形三條邊長(zhǎng)第一步:輸入三角形三條邊長(zhǎng)a,b,c.第二步:計(jì)算第二步:
8、計(jì)算.2cbap 第三步:計(jì)算第三步:計(jì)算. )()(cpbpappS 第四步:輸出第四步:輸出S.程序框圖為:程序框圖為:?jiǎn)栴}引入問(wèn)題引入: :北京獲得了北京獲得了20082008年第年第2929屆奧林匹克運(yùn)屆奧林匹克運(yùn)動(dòng)會(huì)主辦權(quán)動(dòng)會(huì)主辦權(quán). .你知道在申辦奧運(yùn)會(huì)的最后階級(jí)你知道在申辦奧運(yùn)會(huì)的最后階級(jí), ,國(guó)際奧委會(huì)是如何通過(guò)投票決定主辦權(quán)歸屬的國(guó)際奧委會(huì)是如何通過(guò)投票決定主辦權(quán)歸屬的嗎嗎? ?用怎樣的算法結(jié)構(gòu)表述上面的操作過(guò)程用怎樣的算法結(jié)構(gòu)表述上面的操作過(guò)程?S1: 投票投票;S2:統(tǒng)計(jì)票數(shù)統(tǒng)計(jì)票數(shù),如果有一個(gè)城市得票超過(guò)總?cè)绻幸粋€(gè)城市得票超過(guò)總票數(shù)的一半票數(shù)的一半,那么該城市就獲得主
9、辦權(quán)那么該城市就獲得主辦權(quán),執(zhí)行執(zhí)行S3,否則淘汰得票數(shù)最少的城市否則淘汰得票數(shù)最少的城市,返回返回S1;S3: 宣布主辦城市宣布主辦城市.開(kāi)始開(kāi)始投票投票有一個(gè)城市有一個(gè)城市得票數(shù)超過(guò)總票得票數(shù)超過(guò)總票 數(shù)的一半數(shù)的一半輸出該城市輸出該城市結(jié)束結(jié)束淘汰得票數(shù)淘汰得票數(shù)最少的城市最少的城市YN 在許多算法中在許多算法中, ,需要需要對(duì)問(wèn)題的條件作出邏輯判對(duì)問(wèn)題的條件作出邏輯判斷斷, ,判斷后依據(jù)條件是否判斷后依據(jù)條件是否成立而進(jìn)行不同的處理方成立而進(jìn)行不同的處理方式式, ,這就需要用條件結(jié)構(gòu)這就需要用條件結(jié)構(gòu)來(lái)實(shí)現(xiàn)算法來(lái)實(shí)現(xiàn)算法. .二、條件結(jié)構(gòu)二、條件結(jié)構(gòu) 常見(jiàn)的條件結(jié)構(gòu)可以用程序框圖表示為
10、下面常見(jiàn)的條件結(jié)構(gòu)可以用程序框圖表示為下面兩種形式:兩種形式: 條件結(jié)構(gòu)是指在算法中通過(guò)對(duì)條件的判斷條件結(jié)構(gòu)是指在算法中通過(guò)對(duì)條件的判斷,根據(jù)條件是否成立而選擇不同流向的算法結(jié)構(gòu)。根據(jù)條件是否成立而選擇不同流向的算法結(jié)構(gòu)。滿(mǎn)足條件滿(mǎn)足條件?步驟步驟B否否是是步驟步驟A滿(mǎn)足條件滿(mǎn)足條件?否否是是步驟步驟ACx2? 2log x例例4.任意給定任意給定3個(gè)正實(shí)數(shù)個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)算法設(shè)計(jì)一個(gè)算法,判斷分判斷分別以這三個(gè)數(shù)為三邊邊長(zhǎng)的三角形是否存在別以這三個(gè)數(shù)為三邊邊長(zhǎng)的三角形是否存在.畫(huà)畫(huà)出這個(gè)算法的程序框圖出這個(gè)算法的程序框圖.第一步:輸入第一步:輸入3個(gè)正實(shí)數(shù)個(gè)正實(shí)數(shù)a,b,c.第二步:判斷第
11、二步:判斷a+bc,b+ca,a+cb,是否同時(shí)成立是否同時(shí)成立.若是,則存在這樣的三角形;否則不存在這樣的三角形若是,則存在這樣的三角形;否則不存在這樣的三角形.算法分析:算法分析:開(kāi)始開(kāi)始 輸入輸入a、b、c a+bc,a+cb,b+ca是否同時(shí)成立是否同時(shí)成立 存在這樣的三角形存在這樣的三角形結(jié)束結(jié)束 否否是是 不存在這樣的三角形不存在這樣的三角形程序框圖為:程序框圖為:例例5.5.設(shè)計(jì)算法設(shè)計(jì)算法, ,求一元二次求一元二次方程方程ax2+bx+c=0(a0)的的根根, ,畫(huà)出相應(yīng)的流程圖畫(huà)出相應(yīng)的流程圖 輸出輸出x1 1, ,x2 2 輸入系數(shù)輸入系數(shù)a, ,b b,c,c01222bbx,xaa 否否是是輸出無(wú)實(shí)數(shù)解輸出無(wú)實(shí)數(shù)解計(jì)計(jì)算算acb42開(kāi)始開(kāi)始 結(jié)束結(jié)束 (4)