McCabe度量法
McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。
计算有向图G的环路复杂性的公式为:V(G)= m-n+2或V(G)= 闭合区域+1
其中V(G)是有向图G中的环路个数,m是G中的有向弧数,n是G中的节点数。
例题
- McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。下图所示程序图的程序复杂度是()。
(2009年上半年软件设计师上午试卷32题)
A.2 ==B.3== C.4 D.5
有向弧数:8
节点数:7
V(G)= 有向弧数-节点数+2 = 3
闭合区域:2
V(G)= 闭合区域+1 = 3
- 某程序的程序图如下所示,运用McCabe度量法对其进行度量,其环路复杂度是()。
(2009年下半年软件设计师上午试卷32题)
A.2 B.3 C.4 ==D.5==
有向弧数:10
节点数:7
V(G)= 有向弧数-节点数+2 = 5
闭合区域:4
V(G)= 闭合区域+1 = 5
- 某程序的程序图如下图所示,运用McCabe度量法对其进行度量,其环路复杂度是()。
(2010年上半年软件设计师上午试卷36题)
A.4 B.5 ==C.6== D.8
有向弧数:11
节点数:7
V(G) = 有向弧数-节点数+2 = 6
封闭区域 = 5
V(G) = 闭合区域+1 = 6
- McCabe度量法,以下程序图的复杂性度量值为()。
(2010年下半年软件设计师上午试卷32题)
==A.4== B.5 C.6 D.7
有向弧数:9
节点数:7
V(G) = 有向弧数-节点数+2 = 4
封闭区域:3
V(G)= 封闭区域+1 = 4
- 采用McCabe度量法计算下列程序图的环路复杂性为()。
(2012年上半年软件设计师上午试卷33题)
A.2 ==B.3== C.4 D.5
有向弧数:10
节点数:9
V(G) = 有向弧数-节点数+2 = 3
封闭区域:2
V(G) = 封闭区域+1 = 3
- 采用McCabe度量法计算下图的环路复杂件为()。
(2012年下半年软件设计师上午试卷31题)
A.2 B.3 ==C.4== D.5
有向弧数:12
节点数:10
V(G) = 有向弧数-节点数+2 = 4
封闭区域:3
V(G) = 封闭区间+1 = 4
- 若采用McCabe度量法计算环路复杂性,则对于下图所示的程序图,其环路复杂度为()。
(2013年上半年软件设计师上午试卷31题)
A.2 B.3 ==C.4== D.5
有向弧数:11
节点数:9
V(G) = 有向弧数-节点数+2 = 4
封闭区域:3
V(G) = 封闭区域+1 = 4
- 采用McCabe度量法计算下列程序图的环路复杂性为()。
(2014年上半年软件设计师上午试卷32题)
A.2 B.3 ==C.4== D.5
有向弧数:12
节点数:10
V(G) = 有向弧数-节点数+2 = 4
封闭区域:3
V(G) = 封闭区域+1 = 4
- 采用McCabe度量法计算该程序图的环路复杂性为()。
(2014年下半年软件设计师上午试卷35题)
==A.3== B.4 C.5 D.6
有向弧数:12
节点数:11
V(G) = 有向弧数-节点数+2 = 3
封闭区域:2
V(G) = 封闭区域+1 = 3
- 采用McCabe度量法计算下列程序图的环路复杂性为()。
(2015年上半年软件设计师上午试卷35题)
A.2 B.3 ==C.4== D.5
有向弧数:10
节点数:8
V(G) = 有向弧数-节点数+2 = 4
封闭区域:3
V(G) = 封闭区域+1 = 4
- 采用McCabe度量法算出该程序的环路复杂性为()。
(2015年下半年软件设计师上午试卷36题)
A.1 B.2 C.3 ==D.4==
画图
有向弧数:10
节点数:8
V(G) = 有向弧数-节点数+2 = 4
封闭区域:3
V(G) = 封闭区域+1 = 4
- 采用McCabe度量法计算下图所示程序的环路复杂性为()。
(2016年上半年软件设计师上午试卷36题)
A.1 B.2 ==C.3== D.4
有向弧数:11
节点数:10
V(G) = 有向弧数-节点数+2 = 3
封闭区域:2
V(G) = 封闭区域+1 = 3
- 对下图采用McCabe度量法计算该程序的环路复杂性为()。
(2016年下半年软件设计师上午试卷33题)
A.1 B.2 C.3 ==D.4==
补充有向弧和节点
有向弧数:13
节点数:11
V(G) = 有向弧-节点数+2 = 4
封闭区域:3
V(G) = 封闭区域+1 = 4
- 对下图所示的程序流程图采用 McCabe 度量法计算其环路复杂度为()。
(2017年上半年软件设计师上午试卷36题)
A.1 B.2 C.3 ==D.4==
补充有向弧和节点
有向弧数:16
节点数:14
V(G) = 有向弧数-节点数+2 = 4
封闭区域:3
V(G) = 封闭区域+1 = 4
- 对下图所示的程序流程图采用McCabe度量法计算器环路复杂度为()。
(2018年上半年软件设计师上午试卷35题)
A.2 ==B.3== C.4 D.5
补充有向弧和节点
有向弧数:13
节点数:12
V(G) = 有向弧数-节点数+2 = 3
封闭区域:2
V(G) = 封闭区域+1 = 3
- 对以下的程序伪代码(用缩进表示程序块)采用McCabe度量法计算其环路复杂度为()。
(2018年下半年软件设计师上午试卷35题)
A.2 B.3 ==C.4== D.5
画图
补充有向弧和节点
有向弧数:20
节点数:18
V(G) = 有向弧数-节点数+2 = 4
封闭区域:3
V(G) = 封闭区域+1 = 4
- 下图采用McCabe度量计算该程序图的环路复杂性为()
(2019年下半年软件设计师上午试卷29题)
A.3 ==B.4== C.5 D.6
补全节点和有向弧
有向弧数:16
节点数:14
V(G) = 有向弧数-节点数+2 = 3
封闭区域:3
V(G) = 封闭区域+1 = 4