算法和算法的描述_第1頁
算法和算法的描述_第2頁
算法和算法的描述_第3頁
算法和算法的描述_第4頁
算法和算法的描述_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、例例 利用輾轉相除法求兩個正整數利用輾轉相除法求兩個正整數m和和n的最大公約數的最大公約數(1)m除以n,令所得的余數為r。(2)若r=0,則輸出結果n,算法結束; 否則,繼續(xù)步驟(3)。(3)令m=n,n=r,并返回步驟(1)繼續(xù)進行。 輸入m和n的值。 結束分析:構成這個問題的一個完整算法一、算法的概念: 算法就是用計算機解決問題的方法和步驟。是能被機械的執(zhí)行的動作或指令的有窮集合。 利用輾轉相除法,求利用輾轉相除法,求112 和和 64的最大公約數的最大公約數 。 (1)112除以64,余數為48 (2)64除以48,余數為16 (3)48除以16,余數為0 答:112和64的最大公約數

2、為16如何求最小公倍數? m * n=最大公約數*最小公倍數二、算法的特征: (1)輸入 (2)輸出 (3)確定性 (4)有窮性 (5)可行性 三、算法的描述 : 方法:自然語言、流程圖、偽代碼等。 1 1、用自然語言描述算法。、用自然語言描述算法。 例1-2 雞兔同籠問題 一個籠子里有雞和兔,現在只知道共有35個頭,94只腳,問雞和兔個有多少只? 設雞數是x,兔數是y,由已知得以下方程組: x+y=a 2x+4y=b解得 x=2a-b/2, y=b/2-a 分析:設計算法:(1)輸入a和b的值;(2)求x=2a-b/2;(3)求y=b/2-a;(4)輸出x,y的值; (5)結束。 例例 1-

3、31-3求求100100以內能被以內能被3 3整除的所有正整數。整除的所有正整數。 分析分析:設能被3整除的數為I,令I=1,2,3, ,100,如果I是能被3整除的數,則輸出I,否則,檢查下一個I,直到I=100為止。 設計算法 2 2、用流程圖描述算法、用流程圖描述算法 用一組圖形符 號來表示算法。 例如:例如:3 3、用偽代碼描述算法、用偽代碼描述算法 它是介于自然語言和流程圖之間的一種描述算法的工具。三種算法描述方式的比較 算法描述方式優(yōu) 勢不 足自然語言不用專門訓練,通俗易懂語句過長 產生歧義 難以清晰的表示較多的循環(huán)和分支 不便于翻譯成編程語言 流程圖清晰簡潔 各種結構一目了然 有利于不同環(huán)境的程序設計書寫不方便 偽代碼精練,容易轉化為程序設計語言語句不規(guī)范,有時會產生誤解四、算法在解決問題中的地位和作用: 有舉足輕重的地位和作用。他是程序設計的核心,是程序設計的靈魂。一個算法的好壞,直接影響著程序的通用性和有效性,影響著問題解決的效率 。五、小結: 通過本節(jié)的學習,我們復習了算法的定義、算法的特征、算法的描述方法以及算法在解決問題中的地位和作用,算法是整個程序設計的基礎,編寫一個好的程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論