演算法与流程图

进阶

演算法就是一步步解决问题的清晰步骤,就像食谱。流程图用图形画出来:椭圆起止、矩形做东西、菱形判断、平行四边形输入输出。

适合:中一资讯及通讯科技 · 单元:编程入门 · 建议学习路径第 7/13 课

学完呢课,你会识:
  • 演算法=有限、清晰、有次序的步骤
  • 椭圆起止、矩形处理、菱形判断、平行四边形输入输出
  • 菱形必有两条出路;一图一开始
资讯及通讯科技Information & Communication Technology
读呢课前,你应该识: 云端与网上服务

§课文原文 Passage

1演算法是解决问题的一连串清晰步骤,就像一份食谱:先列出材料,再按部就班执行,便能完成菜式。合格的演算法必须清晰、有限且有次序,每一步都明确具体,步骤数量有限,先后次序固定,调换次序便可能出错。流程图则把演算法画出来:椭圆形代表开始与结束,长方形代表处理,菱形代表判断,箭嘴表示流程方向。

2实际写程式之前,先设计演算法并绘画流程图,可以及早发现逻辑错误,减少日后除错的时间。常见例子包括找出全班最高分的同学、计算各科平均分、把考试成绩由高至低排序;这类题目都应先想清楚输入、处理与输出三个环节,再转化为具体步骤,最后才动手编写程式码,出错的机会便大大减低。

3香港日常应用随处可见:港铁路线搜寻器在几秒内建议乘车方案,八达通系统自动计算最平车资,外卖平台为数以千计的订单安排派送路线,背后全部是演算法在运作。学会有条理地分步思考,把大问题拆解成小步骤,正是所有编程与运算思维的共同基础,对其他学科的解难同样有帮助。

1重点摘要 Summary

演算法就是一步步解决问题的清晰步骤,就像食谱。流程图用图形画出来:椭圆起止、矩形做东西、菱形判断、平行四边形输入输出。

2生字卡 Vocabulary

A
Algorithm演算法

解决问题的一步一步清晰指令:步骤有限、次序明确。

F
Flowchart流程图

用标准图形和箭嘴把演算法画出来的图。

T
Terminator (oval)起止框(椭圆)

表示开始 Start 或结束 End。

P
Process box (rectangle)处理框(矩形)

表示一个动作或计算,例如「总分+10」。

D
Decision diamond决策框(菱形)

表示一个判断,分「是/否」两条出路。

I
Input/Output (parallelogram)输入输出框(平行四边形)

表示输入资料或输出结果。

A
Arrow (flow line)箭头(流程线)

表示流程进行方向的符号,每条线都要有箭头。

P
Program code程式码

用程式语言写成的指令;流程图想清楚后,译做程式码交给电脑执行。

3逐步讲解 Steps

  1. 演算法三个要求合格的演算法必须符合三个要求。第一,清晰:每一步都明确具体,不含糊,任何人照著做也得到同一结果。第二,有限:步骤数量有限,一定会做完,不会无限循环。第三,有次序:先后次序固定,调换次序便可能出错,例如先穿鞋再穿袜便行不通。可以用食谱来理解:一份永远写不完、或者「看心情」加盐的食谱,就不是合格的演算法。答题时三个要求都要写出来,并且各配一个简短例子。
  2. 日常例子:冲柠檬茶演算法不一定需要电脑,日常生活到处都是。以冲柠檬茶为例:开始之后先烧水;然后判断「有柠檬吗?」如果有,便放入柠檬;如果没有,便先去买柠檬再继续;最后加入茶,完成。这个过程有一步一步的指令,还有一个判断分支,已经是一个演算法。由此可见,演算法只是「解决问题的一连串清晰步骤」,写程式之前的设计、甚至教同学折纸鹤的步骤,都符合这个定义。
  3. 流程图符号流程图用五种标准符号表达演算法:椭圆代表开始或结束;矩形代表处理,即进行动作或计算;菱形代表判断,分「是」和「否」两条路;平行四边形代表输入或输出;箭头表示流程方向。五种符号各司其职,画图时不可混用,例如判断绝不能画成矩形,输入也不应画成矩形。记忆方法:想「问问题」就用菱形,想「做事情」就用矩形,想「资料进来或出去」就用平行四边形。
  4. 画图规矩画流程图有几条规矩:一个流程图只能有一个开始;每条箭头都必须标明方向;菱形必须有「是」和「否」两条出路,不可以只有一条。例如判断成绩是否合格,菱形就要分出合格与不合格两条路线,两条路最后都要通向结束,流程图才算完整。常见错误包括:忘记画开始或结束的椭圆、箭头没有方向、判断之后其中一条路悬空。画完之后沿著箭头由开始走到结束检查一次,便能发现这些问题。
  5. 为什么要先画图写程式之前先画流程图,可以把逻辑想清楚,避免写到一半陷入混乱;程式其实只是把流程图翻译成程式码。例如先画好成绩分级图,写程式时就不会漏掉任何一个分数范围,之后除错也更快,因为可以直接对照流程图检查每一条分支。香港的例子:港铁路线搜寻器在几秒内建议乘车方案,背后正是设计好的演算法在运作。先设计后编程,是所有程式员的工作习惯,也是运算思维的核心。
  6. 循环在流程图怎样画重复的工作在流程图中用「返回箭头」表达:把流程线由下方画回上方,形成回圈。例如砌 10 层积木:矩形「砌一层」之后,菱形问「砌够 10 层吗?」,答案为否时,箭头折返「砌一层」继续;答案为是时,箭头通往结束。菱形的出路折返向上,就是流程图里循环的标志。画这类图时,记得在菱形旁写清楚判断条件,并且确认循环最终有离开的出口,否则流程便会永远绕圈。

