请画出下面代码的程序流程图及对应的流图,并计算环形复杂度。java
void func(int x,int y){ //画图时,不须要考虑此行 while(x>0){ //1 int sum = x+y; //2 if(sum>1){ //3 x--; //4 y--; //5 }else{ if(sum<-1){ //6 a-=2; //7 }else{ a-=4; //8 } //9 } // end of if(sum>1) //10 } // end of while x = x+y; //11 } // end of func //画图时,不须要考虑此行
程序流程图画法总结:code
环形复杂度的计算方法:blog
上述例题的断定条件是单一的,若是涉及IF a OR b
这种包含复合条件的伪码,例如:class
IF a OR b then procedure x else procedure y ENDIF