演算法基本概念3-問題解析與流程控制


演算法基本之結構化程式思想

我們生活工作中的大部分任務, 都可以抽象成"流程圖".而所有的"流程圖"都可以使用 3 個基本結構("循序(順序)"、"選擇(條件)"、"循環(重複)")的組合來表示

1.循序結構(sequence structure):由上至下依序執行,需要依序執行多個動作時,會使用這個結構。 例如到醫院看病時要依序「掛號」→「候診」→「醫生診療」→「開處方」→「批價」→「領藥」。

2.選擇(條件)結構(conditional structure):依條件是否成立,來決定執行的動作。例如速食店的員工詢問顧客要點幾號套餐,並依顧客所點之餐號準備相關餐點。

 

3.重複結構(repetition structure):在條件成立時,會反覆執行動作。例如電玩遊戲終結時會詢問是否再玩一次,若選擇「是」即可繼續遊戲關卡。

Q:和同學討論一下日常生活中何時會應用演算法之程式結構呢?並分別舉出一個例子。

解說

範例:早晨起床:

1. 先刷牙再洗臉 -- "順序"流程

3. 查看天氣決定是否帶雨傘 -- "判斷"流程

2. 吃飯一直吃到飽 -- "重複"流程

4.三大綜合結構

牛刀小試

01

 

01測驗

02

03

04


演算法的表示小結

範例1:請利用演算法表示輸入一學生的成績.由程式判斷若成績在60分以上.請輸出"及格".反之則為不及格

(1)文字描述

1.開始

2.輸入段考成績

3.判斷段考成績是否>=60

4.若是.則印出"及格"

5.若否.則印出"不及格"

6.結束

(2)程式流程圖

(3)虛擬碼

1.Start

2.input score

3.if score>=60 then

4.print "及格"

5.else print"不及格"

6.End


初探演算法學習單下載