資源描述:
《用偽代碼描述算法教學提綱.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、用偽代碼描述算法4.算法的發(fā)現(xiàn)世界上最早的算法(P5)算法是尼克勞斯.沃斯(N.Writh)提出的,他指出:算法+數(shù)據(jù)結構=程序。(即算法不能單獨構成程序,它必須和數(shù)據(jù)結構合二為一)算法獨立于任何具體的程序設計語言,一個算法可以用多種程序設計語言來實現(xiàn)。5-算法的特征算法要有一個清晰的起始步,表示處理問題的起點,且每一個步驟只能有一個確定的后繼步驟(1算法的確定性),從而組成一個步驟的有限序列(2算法的有窮性);要有一個終止步(序列的終止)表示問題得到解決或不能得到解決;每條規(guī)則必須是確定的、可行的(3算法的可行性)
2、、不能存在二義性。算法總是對數(shù)據(jù)進行加工處理,因此,算法的執(zhí)行過程中通常要有數(shù)據(jù)4輸入(0個或多個)和數(shù)據(jù)5輸出(至少一個)的步驟。(書P6)例:計算1+2+3+……+100=?分析:計算這道題目的算法有限制范圍,可以在有限時間內完成,這是算法的第一個特征:有窮性。計算時可以用紙筆、算盤、運算器和計算機來完成,且計算過程是多樣的,但結果是唯一的。這就是算法的可行性、確定性。計算方法:⑴把這100個數(shù)按順序相加。⑵用湊數(shù)法:1+99=100,2+98=100,3+97=100,……,49+51,最后只剩下50和100。
3、⑶計算機計算法:令S=0,使1≤n≤100,先執(zhí)行S=S+n⑴,再執(zhí)行n=n+1⑵n=1,S=0時,S=1n=2,S=1時,S=3n=3,S=3時,S=6n=4,S=6時,S=10n=5,S=10時,S=15n=6,S=15時,S=21……算法的另外一個特征:輸入、輸出。隨時可以將程序改變:N個連續(xù)數(shù)相加,N個奇數(shù)或偶數(shù)相加等……第一章如何用計算機解決問題第二節(jié)算法描述與設計為了能更好地理解什么是算法,我們利用日常生活中的“打電話”的例子來討論?!按螂娫挕钡倪^程。拿起聽筒撥號打不通通了把聽筒放下通話結束把聽筒放下
4、等會兒再撥無人接聽把聽筒放下等會兒再撥第一章如何用計算機解決問題算法的概念:解決問題的方法和步驟就是算法。算法可以用多種方法來描述1、用自然語言來描述。2、用流程圖來描述。3、用偽代碼描述算法。1、用自然語言來描述。(書P6-7)什么是自然語言。即用人們日常使用的語言和數(shù)學語言描述的算法算法描述:以“韓信點兵問題”為例:算法分析:以“韓信點兵問題”為例:1、將N的初始值賦為12、如果N被3、5、7整除后余數(shù)為2、3、2,則輸出N的值,轉入第4步3、將N的值加1,轉到第2步4、結束程序書P7實踐:若N=2,則密文與原文
5、的對應關系是……讀入字符串的方法……自然語言的優(yōu)點:通俗易懂。缺點:容易產生歧義。例如:“這個人連老張也不認識”。意思之一:這個人不認識老張。意思之二:老張不認識這個人。2、用流程圖來描述。什么是流程圖?(也稱程序框圖)它是算法的一種圖形化表示方法。認識流程圖符號流程圖的特點:與自然語言相比,用流程圖描述算法形象、直觀,更容易理解。1)用偽代碼描述“韓信點兵問題”的算法ForI=1toNifn能被3、5、7整除余數(shù)為2、3、2then輸出nendifNextI3、用偽代碼描述算法。2)例如,判斷一個四位數(shù)的年份是否為
6、閏年。算法分析:我們知道,如果2月是28天,則這一年是平年;如果是29天,則這一年是閏年。判斷閏年的條件是:如果該年份能被4整除但不能被100整除,或者能被400整除,則該年為閏年。算法描述(偽代碼):輸入年份→yIFy能被4整除THENIFy不能被100整除THEN輸出“是閏年”ELSEIFy能被400整除THEN輸出“是閏年”ELSE輸出“不是閏年”ENDIFENDIFELSE輸出“不是閏年”ENDIF使用偽代碼描述算法沒有嚴格的語法限制,書寫格式也比較自由,只要把意思表達清楚就可以了,它更側重于對算法本身的描述
7、。在偽代碼描述中,表示關鍵詞的語句一般用英文單詞,其他語句可以用英文語句,也可以用漢語語句。偽代碼的優(yōu)缺點(書P9):用偽代碼描述的算法簡潔、易懂,修改起來也比較容易,并且很容易轉化為程序語言代碼。缺點是不夠直觀。練習:說出下面流程圖的各框名稱開始框輸入框處理框判斷框處理框處理框處理框輸出框結束框如果兩個數(shù)有最大公約數(shù)A,那么這兩個數(shù),以及這兩個數(shù)的差,還有大數(shù)除以小數(shù)的余數(shù),必然都是A的倍數(shù)。所以當最后兩個數(shù)剛好能整除時,較小的數(shù)就是最大公約數(shù)。1)什么是算法?解決問題的方法和步驟就是算法小結:2)算法描述的方法
8、有三種。用自然語言來描述用流程圖來描述用偽代碼描述算法小結:此課件下載可自行編輯修改,僅供參考!感謝您的支持,我們努力做得更好!謝謝