40
Chapter 06 Chapter 06 問問問問問問問問問問 問問問問問問問問問問

計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

  • View
    242

  • Download
    5

Embed Size (px)

Citation preview

Page 1: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

計 算 機 概 論

Chapter 06Chapter 06

問題解決與演算法設計問題解決與演算法設計

Page 2: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

22

Ch06 問題解決與演算法設計

電腦系統的階層電腦系統的階層

通訊應用

作業系統

程式硬體資訊

Page 3: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

33

Ch06 問題解決與演算法設計

學習目標學習目標 判斷某個問題是否適合使用電腦解答判斷某個問題是否適合使用電腦解答 描述電腦問題解決過程以及將它與 描述電腦問題解決過程以及將它與 Polya Polya

的如何解決問題清單(的如何解決問題清單( How to Solve It lisHow to Solve It listt )之間建立關聯性)之間建立關聯性

區分遵循區分遵循演算法演算法以及發展演算法以及發展演算法 應用由上而下的設計方法來發展解決問題應用由上而下的設計方法來發展解決問題

的演算法的演算法

Page 4: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

44

Ch06 問題解決與演算法設計

學習目標學習目標 (( 續續 ))

討論下列有關問題解決的思討論下列有關問題解決的思緒緒(( threadthread ):):資訊隱藏資訊隱藏 (information hiding)(information hiding) 、抽象概念、抽象概念(abstraction)(abstraction) 、事物命名、事物命名 (naming things)(naming things)以及測試以及測試 (testing)(testing)

Page 5: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

55

Ch06 問題解決與演算法設計

6.1 6.1 問題解決問題解決 問題解決(問題解決( problem solving problem solving ))是指在面對是指在面對

使人困惑、煩惱、厭煩或尚待解決的問題使人困惑、煩惱、厭煩或尚待解決的問題時,一種尋找解答的動作時,一種尋找解答的動作

Page 6: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

66

Ch06 問題解決與演算法設計

問題解決問題解決 G. Polya G. Polya 於 於 1945 1945 年年寫了一本名為寫了一本名為《《如何解決它:如何解決它:

數學方法的新觀念數學方法的新觀念》》的書的書 他的 他的 ““如何解決問題清單如何解決問題清單” ”

1.1. 了解問題了解問題2.2. 規劃計劃:找出資料與未知數 規劃計劃:找出資料與未知數 [[ 即問題即問題 ] ] 間的關聯性間的關聯性3.3. 完成解題計畫完成解題計畫4.4. 回頭檢查你所獲得的解答回頭檢查你所獲得的解答

““如何解決問題清單如何解決問題清單” ” 可應用範圍很廣泛可應用範圍很廣泛 原來是用來解決數學問題原來是用來解決數學問題 此清單變成可應用於所有類型的問題 此清單變成可應用於所有類型的問題

Page 7: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

77

Ch06 問題解決與演算法設計

Polya Polya 清單所建議的幾個策略清單所建議的幾個策略 發問 發問 (( 注意:要會區別 注意:要會區別 problem problem 與 與 question)question)

尋找熟悉的事物尋找熟悉的事物 各個擊破 各個擊破 (divide and conquer)(divide and conquer)

Page 8: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

88

Ch06 問題解決與演算法設計

發問發問 ......

以了解問題以了解問題 關於這個問題我知道什麼? 關於這個問題我知道什麼? 為了找到其解答,我必須處理的資訊是什麼?為了找到其解答,我必須處理的資訊是什麼? 解答應該長什麼樣子?解答應該長什麼樣子? 有那些特殊情況?有那些特殊情況? 我要如何判斷已找到解答?我要如何判斷已找到解答?

Page 9: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

99

Ch06 問題解決與演算法設計

尋找熟悉的事物尋找熟悉的事物 你應該不要再重新設計一台腳踏車,如果你應該不要再重新設計一台腳踏車,如果

解答存在,直接使用它解答存在,直接使用它 某些問題會以不同的面貌一再呈現某些問題會以不同的面貌一再呈現 一位好的程式設計師看一個工作(或是工一位好的程式設計師看一個工作(或是工

作的一部份,即子工作)時,先看它之前作的一部份,即子工作)時,先看它之前是否已經有解答,如果是,則直接插入該是否已經有解答,如果是,則直接插入該解答即可解答即可

Page 10: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

1010

Ch06 問題解決與演算法設計

各個擊破各個擊破 將一個大的問題細分成幾個我們可以處理的將一個大的問題細分成幾個我們可以處理的

