---
# System prepended metadata

title: 模組化程式 - 模式識別
tags: [模組化程式, 運算思維]

---

# 模組化程式 - 模式識別

###### tags: `運算思維` `模組化程式`
> 本課學習重點：重複、模式識別

# 資訊課程的學習重點在「==運算思維==」，不是在「寫程式」。

##  什麼叫「運算思維」?
Computational Thinking — 運算思維，是一種用電腦的邏輯來解決問題的思維。

:::info
:pushpin: 延伸閱讀：
* [什麼是「運算思維」？](https://medium.com/orangeapple/%E4%BB%80%E9%BA%BC%E6%98%AF-%E9%81%8B%E7%AE%97%E6%80%9D%E7%B6%AD-dbb763237e65)
* [運算思維簡介](http://webnas.bhes.ntpc.edu.tw/wordpress/wp-content/uploads/2018/03/1%E9%81%8B%E7%AE%97%E6%80%9D%E7%B6%AD%E7%B0%A1%E4%BB%8B.pdf)
:::

重點有四個：
==拆解== (Decomposition): 將一個任務或問題拆解成數個步驟或部分。Breaking a task or problem into steps or parts.
==找出規律== (Pattern Recognition): 預測問題的規律，並找出模式做測試。Make predictions and models to test.
==歸納與抽象化== (Pattern Generalization and Abstraction): 找出最主要導致此模式的原則或因素。Discover the laws, or principles that cause these patterns.
==設計演算法== (Algorithm Design): 設計出能夠解決類似問題並且能夠被重複執行的指令流程。Develop the instructions to solve similar problems and repeat the process.



---

## 任務說明：盡可能消掉重複的部分。


## :memo: 步驟1：試著找出文章中重複的文字，進行壓縮 5min
相關教材請見 「[文字壓縮](https://sites.google.com/ntjh.ntct.edu.tw/cstt/07-%E6%96%87%E5%AD%97%E5%A3%93%E7%B8%AE?authuser=0)」 ([備用網址](http://163.17.52.17/teacher10/html5_text_compression/text_compression.html))
1. 找到重覆出現的單字，在其中選取一個單字(或是一整個句子)，稱為保留標的。
2. 再選取其他重覆出現的單字(或是一整個句子)，稱為壓縮標的。
3. 選取完成之後，按下「開始壓縮」按鈕，將所有重覆的單字(或句子)清除到只剩一個，被壓縮的標的則用數字標示其所在的位置。
4. 一直進行到無法再找到保留或壓縮標的為止，看看總共用了幾個壓縮的步驟、成功壓縮了幾個字元。


執行結果


## :memo: 步驟2：討論+發表 10min
將壓縮的結果截圖，離開座位，觀察同組同學的壓縮成果。並回答教材中的問題。

:::info
:bulb: 想一想
問題一、為什麼選取標的時，要被限制在至少選取兩個字元以上？
問題二、尋找壓縮標的時，如果漏掉了其中幾個，對於結果有什麼影響？
問題三、要優先標記一整個句子，還是以較短的單字為優先？
:::

## :memo: 步驟3：修正
根據同學提出的壓縮方法，修改自己選擇的壓縮文字。看看能否再壓縮更多的字?

## :memo: 步驟4：進階挑戰
試著將剛剛學到的概念，應用到其它文章。看你能壓縮幾個字?

:::info
:pushpin: **延伸學習:** [壓縮的概念](http://ms2.ctjh.ntpc.edu.tw/~luti/105data-compress5.htm)
:::
