第六章
1)结构程序设计的概念
核心思想:少用go to 语句
2)人机界面设计的基本问题
四大问题:
系统响应时间、用户帮助设施、出错信息处理和命令交互
3)熟练掌握过程设计的工具(重点)
流程图、盒图,PAD图,伪码
能够根据其中任何之一画出另外的任一种图来
能根据条件描述绘制判定表、判定树
a.程序流程图
优点:
是控制流程的直观描述,简单易学,容易理解
缺点:
本质上不是逐步求精的好工具,缺少全局结构的考虑
用箭头代表控制流,程序员不受约束,随心所欲
不易表示数据结构
b. 盒图(N-S图)
图6.4 盒图的基本符号
(a) 顺序;(b) IF-THEN-ELSE型分支;(c) CASE型多分支;(d) 循环;(e) 调用子程序A
N-S图的嵌套定义形式
c.PAD图:
(a)顺序(先执行P1后执行P2);
(b) 选择(IF C THEN P1 ELSE P2);
(c) CASE型多分支;
(d) WHILE型循环(WHILE C DO P);
(e) UNTIL型循环(REPEAT P UNTIL C);
(f) 语句标号;
(g) 定义
d.判定表
一张判定表由四部分组成,左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作。
e.判定树(优点:简单易懂 缺点:不够简洁,同一个值可能重复多次)
f.PDL(伪码)
4)jackson图(了解 度娘一下即可)
5)McCabe方法(重点)
环形复杂度(Cyclomatic Complexity):根据程序控制流的复杂程度定量度量程序的复杂程度——这样度量出的结果为程序的环形复杂度
流图(表示控制流):
计算环形复杂度的方法
(1)流图中的区域数等于环形复杂度
(2)流图G的环形复杂度V(G)=E-N+2
(3)流图G的环形复杂度V(G)=P+1