软件工程课后习题答案 下载本文

(2)表示手续费计算方法的判定树

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

解:流程图:

STARTFZ>0TA=B+1A>10FTX=AY=ZY<5F Y>=5TTPrint X,YY=2FC=3G=H+RFTF>0Print GPrint Kstop

环形复杂度:

1234568710911111111

V(G)=结点E-弧数n+1=17-11+1=7=判断结点 +1=6 +1=7=封闭的区域数 逻辑有问题,当Z>0时,容易形成死循环;条件Y<5包含条件Y=2。

9、把统计空格程序的Jackson图(图6.13)该画为等价的程序流程图和盒图。 解:流程图:

开始

文件尾?

N Y

读一个字符

换行,输出字符串,换行

统计空格数并输出 读取下一个字符

换行,输出空格总数

结束

盒图:

文件不是文件尾?

读一个字符串

换行,输出字符串,换行

统计空格数并输出

取下一个字符串

换行,输出空格数

10、人机对话由操作员信息和系统信息交替组成。假设一段对话总是由操作员信息开始以系统信息结束,用Jackson图描绘这样的人机对话过程。 解:

操作员文件

操作员记录*

学号 姓名

系统文件 操作员记录* 专业班级 学号 姓名 分数 新文件

操作员记录*

专业班级 姓名 分数 学号 产生新文件 产生新纪录 取操作员文件记录 取系统记录 专专姓名 学号 姓名 专学号 姓名 学号 业 业 业 班班班 级 级 级

分数 第七章