全国计算机技术与软件专业技术资格(水平)、考试库
china_nejcer
2016年下半年下午 软件测评师 考试试题-
案例分析-答案与解析
试题一(共15分)
【说明】
阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。 【C程序】
int count(int x,int z){
inty=0; while(x>0){ //l
if(x==1) //2
y=7; //3 else{ //4
y=x+z+4;
if(y=7||y=21) //5,6
x=1; //7
} x--; //8 }
return y; //9 }
【问题1】(3分)
请针对上述C程序给出满足100ü(判定覆盖)所需的逻辑条件。 x>0;x<=0 x==1;x!=1
y==7或者y==21;y!=7且y!=21 【参考答案】
解析:本题中的判定有x>0;x==1;y=7||y=21;三个判定点,所以要符合100%判定覆盖的要求,就需要使得每个判定结果的真假值都出现1次,即:x>0;x<=0;x==1;x!=1;y==7或者y==21;y!=7且y!=21
【问题2】(7分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
2016年下半年下午-软件测评师-下午试题及答案与解析(案例分析)、 1 / 11
全国计算机技术与软件专业技术资格(水平)、考试库
china_nejcer
V(g)=5 【参考答案】
解析:控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:
控制流程图的环路复杂性 V(G)等于: (1)控制流程图中的区域个数。 (2)边数-结点数+2。
2016年下半年下午-软件测评师-下午试题及答案与解析(案例分析)、 2 / 11
全国计算机技术与软件专业技术资格(水平)、考试库
china_nejcer
(3)判定数+1。 V(g)=5
【问题3】(5分)
请给出问题2中控制流图的线性无关路径。 【参考答案】
线性无关路径是指包括一组以前没有处理的语句或条件的一条路径。从控制流图来看,一条线性无关路径是至少包含有一条在其他线性无关路径中从未有过的边的路径: 1:1,9
2:1,2,3,8,1,9 3:1,2,4,5,7,8,1,9 4:1,2,4,5,6,7,8,1,9 5:1,2,4,5,6,8,1,9
试题二
阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。 【说明】
某航空公司的会员卡分为普卡、银卡、金卡和白金卡4个级别,会员每次搭乘该航空公司航班均可能获得积分,积分规则如表2-1所示。此外,银卡及以上级别会员有额外积分奖励,奖励规则如表2-2所示。
2016年下半年下午-软件测评师-下午试题及答案与解析(案例分析)、 3 / 11