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