b就是最大公因數.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
b就是最大公因數

* 一、導論 1-1. 資料與資訊 1-2. 演算法與資料結構 資料結構的功能 需要將人類所能了解的語言轉換成機械化的動作,以便交由電腦 來處理。 機械化的動作包含 資訊(資料)與動作(控制) 範例 人類的語言: 求出全班的平均 電腦的動作: (1) 將全班的成績 加起來 (2) 將加起來的成績 除以全班的人數 1-1 資料與資訊 資料結構的功能 轉成機械化的動作 人類自然語言 演算法 … … 輸入 輸出 處理 演算法的特性 輸入: 準確描述 指令: 明確性 正確性: 演算法的正確性 有限性: 演算法的步驟需要於一定的步驟內完成 輸出: 正確性與描述 1-2 演算法與資料結構 範例: 求出兩個數的最大公因數 自然的語言 (1) 輸入兩個自然數 (2) 輾轉相除直到除數為零 (3) 除數就是最大公因數 (輸出) 演算法的步驟 (1) 輸入 A, B (2) R 為 A / B 的餘數 (3) 如果 R 為零, 則到 (5) – 把前一個除數取出的動作 (4) 設定 A←B, B← R, 回到 (2) (5) B 就是最大公因數 1-2 演算法與資料結構 輸入的描述不夠明確 輸出的描述不夠明確 輾轉相除的動作描述不夠明確 驗證演算法的正確性 輸入 A, B R 為 A / B 的餘數 如果 R 為零, 則到 (5) 設定 A←B, B← R, 回到 (2) B 就是最大公因數 1-2 演算法與資料結構 R為0,跳到 (5) 3 0 4 8 2 4 4 8 4 R不為0,到下一步 (4) 3 B為最大公因數,答案為 4 5 4 8 12 2 0 8 12 1 R的值 B的值 A的值 步驟 1-2 演算法與資料結構 流程圖基本符號 (Flow Chart) start 輸入/輸出 處理 判斷 End start 輸入/輸出 判斷 End 處理 start End (1) 輸入 A, B No (3) R是否為0 ? Yes (5) 輸出最大公因數B 1-2 演算法與資料結構 流程圖範例 輸入 A, B R 為 A / B 的餘數 如果 R 為零, 則到 (5) 設定 A←B, B← R, 回到 (2) B 就是最大公因數 處理 (2) R 為 A/B 的餘數 (4) A←B, B← R 範例: 求出兩個分數的相加,結果並要約成最簡分數 基本觀念 (1) 通分: 公分母 (最小公倍數) = 兩數相乘 / 最大公因數 (2) 擴分: 分子 * (公分母 / 分母) (3) 約分: 分子, 分母共除最大公因數 5 3 5*(12/6) 3*(12/4) 5*2 + 3*3 19 - + - = -------- + -------- = ---------- = ---- 6 4 12 12 12 12 演算法 1-2 演算法與資料結構 一個好程式的判斷準則 正確達到目的。 計算結果要符合原先設計的要求,結果要正確 可維護性高。 程式功能的新增與修改要容易 效率高 計算時間要盡量短 『記憶體』需求低。 所使用的記憶體要盡量的少 1-3 程式的分析 可維護性高的檢驗方式 設計模組化、由上而下的思路。 常數、變數、函式的名稱需要有意義 如: 求兩人薪資的總和,可以使用 (1) A = 20000, B = 15000; ← 比較不容易了解 (2) Salary_A = 20000, Salary_B = 15000; ← 比較容易了解 函式的輸入、出的定義 int sqn_srch(int A[], int n, int key); // Sequential Search 註解詳實 Result = Result + 200; // 將結果加入200元; Result = Result / Total_Num // 除以全班人數; 說明文件需要詳實 使用說明(Readme)、安裝步驟、操作手冊 1-3 程式的分析 效率高的檢驗方式 效率的直接測量方式是『執行時間』 執行時間需要考慮到許多因素,如硬體與編譯器的種類 由程式的本身來了解執行效率 檢查程式敘述的執行『次數』來了解 1-3 程式的分析 由程式執行的頻率來了解效率 單層迴圈的計算方式 for (i=1; i=n; i++) result = result + 1; ← 這行程式敘述執行了 n 次 雙層迴圈的計算方式 for (i=1; i=n; i++) for (j=1; j=m; j++) result = result + 1; ← 這行程式敘述執行了 n*m 次 雙層迴圈,內圈不固定的計算方式 for (

文档评论(0)

daoqqzhuan3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档