If statement 圈复杂度-Cobol

If statement 圈复杂度-Cobol,if-statement,cobol,cyclomatic-complexity,eval-when,If Statement,Cobol,Cyclomatic Complexity,Eval When,我必须计算一个Cobol程序的圈复杂度,该程序只包含一个类似以下的求值: EVALUATE x WHEN x<0 ... WHEN x=0 ... WHEN x between 1 and 10 ... WHEN OTHER ...` END EVALUATE.` 计算x 当x时,可以在以下位置找到圈复杂度的算法 你必须画流程图,计算边和路径。。。有了这些,一些人认为你应该能够做这个练习 有两个有用的提示可以帮助您 1) 在结构化程序(无gotos)中,CC等于条

我必须计算一个Cobol程序的圈复杂度,该程序只包含一个类似以下的求值:

EVALUATE x
   WHEN x<0 ...
   WHEN x=0 ...
   WHEN x between 1 and 10 ...
   WHEN OTHER ...`
END EVALUATE.`
计算x

当x时,可以在以下位置找到圈复杂度的算法

你必须画流程图,计算边和路径。。。有了这些,一些人认为你应该能够做这个练习

有两个有用的提示可以帮助您

1) 在结构化程序(无gotos)中,CC等于条件数加1。你的示例程序在我看来是结构化的


2) 如果仔细考虑,您的EVALUTE语句和If语句的集合似乎是等效的代码。因此,您应该期望计算出的CC值是相同的。

您选择的标记表示该算法“是基于通过源代码的不同可能路径的数量计算的”。。。
IF x<0 ...
ELSE IF x=0 ...
ELSE ...