演算法基本概念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.點自己班的連結.輸入各班密碼

0801

0813

0816

2.點自己的座號資料夾

3.點上傳

4.選桌面你的作業108****alogrithm_20200304new4.docx

5.檢查是否上傳成功