運算

出自維基百科,自由嘅百科全書
跳去導覽 跳去搵嘢

運算粵拼wan6 syun3英文computation動詞to compute)係指涉及跟從一個定義好嘅模型、通過一連串算術同非算術步驟做嘅計算(calculation;最廣義上可以包含任何由輸入輸出嘅過程)。呢啲計算可以係算術性嘅(等),又可以係做邏輯代數(Boolean algebra)嘅處理,中途會處理資訊。運算嘅例子有演算法(algorithm):喺行一個演算法嗰陣,一部電腦會接收用家俾嘅一串演算法,一個演算法包含一串有先後之分嘅指示,每行指示教部電腦做某啲計算,等等,通過行呢段演算法,部電腦會俾出一個輸出,如果個演算法設計得好而且部電腦能夠無誤噉行段演算法嘅話,個輸出正正會係個用家想要嘅結果[1]

簡例[編輯]

舉個簡單例子說明,好似係以下呢段用粵文寫嘅演算法(虛擬碼)噉,就做咗一連串嘅運算[2]

要解決嘅問題:家吓俾一列正數(輸入)你,假設呢個列唔係一個空列,同我搵嗰列數入面最大嗰個出嚟。
用嘅演算法嘅步驟:
  1. 設一個變數,叫佢做「max」,並且將佢個數值設做「0」;
  2. 將收到嗰列正數逐個逐個攞嚟同 max 比較吓;
  3. 如果撞到一個大過 max 嘅數(叫呢個數做「x」)嘅話,將 max 嘅數值設做 x,並且繼續將 max 同下個正數比較吓;(邏輯代數)
  4. 將最後得出嗰個 max 嘅數值俾出嚟(輸出)。max 嘅數值會係成列數入面最大嗰個。

呢個演算法用 Python(1991 年出嘅一種程式語言)寫出嚟嘅話會係[2]

# Input:一列冧巴,叫列冧巴做「L」。
# Output:L 入面最大嘅冧巴。

def find_max (L):
   max = 0         # 設最大值做 0。
   for x in L:     # 同 L 入面每個元件做以下嘅嘢...
      if x > max:       # 如果 x 大過最大值...
         max = x         # ... 設最大值做 x。
   return max      # 做完嗮上述嘅嘢後,俾返個最大值出嚟。

研究運算嘅領域係電腦科學(computer science),而運算理論係電腦科學一個高度理論化嘅子領域:電腦科學會研究運算嘅應用,研究點用電腦運算造出有經濟價值嘅產品同技術,例如電腦圖像學(CG)研究電腦圖像-用電腦嘅運算功能造圖像嘅技術,而呢啲圖像可以用嚟製作電腦動畫等嘅產品;但另一方面,電腦科學又會用好似數學噉嘅方法研究運算呢家嘢嘅本質-做呢啲研究嘅電腦科學子領域就係運算理論(theory of computation)[3][4]

睇埋[編輯]

[編輯]

  1. Computation in Physical Systems. Stanford Encyclopedia of Philosophy.
  2. 2.0 2.1 Background: Algorithms 互聯網檔案館歸檔,歸檔日期2018年7月3號,..
  3. Denning, P.J.; Comer, D.E.; Gries, D.; Mulder, M.C.; Tucker, A.; Turner, A.J.; Young, P.R. (January 1989). "Computing as a discipline". Communications of the ACM. 32: 9–23.
  4. Turner, Raymond, Angius, Nicola , Primiero, Giuseppe. (Spring 2019). "The Philosophy of Computer Science", The Stanford Encyclopedia of Philosophy, Edward N. Zalta (ed.),

[編輯]