1、问题2:(8分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
答案:
(1) 控制流图如下图所示:
(2)、V(G)= 判定数+1=2+1=3
答题解析:
本题考查白盒测试方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。
控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:
其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。
环路复杂度用来衡量一个程序模块所包含的判定结构的复杂程度。环路复杂度等于右图中的判定的节点个数加1。图中判定节点个数为2,所以V(G)=2+1=3。
控制流程图的环路复杂性 V(G)一共有以下三种方法,但是最后一种最好用,不易出错。
(1)控制流程图中的区域个数。
(2)边数-结点数+2。
(3)判定数+1。
查看完整试题>>>