4图解 Diagrams

流程图符号:四种砖头 Flowchart symbols开始/结束处理 process判断?输入输出圆角方形菱形平行四边形例:计平均分流程开始 → 输入三科分数 → 相加÷3(处理)→ 显示结果 → 结束规矩:箭嘴表示行嘅次序;判断菱形一定要有两条出路(是/否)画流程图=谂清楚先写 code——程式设计师嘅草稿
图 1:流程图符号

5例题示范 Example

例题:用文字描述「判断一个分数是否合格(50 分或以上)」的流程图。

  1. 第一步先画开始的椭圆,然后用平行四边形表示「输入分数」,因为分数是由外面进入程式的资料。
  2. 接著画菱形,写上判断条件「分数大于或等于 50?」,菱形必须有两条出路,分别标明「是」和「否」。
  3. 「是」的一边输出「合格」;「否」的一边输出「不合格」,两条分支不可以共用同一个输出。
  4. 最后两条分支都要用箭头连到结束的椭圆,画完后由开始沿箭头走一次,确认没有悬空的路线。
  5. 答案:画图次序是:开始(椭圆),输入分数(平行四边形),判断「分数大于或等于 50?」(菱形),「是」输出「合格」、「否」输出「不合格」,最后两条分支都到达结束(椭圆)。要点是菱形必须有「是」和「否」两条出路,而且所有箭头最后都要到达结束,流程图才算完整。

6常见错误 Mistakes

✗ 「判断用矩形画。」
✓ 判断要用菱形 — 它有两条出路(是/否);矩形只有一条路。
✗ 「演算法一定要用电脑才能做到。」
✓ 演算法只是解决问题的方法:食谱、游戏指引都是;电脑只是执行得快。
✗ 「步骤次序无所谓。」
✓ 次序错,结果就错 — 「先放蛋后烧水」和「先烧水后放蛋」是两回事。
✗ 「箭头不画方向也可以。」
✓ 每条流程线都必须画上箭头;没有方向,读图的人就不知道先做哪一步、流程会不会折返。

75 题快测 Quick check

Q1流程图里面,菱形代表?A. 开始 B. 判断 C. 输入

Q2「输入分数」应该用哪个图形?

Q3一个演算法可以有多少个「开始」?

Q4「开始」和「结束」应该用哪个图形?

Q5用文字写出「计算 5 个科目总分」演算法的三个主要步骤。

8重点回顾 Recap

  • 演算法=有限、清晰、有次序的步骤
  • 椭圆起止、矩形处理、菱形判断、平行四边形输入输出
  • 菱形必有两条出路;一图一开始
  • 先画流程图后写码,逻辑先清楚
  • 食谱、游戏指引都是演算法 — 条理思想不用电脑也练到

同级其他科

同一科其他级别