二、应用题(50分)
1. 将下面给出的伪码转换为N-S图和PAD图。
void  root(float root1,float root2)
{
i=1; j=0;
while (i<=10)
{
输入一元二次方程的系数abc
p=b*b-4*a*c;
if(p<0) 输出方程i无实数根
else if (p>0) 求出要做并输出;
if (p==0)
{
            求出重根并输出;
              j=j+1;
}
i=i+1;
}
输出重根的方程的个数j;
答:
盒图:
     
        PAD图:
2. 下面给出了用盒图描绘的一个程序的算法,请用逻辑覆盖法设计测试方案,要求做到用语句覆盖和路径覆盖。
答:
(1) 实现语句覆盖的测试方案如下:
1) 覆盖THEN部分的语句,即使得条件(A>0)AND (B>0)和条件(C>A)OR(D<B)均为真
输入:A=1,B=1,C=0,D=1
预期输出:X=2,Y=2
2) 覆盖ELSE部分的语句,即使得条件(A>0)AND (B>0)和条件(C>A)OR(D<B)均为假
输入:A=0,B=-1,C=0,D=1
预期输出:X=1,Y=1
(2) 实现路径覆盖的测试方案如下:
1) 覆盖两个条件均为假的路径
输入:A=-1,B=-2,C=-3,D=3
预期输出:X=1,Y=0
2) 覆盖第一个条件为假第二个条件为真的路径
输入:A=-1,B=-2,C=1,D=-3
预期输出:X=1,Y=4
3) 覆盖第一个条件为真第二个条件为假的路径
输入:A=1,B=1,C=0,D=2
预期输出:X=2,Y=2
4) 覆盖两个条件均为真的路径
输入:A=-1,B=-2,C=2,D=1
预期输出:X=3,Y=1
3. 某高中打算投资4万元改造现在的学生成绩管理系统,现有系统的维护费用每年为2.6万元,新系统运行后,新系统的维护费用为每年8000元,假设年利率为5%,请分析此项目中等成本方案的经济可行性(计算回收期和纯收入)。
开发成本
4.0万元
新系统的运行费用
0.8万元/年
现有系统的运行费用
2.6万元/年
每年节省的费用
2.2万元
节省
现在值(5%)
累计现在值
1
18000元
17142.86元
17142.86元
2
18000元
16363.64元
33506.5元
3
18000元
15517.24元
49023.7元
投资回收期=2+(40000-33506.5)/15517.24
2.42年
纯收入=49023.7-40000
9023.7元
答:
4. 有一个长度为24000条机器指令的程序,第一个月由甲、乙二人分别测试它。甲改正了20个错误,使程序的平均无故障时间达到了8小时。乙在测试该程序的另一个副本时改正了24个错误,其中6个错误与甲改正的相同。然后,由甲一个人继续测试这个程序。请问
(1)    刚开始测试时程序逻辑中的错误总数ET是多少?
(2)    为使平均无故障时间达到240h,如果甲不利用乙的工作成果,则他还需再改正多少个错误?
答:
(1) 刚开始测试时程序中的错误总数为:
ET
(2) 由方程
8=
解得
K=
由方程
240=
解得
EC1=78
78-20=58
即,为使平均无故障时间达到240h,如果甲不利用乙的工作成果,则他还需再改正58个错误。
画出下列伪代码的程序流程图,并计算其环形复杂度
START
INPUT (A,B,C)
IF A>5
      THEN X=10
      ELSE X=1
END IF
IF B>10
      THEN Y=20
      ELSE Y=2
END IF
IF C>15
      THEN Z=30
      ELSE Z=3
END IF
PRINT (X,Y,Z)
STOP
答:
程序流程图:
画出while语句的流程图       
程序流图:
环形复杂度=区域数=4环形复杂度=边数-结点数+2
=14-12+2=4环形复杂度=判定结点数+1=3+1=4
     

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。