演算法基本概念2-問題解析與流程控制
日常生活的演算法
演算法就是對特定問題解決的流程或步驟 |
資訊科學演算法的特性
教學影片
解說
正確的演算法,應該能夠將輸入的資料,經過電腦有限次的運算後,得到所要的輸出資料, 且要完全符合以下五個特性
資訊科學的演算法
(1)廣義
根據韋伯字典的定義,凡是為解決某一特定問題的一步一步程序(a step-by-step procedure for solving a problem)均可以稱為演算法。
(2)狹義
演算法是一個由一些步驟所構成的集合,依循這些步驟得以解決數學問題或完成計算機過程。從計算的角度給定演算法的嚴謹定義如下:
由有限(finite) 步驟(step) 所構成的集合,依照給定輸入(input) 依序執行每個明確(definite) 且有效(effective) 的步驟,以便能夠解決特定的問題;而步驟的執行必定會終止(terminate),並產生輸出(output) |
運用資訊科學解決問題
(1)應用數學解題
Polya教授的How to Solve It(怎樣解題.張憶壽教授的譯本)
解題過程可分為四個階段:
(1) 理解問題 (understanding the problem)
(2) 設計解題策略 (devising a plan)
(3) 按步解題 (carrying out the plan)
(4) 回顧解答 (looking back)
牛刀小試1-線上數學解題活動
(2)應用資訊科學(電腦)解決問題
(3)資訊科學(電腦)解決問題的核心思維-運算思維(Computational Thinking)
小知識:
運算思維:四大步驟
模式識別:找規律性
抽象化:把現實世界中的物件轉到電腦世界的物件,藉由移除不重要細節,降低理解現實世界複雜度
牛刀小試2-線上運算思維活動
演算法學習單下載
演算法基本之結構化程式思想
演算法使用 3 個基本結構("循序(順序)"、"選擇(條件)"、"重複(迴圈)")的組合來表示
1.循序(順序)結構(sequence structure):由上至下依序執行,需要依序執行多個動作時,會使用這個結構。
例如到醫院看病時要依序「掛號」→「候診」→「醫生診療」→「開處方」→「批價」→「領藥」。
2.選擇(條件)結構(conditional structure):依條件是否成立,來決定執行的動作。
例如速食店的員工詢問顧客要點幾號套餐,並依顧客所點之餐號準備相關餐點。
3.重複(迴圈)結構(repetition structure):在條件成立時,會反覆執行動作。
例如重複玩電玩遊戲直到過關。
Q:和同學討論一下日常生活中何時會應用演算法之程式結構呢?並分別舉出一個例子。
4.演算法三大結構綜合運用
牛刀小試2-理解演算法三大結構
ATM提款遊戲
作業上傳到雲端
1.點自己班的連結.輸入各班密碼
2.點自己的座號資料夾
3.點上傳
4.選桌面你的作業108****alogrithm_20200304new4.docx
5.檢查是否上傳成功