1 of 73

1

2 of 73

2

3 of 73

尋寶機器人桌遊的故事背景

  • 世界毀滅,外面的世界充滿輻射線,人類已經無法在外面行動,只能藏身於無污染的室內掩蔽體中。
  • 原有的智能機器人程式功能已經喪失,需要靠我們的編程卡牌,來發揮機器人的作用。
  • 此時,人類希望能蒐集散亂的電腦硬體,組合成具有運算能力的電腦,以發揮運算能力拯救世界。
  • 看看誰是能拯救世界的組裝高手,以最快的速度與具有效率的方法,操作智能機器人,蒐集電腦所需的硬體五大單元來拯救世界,重返文明。

3

4 of 73

��桌遊學程式:運算思維如何拯救世界�������

4

5 of 73

5

6 of 73

6

7 of 73

7

8 of 73

8

9 of 73

9

10 of 73

10

11 of 73

11

12 of 73

12

13 of 73

13

14 of 73

14

15 of 73

電腦硬體的基本架構

  • 現今電腦仍沿用馮紐曼於1945 年所提出的硬體架構,包含輸入單元、輸出單元、記憶單元、算術與邏輯單元、控制單元等。
  • 我們將資料輸入電腦後,資料信號會在這五大單元間傳遞。
    • 輸入單元(Input Unit, IU) 主要功能是讓使用者將資料輸入電腦。
    • 記憶單元(Memory Unit, MU) 主要負責儲存資料及程式。
    • 控制單元(Control Unit, CU) 主要負責控制電腦信號傳遞的方向及指揮各單元的運作。
    • 算術與邏輯單元(Arithmetic/Logic Unit, ALU) 主要負責算術與邏輯的運算工作。
    • 輸出單元(Output Unit, OU) 則負責輸出電腦處理後的資料。

15

16 of 73

16

17 of 73

17

18 of 73

18

19 of 73

19

20 of 73

20

21 of 73

21

22 of 73

演算法的表示方法

  • 面對每天各式各樣的問題時,我們會針對不同的問題設計相對應的解決方案,其中,能清楚描述步驟或原則的問題解決方案,便稱作演算法(Algorithm)。
  • 以生活中的例子來說,當我們的手弄髒的時候,可以透過五個步驟:濕、搓、沖、捧、擦,讓手恢復清潔,因此,這些步驟就可以視為足以解決手髒這個問題的演算法。

22

23 of 73

23

24 of 73

演算法的表示方法

  • 一個演算法通常具有許多步驟或原則,利用適當的描述方式能夠清楚地讓人理解運作過程,常見的表示方法有文字流程圖虛擬碼三種。
    • 利用文字直接描述演算法,能夠快速地表達出演算法的流程,例如:電影院的售票員只能將學生票販售給學生,其餘皆販售全票,則售票員執行的演算法可能為:「先確認顧客是不是學生,如果是學生則可售出學生票,不是學生則售出全票」。

24

25 of 73

    • 流程圖(Flowchart)利用特定的幾何圖形符號來描述演算法,藉以說明處理的方法與步驟,不但容易理解及修正處理方法,也利於將演算法轉換為電腦可運行的程式。
    • 虛擬碼(Pseudocode)利用精簡的文字及類似程式碼的敘述(如數學運算符號或邏輯判斷符號等)來描述演算法,卻不像程式碼必須使用固定的程式語法,售票員執行的演算法可畫成流程圖或寫成虛擬碼。

25

26 of 73

程式流程控制

  • 每個程式都可以應用循序結構選擇結構重複結構組合而成,只要將程式的內容按照這三種結構進行組合,程式整體流程也會變得更加容易閱讀,程式也容易修改與維護。
  • 循序結構敘述的執行順序與程式敘述出現的次序相同;選擇結構敘述依條件進行判斷,可以分為單選、雙選或多選等類型:重複結構敘述會重複執行指定的程式區段。

26

27 of 73

27

28 of 73

28

29 of 73

29

30 of 73

30

31 of 73

31

32 of 73

32

33 of 73

33

34 of 73

34

35 of 73

35

36 of 73

36

37 of 73

37

38 of 73

38

39 of 73

39

40 of 73

40

41 of 73

41

42 of 73

42

43 of 73

43

44 of 73

44

45 of 73

45

46 of 73

46

47 of 73

47

48 of 73

48

49 of 73

49

50 of 73

50

51 of 73

51

52 of 73

結構化程式設計(STRUCTURED PROGRAMMING)

  • 荷蘭的數學家戴克斯特拉(Edsger W. Dijkstra)提出的概念,強調程式要簡單明瞭,讓作者以外的人也能了解程式如何執行,必須遵循以下原則:
    • 採用由上而下的方式,將程式分解成多個模組,每個模組分別負責一件獨立的工作。
    • 每個模組只能有一個入口以及一個出口。
    • 每個模組可以由循序、選擇、迴圈結構構成。
  • 戴克斯特拉認為,每個程式都可以應用循序結構選擇結構迴圈結構組合而成,只要將程式的內容按照這三種結構進行組合,程式整體流程也會變得更加容易閱讀,程式也容易修改與維護。因此這三種結構又稱為程式的基本結構,

52

53 of 73

53

54 of 73

54

我國資訊科技課程的發展

55 of 73

運算思維(COMPUTATIONAL THINKING)是什麼?

55

  • 運算思維(computational thinking)此概念是由周以真教授於2006年所提出,她認為運算思維是每個人除了讀、寫、算等基本素養外,亦應具備之基本能力,並非專屬於電腦科學家
  • 以設計電腦運算步驟的思維模式來解決問題,先將問題拆解(拆解問題),而後分析每個子問題(尋找規則),忽略其中不重要的小細節(抽象化)再制訂詳細的步驟(設計演算法),這樣的思維模式稱為運算思維。

56 of 73

56

  • Google的定義
    • Google地圖
    • Google相片

57 of 73

57

58 of 73

58

59 of 73

59

60 of 73

60

61 of 73

61

62 of 73

62

63 of 73

63

1

64 of 73

64

1

65 of 73

65

1

66 of 73

66

67 of 73

67

1>13

68 of 73

68

4>24

69 of 73

69

70 of 73

70

1>13>413

71 of 73

71

5>54>541

72 of 73

72

73 of 73

73