编程概念 - 算法

*此内容使用人工智能(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语句。迭代根据需要重复代码的某些部分。排序使用一系列步骤来产生结果。