資源描述:
《《算法初步課件》PPT課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、1.1算法與程序框圖1.1.1算法的概念?先去括號?再乘除?后加減1、什么是算法呢?要把大象裝冰箱,分幾步?答:分三步:第一步:打開冰箱門第二步:把大象裝冰箱第三步:關(guān)上冰箱門問:2問題簡單地說,算法就是解決問題的程序或步驟。什么是算法呢?第一步,第二步,第三步,(消元)(解一元一次方程)①+②×2,得③解③得(代入求解)將代入①,得寫一寫解方程組①②寫出的步驟寫出解第二個方程組的算法:第一步,第二步,第三步,③解③,得④將④代入①得①×-②×得變一變①②在數(shù)學(xué)上,通常是按照一定規(guī)則解決某一類問題的明確有限的步驟。算法的定義:例1(1)設(shè)計一個算法,判斷7是否為質(zhì)數(shù);(1)第一步,用2除7
2、,得到余數(shù)1.因為余數(shù)不為0,所以2不能整除7.第二步,用3除7,得到余數(shù)1.因為余數(shù)不為0,所以3不能整除7.第三步,用4除7,得到余數(shù)3.因為余數(shù)不為0,所以4不能整除7.第四步,用5除7,得到余數(shù)2.因為余數(shù)不為0,所以5不能整除7.第五步,用6除7,得到余數(shù)1.因為余數(shù)不為0,所以6不能整除7.因此,7是質(zhì)數(shù).(2)設(shè)計一個算法,判斷35是否為質(zhì)數(shù).算法:第一步,用2除35,得到余數(shù)1.因為余數(shù)不為0,所以2不能整除35.第二步,用3除35,得到余數(shù)2.因為余數(shù)不為0,所以3不能整除35.第三步,用4除35,得到余數(shù)3.因為余數(shù)不為0,所以4不能整除35.第四步,用5除35,得到余
3、數(shù)0.因為余數(shù)為0,所以5能整除35.因此,35不是質(zhì)數(shù).探究你能寫出”判斷整數(shù)n(n>2)是否為質(zhì)數(shù)”的算法嗎?第一步,給定大于2的整數(shù)n.第二步,令i=2.第三步,用i除n,得到余數(shù)r.第四步,判斷”r=0”是否成立.若是,則n不是質(zhì)數(shù),結(jié)束算法;否則,將i的值增加1,仍用i表示.第五步,判斷”i>(n-1)”是否成立.若是,則n是質(zhì)數(shù),結(jié)束算法;否則,返回第三步.算法的基本特點1、有窮性一個算法應(yīng)包括有限的操作步驟,能在執(zhí)行有窮的操作步驟之后結(jié)束。2、確定性算法的計算規(guī)則及相應(yīng)的計算步驟必須是唯一確定的,既不能含糊其詞,也不能有二義性。3、邏輯性算法中從開始的“第一步”到“最后一步”
4、之間做到環(huán)環(huán)相扣,分工明確,“前一步”是“后一步”的前提,“后一步”是“前一步”的繼續(xù)。算法1:第二步:計算101×50;第三步:寫出運算結(jié)果算法2:第一步:取n=100;第二步:計算第三步:寫出運算結(jié)果寫出求1+2+3++100的一個算法(1+100)+(2+99)++(50+51);第一步:將原式變形為你會了嗎?2.任意給定一個正實數(shù),設(shè)計一個算法求以這個數(shù)為半徑的圓的面積.第一步:輸入任意一個正實數(shù)r>0;第二步:計算圓的面積:S=πr2;第三步:輸出圓的面積S.1.1.2程序框圖程序框圖程序框圖又稱流程圖,是一種用程序框、流程線及文字說明來表示算法的圖形。在程序框圖中,一個或幾個程
5、序框的組合表示算法中的一個步驟;帶有方向箭頭的流程線將程序框連接起來,表示算法步驟的執(zhí)行順序。圖形符號名稱功能終端框(起止框)表示一個算法的起始和結(jié)束輸入、輸出框表示一個算法輸入和輸出的信息處理框賦值、計算判斷框判斷某一條件是否成立,成立時在出口處標(biāo)明“是”或“Y”;不成立時標(biāo)明“否”或“N”。流程線連接程序框連接點連接程序框圖的兩部分例用程序框圖表示“判斷整數(shù)n(n>2)是否為質(zhì)數(shù)”的算法開始輸入ni=2求n除以i的余數(shù)ri的值增加1仍用i表示i≥n-1或r=0?輸出“n不是質(zhì)數(shù)”結(jié)束是否是輸出“n是質(zhì)數(shù)”否r=0?設(shè)n是一個大于2的整數(shù).一般用i=i+1表示.i=i+1說明:i表示從2
6、~(n-1)的所有正整數(shù),用以判斷例1步驟2是否終止,i是一個計數(shù)變量,有了這個變量,算法才能依次執(zhí)行.逐步考察從2~(n-1)的所有正整數(shù)中是否有n的因數(shù)存在.畫程序框圖的規(guī)則(1)使用標(biāo)準(zhǔn)的圖形符號。(2)框圖一般按從上到下,從左到右的方向畫。(3)除判斷框外,大多數(shù)流程圖符號只有一個進(jìn)入點和一個退出點。判斷框具有超過一個退出點的唯一符號。(4)判斷框分兩大類,一類判斷框“是”與“否”兩分支的判斷,而且又且僅有兩個結(jié)果;另一類是多分支判斷,有幾種不同的結(jié)果。(5)在圖形符號內(nèi)描述的語言要非常簡練清楚。算法的基本邏輯結(jié)構(gòu)開始輸入ni=2求n除以i的余數(shù)ri=i+1i≥n或r=0?n不是質(zhì)
7、數(shù)結(jié)束是否是n是質(zhì)數(shù)否r=0?順序結(jié)構(gòu)用程序框圖來表示算法,有三種不同的基本邏輯結(jié)構(gòu):條件結(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)ABPAB成立不成立成立AP不成立AP成立不成立While(當(dāng)型)循環(huán)Until(直到型)循環(huán)①順序結(jié)構(gòu)順序結(jié)構(gòu)是由若干個依次執(zhí)行的步驟組成的。這是任何一個算法都離不開的基本結(jié)構(gòu)AB例1已知一個三角形的三邊邊長分別為a、b、c,利用海倫-