較小問題單位較小問題單位 應用了抽象的概念 應用了抽象的概念 各個擊破的方法可以重覆被應用各個擊破的方法可以重覆被應用 (( 於分出之較小於分出之較小

問題單位問題單位 )) ,一直到每個子工作都可以被處理為,一直到每個子工作都可以被處理為止 止

Page 11: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

1111

Ch06 問題解決與演算法設計

演算法 演算法 (Algorithms)(Algorithms)

一個演算法一個演算法是指在有限時間內,使用有限是指在有限時間內,使用有限資料來解決一個問題或子問題的一組指令資料來解決一個問題或子問題的一組指令

其指令必須是明確、不含糊的其指令必須是明確、不含糊的

Page 12: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

1212

Ch06 問題解決與演算法設計

電腦上的問題解決電腦上的問題解決

圖 6.2 電腦的問題解決過程

Page 13: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

1313

Ch06 問題解決與演算法設計

圖 圖 6.3:6.3: 問題解決階段之間的互動情問題解決階段之間的互動情形形

Page 14: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

1414

Ch06 問題解決與演算法設計

虛擬碼虛擬碼 ((PseudocodePseudocode))

利用英文(或其他語文)與程式語言格式利用英文(或其他語文)與程式語言格式的混合體來產生有關問題解答的明確步驟的混合體來產生有關問題解答的明確步驟

Page 15: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

1515

Ch06 問題解決與演算法設計

虛擬碼虛擬碼 (( 補充補充 ))

設定設定 COUNT COUNT 0 0 COUNT COUNT COUNT+1 COUNT+1 SUM SUM SUM+NUMSUM+NUM

讀入讀入 READREAD NUM NUM

寫出寫出 WRITEWRITE “Average=“, AVG “Average=“, AVG

Page 16: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

1616

Ch06 問題解決與演算法設計

虛擬碼虛擬碼 (( 補充補充 ))

條件判斷條件判斷 (( 內層需縮排內層需縮排 )) IFIF (COUNT = 0) (COUNT = 0) THENTHEN

WRITEWRITE “ “ 使用者未輸入任何值使用者未輸入任何值””

ELSEELSE

WRITEWRITE “Average =“, AVG “Average =“, AVG IFIF (street (street 遺漏遺漏 ) ) THENTHEN

WRITEWRITE “ “輸入街道號碼及名稱,然後按歸位鍵輸入街道號碼及名稱,然後按歸位鍵””

READREAD street street

Page 17: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

1717

Ch06 問題解決與演算法設計

虛擬碼虛擬碼 (( 補充補充 ))

迴圈迴圈 (( 內層需縮排內層需縮排 )) WHILE WHILE (COUNT < 10)(COUNT < 10)

READREAD NUM NUM

SUM SUM SUM + NUM SUM + NUM

COUNT COUNT COUNT + 1 COUNT + 1

Page 18: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

1818

Ch06 問題解決與演算法設計

虛擬碼範例題目虛擬碼範例題目 請輸入 請輸入 2 2 個數字,輸出其加總結果個數字,輸出其加總結果

請輸入 請輸入 10000 10000 個數字,輸出其加總結果個數字,輸出其加總結果 請輸入 請輸入 n n 的值,再輸入 的值,再輸入 n n 筆數字,輸出其加總結果筆數字,輸出其加總結果 請輸入未知筆數的數字,輸出其加總結果 請輸入未知筆數的數字,輸出其加總結果 (( 請通知使用者當輸入請通知使用者當輸入值等於 值等於 -9999 -9999 表示輸入結束表示輸入結束 ))

請輸入 請輸入 1 1 個數字,跟 個數字,跟 100 100 比大小比大小 請輸入 請輸入 2 2 個數字,比較大小,輸出 個數字,比較大小,輸出 ““第 第 1 1 個數大 ” 、 個數大 ” 、 ““第 第 2 2 個個

數大 ” 、或 數大 ” 、或 ““兩數相等”兩數相等” 警察追小偷,輸入小偷車速,警察車速由 警察追小偷,輸入小偷車速,警察車速由 0 0 開始,警察開始,警察

車速每次加 車速每次加 25 25 ,小偷車速每次加 ,小偷車速每次加 1515 ,請輸出警察車速 ,請輸出警察車速 大於小偷車速 時,警察車速 與 小偷車速 各為多少。 大於小偷車速 時,警察車速 與 小偷車速 各為多少。

Page 19: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

1919

Ch06 問題解決與演算法設計

遵循演算法遵循演算法 就像 調製荷蘭酸味醃醬 的食譜就像 調製荷蘭酸味醃醬 的食譜

