根据上述的程序流程图画出程序控制流图
由于一个条件判断语句中有复合条件表达式,故需拆开表示
1 | 2 | 3 | 4 | 5 | 6 | 7 | |
---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
2 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
3 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
4 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
5 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
6 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
McCabe 环路复杂度
为程序逻辑复杂性提供定量测度。该度量用于计算程序的基本独立路径数目,也即是确保所有语句至少执行一次的起码测试数量。
程序控制流图中有7个结点,10条边。
故V(G) = m – n + 2 = 10 -7 + 2 = 5
程序控制流图中有4个单判定结点
故V(G)= d + 1 = 4 + 1 = 5
一条独立路径是指,和其他的独立路径相比,至少引入一个新处理语句或一个新判断的程序通路。V(G) 值正好等于该程序的独立路径的条数。