編程的相關概念
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): 一種程式設計師自定義的類型。類定義創建了一個新的類對象。