圖 6.4

Page 20: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

2020

Ch06 問題解決與演算法設計

遵循演算法遵循演算法 (( 續續 ))

調製荷蘭酸味醃醬 的 虛擬碼調製荷蘭酸味醃醬 的 虛擬碼將奶油放進鍋裡打開爐火開關將鍋子放在爐火上While (沒有冒泡 )

把鍋子留在爐火上

Page 21: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

2121

Ch06 問題解決與演算法設計

開發演算法開發演算法 計畫必須是電腦可以執行的某種適當的型式計畫必須是電腦可以執行的某種適當的型式

陳述句陳述句 迴圈迴圈

目前有兩種方法可供使用 目前有兩種方法可供使用 由上而下設計 由上而下設計 (top-down design)(top-down design) 物件導向設計 物件導向設計 (object-oriented design)(object-oriented design)

Page 22: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

2222

Ch06 問題解決與演算法設計

6.2 6.2 由上而下設計由上而下設計 將問題分割成子問題 將問題分割成子問題 [[稱為模組稱為模組

(( modulesmodules )) ]] 的集合的集合 建立問題與其子問題的階層式結構建立問題與其子問題的階層式結構

(( hierarchical structurehierarchical structure ) )

Page 23: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

2323

Ch06 問題解決與演算法設計

由上而下設計由上而下設計

這個過程持續進行,其這個過程持續進行,其層級數層級數會像它用來將每個工作擴展會像它用來將每個工作擴展至最小的細節部分的擴展次數一樣多至最小的細節部分的擴展次數一樣多

需要擴展的步驟是抽象步驟 需要擴展的步驟是抽象步驟

圖 6.5 由上而下設計的範例

Page 24: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

2424

Ch06 問題解決與演算法設計

一般範例一般範例 計畫大型派對計畫大型派對

圖 6.6 細分派對計畫

Page 25: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

2525

Ch06 問題解決與演算法設計

電腦範例電腦範例 問題問題

建立一份包含姓名、地址、電話號碼以及電子建立一份包含姓名、地址、電話號碼以及電子郵件信箱的地址表單 郵件信箱的地址表單

這個表單應該於稍後列印出來這個表單應該於稍後列印出來 即將要加入表單的名稱是根據便條紙以及名片即將要加入表單的名稱是根據便條紙以及名片

而來而來

Page 26: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

2626

Ch06 問題解決與演算法設計

電腦範例電腦範例

Page 27: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

2727

Ch06 問題解決與演算法設計

電腦範例電腦範例

Page 28: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

2828

Ch06 問題解決與演算法設計

電腦電腦範例範例

Read telephone If (email 遺漏 )

Write 「輸入電子郵件;然後按歸位鍵」 Read email 從表單取得下一個名稱

Read street

Page 29: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

2929

Ch06 問題解決與演算法設計

電腦電腦範例範例

1

下一個名稱

Page 30: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

3030

Ch06 問題解決與演算法設計

由上而下設計由上而下設計 四個主要步驟四個主要步驟

分析問題分析問題 寫出模組寫出模組 寫出剩餘部份的模組寫出剩餘部份的模組 如果有必要,重新排好順序並作修改如果有必要,重新排好順序並作修改

Page 31: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

3131

Ch06 問題解決與演算法設計

測試演算法測試演算法 過程本身必須被測試過程本身必須被測試 在演算法開發階段的測試 包括觀察由上而在演算法開發階段的測試 包括觀察由上而

下設計的每一個層級下設計的每一個層級

Page 32: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

3232

Ch06 問題解決與演算法設計

測試演算法測試演算法 桌面核對(桌面核對( desk checkingdesk checking )):坐在桌前以筆和紙:坐在桌前以筆和紙

完成整個設計流程 完成整個設計流程 演練法演練法(( walk-throughwalk-through )):: 演練法是一種由團隊演練法是一種由團隊

成員來共同規劃設計的手工模擬走訪各步驟的方成員來共同規劃設計的手工模擬走訪各步驟的方法法 以取樣所得的資料來針對設計實施模擬以取樣所得的資料來針對設計實施模擬

檢驗法(檢驗法( inspectioninspection ) ) :: 這種設計是事先分派工 這種設計是事先分派工作給團隊中每一個成員,而且當某人(不是設計作給團隊中每一個成員,而且當某人(不是設計者)逐行閱讀這個設計時,其他人指出錯誤者)逐行閱讀這個設計時,其他人指出錯誤

Page 33: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

3333

