CC++ & Algorithm

流程图的概念与基本符号

中等58
语言版本:C++Python
概述:流程图是用图形展示步骤顺序的方法,就像画地图一样。

什么是流程图?——编程的“地图”

想象一下,你刚学会做番茄炒蛋,想把步骤教给同学。直接说“先炒蛋,再放番茄”可能会漏掉细节:什么时候放油?鸡蛋什么时候算熟了?这时候,画一张“步骤地图”就特别方便——用方框表示“打鸡蛋”,用菱形表示“鸡蛋凝固了吗?”,用箭头连起来。这张地图就是流程图

流程图用固定的图形符号表示不同的操作,就像交通标志牌一样统一。在编程中,它能帮你把程序执行的步骤画出来,一眼就能看出程序走了哪些路。以后遇到复杂程序,先画流程图,再写代码,会轻松很多。


基本符号详解

流程图有一套“标准符号”,就像交通规则里的红绿灯、斑马线。下面是最常用的几个符号,每个都配上生活中的小例子。

1. 椭圆形(开始/结束框)

  • 形状:两头圆圆的椭圆
  • 作用:程序的起点和终点
  • 生活例子:就像地图上的“你在这里”和“到达啦”。你出门玩,从家开始,到游乐园结束,两端都用圆圈标记。
  • 编程注意:每个流程图必须有一个开始和一个结束,不能只有开始没有结束(否则程序会“迷路”)。

2. 平行四边形(输入/输出框)

  • 形状:斜边四边形
  • 作用:从键盘输入数据,或者把结果显示在屏幕上
  • 生活例子:比如“输入考试成绩”或“输出总分”。你告诉电脑一个数字,电脑告诉你计算结果,都画成平行四边形。
  • 编程注意:输入输出一般用cincout实现,但流程图里只关心“做了什么事”,不写具体代码。

3. 矩形(处理框)

  • 形状:长方形
  • 作用:做计算或赋值操作,比如把两个数加起来、给变量赋值
  • 生活例子:你算零花钱:“这个月的零花钱 = 100 + 50(做家务奖励)”。或者“总分 = 语文 + 数学”。
  • 编程注意:矩形里写的是“动作”,比如“计算总分”、“交换两个数”。

4. 菱形(判断框)

  • 形状:菱形(像一颗钻石)
  • 作用:问一个问题,根据答案是“是”或“否”,走向不同的分支
  • 生活例子:你过马路前问“红灯亮了吗?”如果“是”就停下,如果“否”就继续走。再比如判断考试成绩:“分数 ≥ 60吗?”是就打印“及格”,否则打印“不及格”。
  • 编程注意:菱形里写的是一个条件,比如 a > bscore >= 60。从菱形出发的两条箭头旁边要标上“是”或“否”(或者“Yes”/“No”)。

5. 箭头(流程线)

  • 形状:带箭头的直线或折线
  • 作用:指示下一步的方向,就像地图上的小路
  • 生活例子:你画的菜谱步骤,每一步都用箭头连到下一步。注意箭头不能画回头(除非用循环),否则容易绕晕。

? 小提示:画流程图时,符号的摆放顺序就是程序执行的顺序。从上到下、从左到右一般是默认方向,但箭头可以帮你明确路径。


新手画流程图常犯的错误

  1. 忘记开始和结束框
    流程图必须有一个“开始”和一个“结束”,就像故事要有开头和结尾。很多人画着画着就漏了结尾,导致别人不知道程序哪里停止。

  2. 箭头方向混乱
    箭头应该清晰地指向下一个步骤。有人画成无头线,或者箭头指向回自己(除非是循环),让人看不懂顺序。

  3. 判断框出口没标“是/否”
    菱形判断框有两个出口,如果没有标注哪个是“是”哪个是“否”,别人就不知道走哪条路。就像十字路口没有路牌,司机找不到方向。

  4. 符号用错
    把处理框(矩形)当成输入框(平行四边形)用,或者把椭圆当成处理框。记住:只有输入输出才用平行四边形,计算或赋值用矩形。

  5. 流程图太复杂,一个框写很多内容
    一个矩形里最好只写一个操作,比如“计算和”而不是“计算和并输出”。如果要输出,单独画一个平行四边形。


完整示例:从流程图到C++代码

下面我们看一个完整的例子:输入两个数,计算它们的和,然后输出结果。先用流程图表示,再写代码。

流程图(用文字描述):

[ 开始(椭圆) ]
      ↓
[ 输入 a 和 b(平行四边形) ]
      ↓
[ 计算 sum = a + b(矩形) ]
      ↓
[ 输出 sum(平行四边形) ]
      ↓
[ 结束(椭圆) ]

对应C++代码(保留原有内容,并添加注释):

#include <iostream>   // 输入输出头文件
using namespace std;  // 使用标准命名空间

int main() {
    int a, b, sum;    // 定义三个整数变量:a第一个数,b第二个数,sum和
    cin >> a >> b;    // 从键盘输入两个数,存入a和b
    sum = a + b;      // 处理框:计算a+b,结果赋值给sum
    cout << sum << endl; // 输出框:在屏幕上显示sum的值并换行
    return 0;         // 结束程序
}

带判断的流程图例子

我们再来一个判断成绩是否及格的例子。输入一个分数,如果大于等于60,输出“及格”,否则输出“不及格”。流程图如下:

[ 开始 ]
    ↓
[ 输入 score ]
    ↓
  / 判断:score >= 60 ?  \    (菱形)
 /           \           \
是(Yes)      否(No)
  ↓             ↓
[ 输出 "及格" ]  [ 输出 "不及格" ]
  ↓             ↓
  \------------/   (汇聚在一起)
       ↓
   [ 结束 ]

注意:两条分支最后汇合到一起,再进入结束框。这是常见画法。

对应C++代码:

#include <iostream>
using namespace std;

int main() {
    int score;            // 定义整数变量score,存储分数
    cin >> score;         // 输入分数
    if (score >= 60) {    // 判断框:分数是否大于等于60?
        cout << "及格" << endl;  // 是,输出“及格”
    } else {
        cout << "不及格" << endl; // 否,输出“不及格”
    }
    return 0;             // 结束
}

? 对比一下:流程图让你先看清整个程序的分支结构,再写代码时就不会漏掉某个条件。特别是当判断嵌套很多时,画流程图特别有用。


下一步学习:更多的流程图符号

除了上面5种基本符号,流程图还有循环结构(用箭头绕圈表示重复)、子程序(用带两条竖线的矩形表示调用其他流程)等。等你在编程中学到循环(比如forwhile)和函数(function)时,可以再回来学习这些高级符号。

另外,你还可以试试把生活中的事情画成流程图,比如“起床到上学”的步骤、或者“用零花钱买冰淇淋”的决策过程,这样能帮你更快掌握画图的技巧。

相关知识点指引

  • [顺序结构:一步一步来]
  • [选择结构:if语句和判断]
  • [循环结构:重复做事情]
  • [调试技巧:用流程图找bug]

记住:先画流程图,再写代码,就像先看地图再出发,能让你少走很多弯路哦!

例题精讲

1单选题

在流程图中,表示判断(条件决策)的符号是以下哪一个?

A矩形
B菱形
C平行四边形
D椭圆
2判断题

流程图中,处理框(操作框)通常使用平行四边形表示。

3填空题
在C++程序设计中,流程图中的判断框通常对应___语句来实现条件分支。
4单选题

在流程图中,用于表示数据的输入或输出的符号是?

A矩形
B菱形
C平行四边形
D椭圆
5判断题

流程图中,流程线的箭头方向可以省略,因为默认从上到下、从左到右。