### 瀏覽

- 索引
- 模組 |
- 下一頁 |
- 上一頁 |
- SudokuStudyLib 1.0 documentation »

# 「邏輯」是甚麼?

## 對一個開始學習去探索這個世界的學子而言，邏輯是最重要的工具之一。

最基礎的邏輯就是二分法，也就是「是」與「非」，或者在電腦科學裡面的「0」與「1」。這是人類在認知上、與他人溝通上的最小分類方法。所以學習邏輯對中小學生而言是非常重要的，因為這是所有知識的基礎，也是所有信仰的基礎。

如果依某一特定的角度、在某一特定時候，你無法判斷某個事物是「是」或「非」、或者「存在」或「不存在」，那你就是不了解這個世界，同時你也不了解你自己。

## 從解數獨來學習邏輯

學習邏輯可以變成一件有趣的事情，如果我們能夠從遊戲中去學習的話，而數獨就是一種很好玩的遊戲。我們可以列舉很多以數獨來學習邏輯的優點:

- 它的規則相當簡單, 任何一個人能夠在5分鐘內了解它。

- 它又夠複雜，它可以有多達數十億種的組合。

- 它可以分各種不同的困難程度，來讓不同程度的人都能使用。

## 以學習 Python 程式設計來學習邏輯

學習一種電腦語言是一種很直覺的方法來學習邏輯。Python 是一種直譯式電腦語言，提供一種簡便的方式來實作程式的設計。你可以在下面官方網站來取得該電腦語言的所有資源: https://www.python.org/。我們從其 FAQ<https://docs.python.org/3/faq/general.html> 中剪輯一段來說明為何 Python 適合程式設計的初學者:

問題:

  對一個程式設計初學者而言，Python是否是一個好選擇？

解答:

  是的。

  現在學生開始學習程式時，還是在使用傳統的電腦語言，如 Pascal, C, C++。但這是有點古板了，學生應該得到更好與更簡單的方法來開始他們的程式探索，而 Python 就提供了這些特點。它擁有非常簡單及一致的文法結構，以及大量的標準程式庫，最重要的是，它讓學生能夠將心思放在解決問題的程式設計技巧上，而不是在電腦科學的細節上。使用 Python，學生可以很快地學習程式設的基本知識，如回圈(loops)、程序(procedures)。甚至在第一堂課，就可以讓他們嘗試使用自訂的物件。

  一個從來沒有程式設計經驗者，一開始就使用靜態式電腦語言(如C等)似乎是不自然的。它讓學生必須先去了解電腦複雜的內部結構，使整個課程緩慢下來。 學生必須學習如何使用電腦的角度來思考、解決問題及設計界面。雖然就長期目標而言，學習靜態式電腦有其必要性與利益性，但對初學者而言，大可不必將程式設計的門檻弄得那麼高。

  Python擁有很多優點來當作學習程式設計的首選電腦語言。就如同 Java，它擁有大量的標準程式庫，可以讓學生在課堂上去實作一些專案，而這些專案都可以是一些實用的應用程式，而不是簡單的加減乘除四則運算。同時，使用這些標準程式庫可以讓學生學習程式的再利用。其他豐富的第三方模組也非常好用，如 PyGame，都可以直接拿來讓學生使用。

  Python是一個互動式的直譯器，可以讓學生直接邊撰寫程式邊測試。它可以讓你在一個視窗邊寫程式，而在另外一個視窗執行與測試這些程式碼。

## 這個程式庫的特點

這世上已經有太多的數獨遊戲或者學習程式，有些是為了娛樂，有些是為了數學的研究，而此專案則是專注在邏輯的學習上。而且，這裡的邏輯是專門以人的角度為出發點，而不是電腦科學的角度。所以這個專案有以下特點:

1. 讓人們學習「邏輯」 的基本精神。

2. 它「不是」要成為一般性的程式設計課程。

3. 它「不是」要成為嚴謹的數學研究。

4. 探索解數獨的方法是以人的角度，而「非」電腦科學角度。

5. 讓人們自己去發現解數獨的方法，並且以自己的文字來命名它。( 這雖然不在此 Python Package 裡面，但必須將此安排在課程裡面。)

6. 讓人們能夠學習 Python 程式設計以時做學生們自己探索出來的方法。

7. 學習以物件導向程式設計(OOP)來求解數獨。OOP方法可以比擬為人的思考與行為角度。

### 瀏覽

- 索引
- 模組 |
- 下一頁 |
- 上一頁 |
- SudokuStudyLib 1.0 documentation »