出自維基百科,自由嘅百科全書
電腦程式(粵讀:din6 nou5 cing4 sik1 | 英文:computer program)係一組指示電腦每一步動作嘅指令,通常用程式語言編寫。電腦所有功能都要透過運作對應電腦程式先至可以做到。
一個解決「盞燈唔着」呢個問題嘅演算法-演算法可以用流程圖表示。
一個電腦程式實會包含若干段演算法(algorithm)。喺數學同電腦科學上,一個演算法係一串能夠完全唔含糊噉話俾人或者電腦聽要點樣解決某啲問題嘅命令[1]。好似係以下呢段嘢噉[2]:
- 要解決嘅問題:家吓俾一柞正數(輸入)你,假設呢個列唔係一個空列,同我搵嗰柞數入面最大嗰個出嚟。
用嘅演算法嘅步驟:
- 設一個變數,叫佢做「max」,並且將佢個數值設做「0」;
- 將收到嗰柞正數逐個逐個攞嚟同 max 比較吓;
- 如果撞到個大過 max 嘅數(叫呢個數做「x」)嘅話,將 max 嘅數值設做 x,並且繼續將 max 同下個正數比較吓;
- 將最後得出嗰個 max 嘅數值(輸出)俾出嚟。max 嘅數值會係成柞數入面最大嗰個。
諗演算法嘅過程係將一份作業揼散做組成份作業嘅細部份,而每個細部份都要係一啲電腦普遍都會識做嘅簡單運算工作(例如係「比較兩個數,睇吓邊個大啲」)-呢啲細部份可以話係組成演算法嘅元素,有咗呢啲細部份就有可能將任何「人會想要電腦做嘅工作」砌出嚟[2][3]。
資料類型(data type)係一件資料會具有嘅一個屬性,一件資料嘅類型會話俾個編譯器(compiler;將段碼變成部電腦可以直接行嘅機械碼嘅程式[4])知,個程式打算點樣用呢件資料。常見(絕大多數程式語言都支援)嘅資料類型包括
... 等等。舉個例說明,想像家陣部電腦收到一個訊號「00001」,如果呢個訊號標明咗係一個整數,噉部電腦就知呢段訊號代表緊「1」呢個數字,但如果個訊號標明咗係一個布林資料,噉呢段訊號所代表嘅係「真」。喺寫程式嗰陣,每個變數同常數都會有佢嘅資料類型,亦有程式語言係曉自動噉探測件資料嘅類型,例子有 Python;而如果用家嘗試將一個類型唔啱嘅數值加落去一件資料嗰度-例如個程式嘅開頭講明咗「max」呢個變數屬一個整數,但程式半路出現 max = 0.005
(將 max 數據設做 0.005),個程式就會同個用家講話程式出錯[5][6]。
![{\displaystyle 1,2,3...}](https://wikimedia.org/api/rest_v1/media/math/render/svg/99c56997f05000a92ff1666491c052415f7d5ec7) |
![{\displaystyle 0.1,0.2,0.3...}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6ef2bebdb584431c67d92f9ad08adde628ca026d) |
![{\displaystyle {\text{A}},{\text{B}},{\text{C}}...}](https://wikimedia.org/api/rest_v1/media/math/render/svg/16cd75a58721829484381a590a18a55cbdc5f8ca) |
(真)、 (假)
|
整數 |
浮點數 |
字符 |
布林
|
- ↑ Bell, C. Gordon and Newell, Allen (1971), Computer Structures: Readings and Examples, McGraw–Hill Book Company, New York.
- ↑ 2.0 2.1 Background: Algorithms. 互聯網檔案館嘅歸檔,歸檔日期2018年7月3號,..
- ↑ Harel, David, Feldman, Yishai (2004). Algorithmics: The Spirit of Computing. Addison-Wesley.
- ↑ Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. (1986). Compilers: Principles, Techniques, and Tools (1st ed.). Addison-Wesley.
- ↑ Shaffer, C. A. (2011). Data Structures & Algorithm Analysis in C++ (3rd ed.). Mineola, NY: Dover. 1.2.
- ↑ Cleaveland, J. Craig (1986). An Introduction to Data Types. Addison-Wesley.