图4-6 判定表
(2)判定树如图4-7所示:
图4-7 判定树
8.画出下列伪码程序的流图,计算它的环形复杂度。你觉得这个程序的逻辑有什么问题吗? C EXAMPLE
LOOP:DO WHILE X>0 A=B+1 IF A>10 THEN X=A ELSE Y=Z END IF IF Y<5
THEN PRINT X,Y
ELSE IF Y=2
THEN GOTO LOOP ELSE C=3 END IF END IF G=H+R END DO
IF F>0
THEN PRINT G ELSE PRINT K
END IF STOP 答:(1)该伪码的流程图如图4-8所示:
开始NZ>0?YA=B+1NA>10?Y=ZX=AYNY<5?YY=2?NC=3YPrint X,YG<=H+RNF>0?Print KYPrint G结束
图4-8 程序流程图
根据该程序流程图,可得该程序流图如图4-9所示:
1234568791011121314
图4-9 程序流图
环形复杂度V(G)=流图中的区域数
=流图中判定结点数目+1=5+1=6
(2)该算法问题在于控制最外层循环的变量Z不仅没有经过初始化,并且在该循环内部没有任何有可能该变Z的语句。因此,该段代码中的WHILE循环部分代码要么不会执行,要么可能出现死循环。
作业5参考答案
5.某图书馆由一个使用CRT终端的信息检索系统,该系统有下列4个基本检索命令: 要求:
(1)设计测试数据以全面测试系统的正常操作。 (2)设计测试数据以测试系统的非正常操作。 答:根据系统说明,可以划分为如下等价类: 有效的输入等价类有
A.b(关键字)----s(屏幕上的行号)----d(索引号) B.f(作者姓名)----d(索引号)
相关推荐: