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