Assignment 5
根据上面的程序流程图,完成:
画出相应的程序控制流图;
给出控制流图的邻接矩阵;
A ∗ = { ∞ 1 1 0 0 0 0 0 0 ∞ 0 1 1 0 0 0 0 0 ∞ 0 1 0 0 0 0 0 0 ∞ 1 0 0 0 0 0 0 0 ∞ 1 0 1 0 0 0 0 0 ∞ 1 1 0 0 0 0 0 0 ∞ 1 0 0 0 0 0 0 0 ∞ } A^{*} = \left\{ \begin{matrix} \infin & 1 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & \infin & 0 & 1 & 1 & 0 & 0 & 0 \\ 0 & 0 & \infin & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & \infin & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & \infin & 1 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & \infin & 1 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & \infin & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & \infin \\ \end{matrix} \right\} A∗=⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧∞00000001∞00000010∞00000010∞00000111∞00000001∞00000001∞00000111∞⎭⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎫
计算 McCabe 环形复杂度;
- 给定流图 G 的环路复杂度 V(G),定义为
V(G) = m – n + 2 = 11 - 8 + 2 = 5
m 是流图中边的数量,n 是流图中结点的数量; - 平面流图中区域的数量对应于环路复杂度: 5
- 给定流图 G 的环路复杂度 V(G),定义为
V(G) = d +1 = 4 + 1 = 5
d 是流图 G 中单判定结点的数量。
找出程序的一个独立路径集合。
上面标颜色的是单判定点
路径 | 编号 |
---|---|
1 | 1-3-5-8 |
2 | 1-2-5-8 |
3 | 1-2-4-5-8 |
4 | 1-2-4-5-6-8 |
5 | 1-2-4-5-6-7-8 |