編程的相關概念

1. 電腦科學

  電腦科學研究的是問題是否可計算,演算法是否存在。

   1.1 解決問題的基本思路

  • 將事物分類,將大問題分解為小單元(樹)。

2. 演算法

   演算法是逐步解決一類問題或完成一項任務的方法。又或者演算法是解決一類問題的通用過程(步驟)。  

  2.1 演算法與程式的區別

  • 程式是演算法編碼的結果,同一演算法通過不同的程式語言產生不同的程式。

3. 過程

   涉及時間始末、次序先後,稱之為過程。主體發布動作、主體執行步驟,皆是過程。

4. 編程

   設計程式、編寫程式。是一個過程。

5. 程式

   一系列定義電腦如何執行計算的指令。又或者程式(演算法)由對象、表達式和語句組成。

   程式的指令類型

  • 輸入 (input)從鍵盤、文件、網路或者其他設備獲取數據。
  • 輸出 (output)在螢幕上顯示數據,將數據保存至文件,通過網路傳送數據,等等。
  • 數學 (math)執行基本的數學運算,如加法和乘法。
  • 有條件執行 (conditional execution): 檢查符合某個條件後,執行相應的程式碼。
  • 重複 (repetition): 檢查符合某個條件後,執行相應的程式碼。

  對象、表達式、語句

  • 對象 (object)變數可以引用的東西。數字、數據結構、函數、類等
  • 表達式 (expression)變數、運算符和值的組合,代表一個單一的結果。
  • 語句 (statement)代表一個命令或行為的一段程式碼。賦值、輸入、輸出、列印、選擇/條件(if、else)、迭代/遍歷/循環(for、while)

6. 函數

  在編程的語境下,函數 (function) 是指一個有命名的、執行某個計算的語句序列 (sequence of statements)

   6.1  函數與方法

  • 方法 (method)與對象相關聯的函數,並使用點標記法 (dot notation) 調用。

7. 變數

  變數是指向某個值的名稱(符號)。

8. 條件

  條件 (condition): 決定哪個分支會被執行的布爾表達式。

     8.1 條件語句

  • 條件語句 (conditional statement): 一段根據某個條件決定程式執行流程的語句。

9. 迭代(重複)

  迭代 (iteration)利用遞歸或者循環的方式來重複執行代一組語句的過程。

10. 遍歷(重複)(搜索)

  遍歷 (traversal)對一個序列的所有元素進行迭代,對每一元素執行類似操作。搜索意思與遍歷相近。

11. 循環(重複)

  循環 (loop)程式中能夠重複執行的那部分程式碼。

12. 遞歸(重複)

  遞歸 (recursion): 調用正在執行的函數本身的過程。

13. 類

  (class): 一種程式設計師自定義的類型。類定義創建了一個新的類對象。