学径 LearnPath

CAICP-E · 数学基础 / Wiki

顺序流程

把事情写成一步接一步、别人也能照着做的顺序。

它是什么

顺序流程就是把一件事写成步骤:先做什么,再做什么,最后怎样检查。别人照着做,也能做成同一件事。

世界里常把这种步骤叫算法,英文是 algorithm。它不是咒语,也不是心情,而是一份能执行的说明书。

厨房里的食谱就是算法:先洗菜,再下锅,最后出锅。电脑也一样——它不会猜你在想什么,只会按写下的顺序走。

名字从哪来

「算法」这个词,和一千多年前的学者花拉子米(al-Khwarizmi)有关。他写下解方程的步骤,后来欧洲人用他的名字称呼「按步骤算」。

更早的时候,人们已经在用步骤。做面包、量土地、排队伍,都要按顺序。电脑出现以后,步骤必须更清楚:每一步有动作,做完能停下。

食谱、说明书、游戏规则,都是生活里的算法。名字不同,核心一样:一步接一步,顺序不能乱。

它怎么工作

好步骤通常有三条:

  1. 每一步有动词,也有对象
  2. 前后不能随便对调
  3. 做完能检查有没有漏

「打开文具盒」是好步骤。「东西」不是步骤,因为它没有动作,也没有结果。

以做蛋炒饭为例:

  1. 淘米、煮饭
  2. 打蛋、热锅
  3. 下饭、加盐
  4. 盛出来

第 1 步和第 3 步不能对调。生米下锅,炒不成饭。这就是「顺序不能乱」。

算五个数的 平均数,也是流程:

  1. 记下五个数
  2. 加起来得到总数
  3. 用总数除以 5
  4. 写出平均数
  5. 检查除数是不是 5

每一步都留下一个能核对的结果。先加,再除,不能反过来。

检查流程时,两问就够:

  • 少了哪一步会失败?
  • 对调两步会不会出事?

漏了「装书包」,出门会失败。先晾衣再洗衣,顺序错了。

生活里在哪里

  • 按食谱做饭、按说明书拼积木
  • 图书馆借书:找书、拿到借书台、出示借书卡、登记
  • 过马路:看灯、左右看、再走
  • 电脑开机、保存文件、发送消息
  • 方程:两边同减、再同除、再检查

写的时候,想象要交给一个完全不了解情况的人。他只能照着做;他做完,任务应当成功。

愿望不是步骤。「认真一点」「快点做好」没法检查;「把书包拉链拉上」可以检查。

和相近概念的差别

名称它在管
顺序流程先后次序
问题分解把大事切成小块
规律同一规则反复出现
编码按规定换一种写法

分解管切块,流程管先后。先切开,再排顺序,两件事常常一起用。

流程里也可以有判断。「分数到 60 就及格,否则继续练」中间有选择。整体仍按顺序往下走:先读,再比,再下结论。

常见误会

误会 1:心里会做,就等于写成了流程。

别人照你的话做失败了,说明步骤还不够清楚。

误会 2:步骤可以随便对调。

有的步能对调,有的不能。洗衣和晾衣服不能对调;先拿筷子还是先拿碗,有时可以。要问:对调以后还能成功吗?

误会 3:把愿望当成步骤。

「表现好一点」没有可检查的结果。

误会 4:算法一定要电脑。

食谱、借书、排队,都是算法。电脑只是特别听话的执行者。

想知道更多

  • 活动:CS Unplugged《不插电的计算机科学》(书和网站)。用身体和卡片玩「按步骤做」,不一定要电脑。
  • 纪录片:法国片《维度:数学漫步》(Dimensions),把抽象步骤和空间看得更立体;适合和家长一起选片段看。
  • 生活作业:把「从进家门到开始写作业」写成五到七步,交给家人照着做,看会不会卡住。

未登录时不会保存学习进度