💻 第四章 程序像河水一样流动着
📄 一句话概括

流程图四种符号走天下:圆角框开始结束、矩形处理、菱形判断、箭头指方向——图比文字更不容易漏分支。

📝 本节和前面几节的关系

上一节认出三种流程,这一节学【把它们画下来】的通用语言:流程图。

一、四种基本符号

圆角矩形(椭圆):开始与结束——流程图的两个端点; 矩形:处理——一条指令或一小段程序; 菱形:判断——有【是/否】两条出口; 箭头:流程方向——上一格指向下一格。 合起来一句话:从开始到结束,中间是【处理与判断】的接力,箭头说明先干谁后干谁。

二、流程图的价值

写代码前先画图,最大的好处是强迫你想全每个岔路:菱形画出来就必须有两条出口,漏了条件一眼就看见。 另一个好处是沟通:给不懂编程的人讲流程,图比代码快十倍。

三、顺序、循环、分支怎么画

顺序=一串矩形竖着排;分支=一个菱形分两路;循环=箭头从下往上回到前一个菱形(4.3 节的【帽子短裤】)。 画完对照 4.1 节的三种结构检查一遍:所有弯路都能归到三种之一,图就没画错。

四、动手 Demo:画一个及格判断的流程图

用字符画出【输入分数、判断是否及格】的完整流程图。

# 及格判断的流程图(字符版)
print("      ( 开始 )")
print("          |")
print("   [ 输入分数 score ]")
print("          |")
print("     < score >= 60 ? >")
print("      是 |     | 否")
print("         v     v")
print("   [ 打印及格 ] [ 打印不及格 ]")
print("          \\   /")
print("        ( 结束 )")

实跑输出:

--------------------------------------------------------------------
流程图的四种基本符号
--------------------------------------------------------------------

画流程图先认符号,四样就够起步:

  符号形状           含义                     例子
  -------------------------------------------------------------
  圆角矩形(椭圆)     开始/结束                开始、结束
  矩形               处理(一条指令或一段)     成绩 = 输入分数
  菱形               判断(有出口两条)         分数 >= 60 ?
  箭头               流程方向                 上一步指向下一步

用字符画一个【判断是否及格】的流程图:

        ( 开始 )
            |
     [ 输入分数 score ]
            |
       < score >= 60 ? >
        是 |     | 否
           v     v
     [ 打印及格 ] [ 打印不及格 ]
           \     /
            v   v
         ( 结束 )

画图的好处:菱形(判断)与矩形(处理)各归各位——
看图就知道哪步会分岔,写代码时不容易漏掉分支。

菱形里写的是【条件】,不是【结果】——条件是问句,出口才是答案。 两条出口的箭头都要画出来,这是流程图防漏的基本纪律。

30 秒实验

  1. 在纸上画【取款机判断密码是否正确】的流程图,数一数用了几次菱形。
  2. 把 4.1 节 Demo 的循环写法画成流程图——你会得到 4.3 节的【帽子短裤】形状。

常见误区

  1. 把判断写在矩形里——判断必须用菱形,因为菱形才【有两条出口】。
  2. 图里画了箭头但不写条件——菱形出口不标【是/否】,读图的人猜不出来。
自测三问(点开对答案) 1. 流程图的四种基本符号各是什么? —— 圆角框(开始结束)、矩形(处理)、菱形(判断)、箭头(流向)。 2. 为什么判断必须用菱形? —— 因为它有两条出口,强迫画图人写全两个分支。 3. 画图时最容易漏什么? —— 漏掉某个条件分支的出口——所以每个菱形都要检查两条箭头。

相关笔记