考纲要求
- 认识流程图常用符号:圆角矩形表示开始和结束,矩形表示处理步骤,菱形表示判断,平行四边形表示输入输出。
- 理解流程线表示执行顺序,箭头从一个框指向下一个要执行的框。
- 能根据一段顺序、分支或循环程序画出对应的流程图。
- 能读懂带判断和循环的流程图,推出给定输入下的输出结果或循环执行次数。
典型题型
- 给出流程图,要求写出程序运行后的输出或判断循环执行次数。
- 给出用自然语言描述的算法,要求选择正确的流程图。
- 指出所给流程图中缺少的步骤或方向错误的流程线。
常见错误
- 判断框的「是」和「否」两条分支写反,导致条件成立时执行了错误的一侧。
- 循环流程图中忘记更新控制变量,导致死循环或者次数算错。
- 把处理框和输入输出框混用,例如把输入语句写进矩形框。
- 只看框内文字不看箭头方向,误以为流程图一定从上到下依次执行。
深入理解
五种符号各自代表一种动作
- 圆角矩形:流程的开始和结束,一个流程图通常只有一个开始、一个或多个结束。
- 矩形:处理步骤,例如「计算 s = s + i」「i = i + 1」。
- 菱形:判断,有一个入口、两个出口,分别标「是」和「否」。
- 平行四边形:输入或输出,例如「读入 n」「输出 s」。
- 箭头:流程线,指向下一步要执行的框。
判断框是唯一有两个出口的符号,所以看到菱形就要立刻问:两个出口各去哪、条件成立时走哪条。这是读图题的突破口。
把图翻译成代码是固定套路
读流程图的正确姿势是逐框记录变量变化,而不是盯着图找答案。以累加为例:初始化 s = 0, i = 1,菱形判断 i <= n,成立走「s = s + i、i = i + 1」再回到判断,不成立走输出 s。这正好对应:
int s = 0;
for (int i = 1; i <= n; i++) s += i;
cout << s;反过来,给一段代码画图时,遇到 if 画菱形,遇到 for/while 画「判断 → 处理 → 回到判断」的回环,遇到 cin/cout 画平行四边形。循环在流程图里没有专门的符号,它只是「一条指回前面的流程线」,这一点常被当作判断题考点。
推算执行次数与结果
给定输入求输出时,按「初始化 → 判断 → 处理 → 回到判断」逐轮列出变量值,通常列出前三轮和最后一轮就能看出规律。如果判断框里是比较或取模,注意边界值:i <= n 和 i < n 差一轮,结果可能完全不同。遇到两个判断框嵌套,先走完内层再回到外层,和嵌套循环的执行顺序一致。
自编例题
读懂带判断的流程图
流程图先输入整数 n,判断 n 除以 2 的余数是否为 0:是则输出 even,否则输出 odd。当输入 7 时输出什么?
int n;
cin >> n;
if (n % 2 == 0) cout << "even" << endl;
else cout << "odd" << endl;7 除以 2 的余数是 1,判断框的条件不成立,因此走「否」分支,输出 odd。读流程图时要按箭头顺序走一遍:遇到判断框先算出条件,再选择对应的出口,不能跳过判断直接看结论。检查答案时可以把输入换成 8 再走一遍,如果得到 even,说明对分支的理解是正确的。
相关真题
这块内容在整条路线里的位置:GESP C++ 2 级备考路径。
READY TO START
开始练习
先做一套本级别测评,报告会指出哪些知识点需要重点补;再回到本页对照考纲要求逐条核对,把不确定的条目记下来集中练。
常见问题
流程图必须用标准符号吗?
考试中应按标准符号作答:圆角矩形起止、矩形处理、菱形判断、平行四边形输入输出,避免因符号不规范被扣分。
判断框用「是/否」还是 T/F?
两种写法都可以,但同一条流程线只能标一种,且必须与判断条件对应清楚,不能一条写「是」另一条也写「是」。
流程图和伪代码哪个更适合考试?
流程图适合展示分支和循环的结构,伪代码适合表达具体步骤。题目要求哪种就用哪种,关键是逻辑与题目一致。
