編碼概念 - 演算法

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

演算法在現實生活和程式碼中的應用

一個 演算法 使用一系列步驟來確定結果。步驟可以是一組方向、比較,甚至是一個數學公式。

你的日常生活中充滿了你不假思索地使用的演算法。它們幫助你做決策、創造事物和解決問題。

現實生活中的範例:

  • 檢查你是否有足夠的錢來購買小吃。
  • 早上穿衣服。
  • 繪製火柴人。

編碼範例:

  • 檢查技能等級是否足夠高以使用某項物品。
  • 將物品列表按字母順序排列。
  • 玩家站在熔岩上每秒減少5點健康。如果他們的健康值達到0,他們將重生。

在程式碼中創建演算法

在現實生活中,我們通常不會考慮我們每天使用的演算法。然而,計算機需要演算法逐步編碼,並使用三種方法中的至少一種來解決問題或產生結果。

方法論範例
選擇 - 使用條件語句,如 if/then 來確定輸出。

if time == 0 then
stopLightColor = red
end

序列 - 一組精確的步驟。


local function createBridge()
create new block
size block
set color
rotate
set location
parent to workspace
end

迭代 - 根據需要重複代碼的部分,例如在 for 循環或乘法中。


for countDown = 10, 1, -1 do
time -= 1
task.wait(1)
end

合併演算法

就像大型問題可以被分解成小型問題一樣,一些演算法可以被分解成一系列更小的演算法。

想想你早上穿衣服的演算法。如果那是你的主要演算法,它可能會使用一個演算法來選擇你的衣服,還有第二個演算法來穿上衣服。

穿衣服的偽代碼

-- 第一個演算法選擇衣物
local function pickClothes()
pick top clothing
pick bottom clothing
pick Socks
pick Shoes
end
-- 第二個演算法穿上衣物
local function putOnClothes()
put on top clothing
put on bottom clothing
put on socks
put on shoes
end
-- 主演算法,調用 pickClothes() 和 putOnClothes()
local function getDressed()
pickClothes()
putOnClothes()
end

總結

演算法是提供結果的預定步驟。在日常生活中,演算法解決像穿衣服、上班或烘焙蛋糕的問題。在程式碼中,演算法解決像管理網站、處理交通壅塞或運行遊戲機制的問題。為了完成其目標,演算法經常會調用其他演算法。

演算法使用三種不同的方式來得出結論;選擇迭代序列。選擇使用如 if/then 語句的條件語句。迭代根據需要重複代碼的部分。序列使用一系列步驟來產生結果。