程序流程图

Posted by Nino Lau on April 26, 2019

根据下边的程序流程图,完成:

  1. 画出相应的程序控制流图;
  2. 给出控制流图的邻接矩阵;
  3. 计算 McCabe 环形复杂度;
  4. 找出程序的一个独立路径。

程序流程图


程序控制流图

流程图

程序控制流图


制流图的邻接矩阵

控制流图的邻接矩阵


McCabe 环形复杂度

  • 给定流图 $G$ 的环路复杂度 $V(G)$,定义为:$V(G) = m-n+2=5$(m为$G$中边的数量,$n$为$G$中节点的数量)。
  • 平面流图中区域的数量对应环路复度。
  • 给定流图 $G$ 的环路复杂度 $V(G)$,定义为:$V(G) = d+1=5$($d$为$G$中单判定节点的数量)。

复杂度$V(G)=5$。


程序独立路径

  • 1 -> 2 -> 4 -> 5 -> 8 -> 9
  • 1 -> 2 -> 3 - > 4 -> 5 -> 8 -> 9
  • 1 -> 2 -> 3 -> 5 -> 8 -> 9
  • 1 -> 2 -> 4 -> 5 -> 6 - > 8 -> 9
  • 1 -> 2 -> 4 -> 5 -> 6 -> 7 - > 8 -> 9