阅读以下说明,回答问题,将解答填入对应的解答栏内。 [说明] 计算下列源代码的McCabe环数,画出控制

13 查阅

阅读以下说明,回答问题,将解答填入对应的解答栏内。

[说明] 计算下列源代码的McCabe环数,画出控制流程图并用罗马数字标出区域。

read x,y,z;

type =“scalene”;

if (x= =y or x = = z or y= = z)type =“isosceles ”;

if (x = = y and x = = z) type =“equilateral”;

if (x>= y+ z Or y>= x+20rz>=x+ y) type= “not a triangle”;

if (x<=0 or y<= 0 or z <=0) type =“bad inputs”;

print type;

参考答案:

解析:McCabe 的环数是软件开发中继代码行之后最常使用的度量。它基于图论的环数。 McCabe 试图度量程序的复杂性。前提是该复杂性与程序的控制流相关。图论使用公式C= e-n+1 来计算环数。McCabe 稍加修改后的公式为:C=e-n+2p其中: e=边的数目 n=结点的数目 p=强连通组建的数目(通常为1)控制流程图如下:区域的数目为5,所以环数也为5。也可以用判断来数出环数。离开结点a、c、e、g的路径各有一个判断,因此,共有4个判断。环数为判断数加1,所以环数为5。也可以利用公式e-n+2来

软考中级