Ch06 問題解決與演算法設計

6.3 6.3 物件導向設計物件導向設計 這節先跳過這節先跳過

Page 34: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

3434

Ch06 問題解決與演算法設計

6.4 6.4 重要的串連思緒重要的串連思緒 資訊隱藏資訊隱藏

延遲細節 延遲細節 為每一工作取名,先不需要擔憂工作後來是如何加以實為每一工作取名,先不需要擔憂工作後來是如何加以實

作作 抽象概念抽象概念與資訊隱藏是一體兩面,表示相同概念 與資訊隱藏是一體兩面,表示相同概念 (( 如同如同硬幣的兩面硬幣的兩面 ) )

Page 35: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

3535

Ch06 問題解決與演算法設計

抽象概念抽象概念 抽象概念是細節隱藏的結果 抽象概念是細節隱藏的結果

資料抽象概念(資料抽象概念( data abstractdata abstract ))與資料的觀點與資料的觀點有關有關 區分資料的邏輯觀點與實體觀點 區分資料的邏輯觀點與實體觀點

程序抽象概念(程序抽象概念( procedural abstractprocedural abstract ))與動作與動作的觀點有關 的觀點有關

控制抽象概念(控制抽象概念( control abstractioncontrol abstraction ))與控制與控制結構的觀點有關 結構的觀點有關

Page 36: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

3636

Ch06 問題解決與演算法設計

為事物命名為事物命名 使用速記法來代表工作與我們所處理的資使用速記法來代表工作與我們所處理的資

訊訊 我們給資料及我們給資料及程序程序名稱,稱為識別符號 名稱,稱為識別符號

(identifier)(identifier)

Page 37: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

3737

Ch06 問題解決與演算法設計

程式語言程式語言 以以程式語言程式語言所撰寫的指令可以直接所撰寫的指令可以直接翻譯 翻譯 (translate)(translate) 成電腦可以直接執行的指令成電腦可以直接執行的指令

程式:程式:一個電腦上有意義的指令順序一個電腦上有意義的指令順序 語法(語法( syntaxsyntax ):說明語言的指令如何組合在一):說明語言的指令如何組合在一起,那些是合規定的,那些是不合規定的起,那些是合規定的,那些是不合規定的

語義(語義( semanticssemantics ):說明這些指令代表什麼意義):說明這些指令代表什麼意義

Page 38: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

3838

Ch06 問題解決與演算法設計

道德的議題:抄襲道德的議題:抄襲 抄襲在學術界不是一項新的道德議題 抄襲在學術界不是一項新的道德議題

網際網路上可以存取好幾百萬篇作業報告網際網路上可以存取好幾百萬篇作業報告 ((term papersterm papers) )

偵測數位抄襲特別困難,因為下載後再列印以及打完字偵測數位抄襲特別困難,因為下載後再列印以及打完字直接列印 這兩種報告並不存在肉眼上可以分辨的差異直接列印 這兩種報告並不存在肉眼上可以分辨的差異

教授們已經開發各種方法來找出以全球資訊網為基教授們已經開發各種方法來找出以全球資訊網為基礎的抄襲行為礎的抄襲行為 如使用像 如使用像 plagiarism.org plagiarism.org 這種這種網站,以上載文件的部分內網站,以上載文件的部分內

文與線上的數以百萬計文章作比對文與線上的數以百萬計文章作比對

Page 39: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

3939

Ch06 問題解決與演算法設計

練習練習 請為以下 請為以下 2 2 個要求 撰寫由上而下設計的個要求 撰寫由上而下設計的

各個層級,最底下層級請寫虛擬碼各個層級,最底下層級請寫虛擬碼1.1. 計算 計算 10 10 筆分數的平均值筆分數的平均值2.2. 計算 未定筆數之分數 的平均值計算 未定筆數之分數 的平均值

描述這兩個設計不同之處描述這兩個設計不同之處

Page 40: 計 算 機 概 論 Chapter 06 問題解決與演算法設計. Ch06 問題解決與演算法設計 2 電腦系統的階層 通訊 應用 作業系統 程式 硬體 資訊

4040

Ch06 問題解決與演算法設計

勘誤勘誤 第 第 155 155 頁,層級 頁,層級 1 1 的虛擬碼的虛擬碼

Read street, Read telephone Read street, Read telephone 需縮排需縮排 Write Write 「輸入電子郵件;然後按歸位鍵」下增「輸入電子郵件;然後按歸位鍵」下增加一列:加一列: Read emailRead email

參考講義第 參考講義第 28 28 頁頁