软件工程导论第六版张海藩牟永敏课后习题答案

发布时间 : 星期六 文章软件工程导论第六版张海藩牟永敏课后习题答案更新完毕开始阅读

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 解:流程图: 环形复杂度:

V(G)=结点E-弧数n+1=17-11+1=7=判断结点 +1=6 +1=7=封闭的区域数

逻辑有问题,当Z>0时,容易形成死循环;条件Y<5包含条件Y=2。 9、把统计空格程序的Jackson图(图)该画为等价的程序流程图和盒图。 解:流程图:

N 读一个字符 换行,输出字符串,换行 统计空格数并输出 读取下一个字符 换行,输出空格总数 开始 文件尾? Y 盒图:

结束 文件不是文件尾? 读一个字符串 10、人机对话由操作员信息和系统信息交替组成。假设一段对话总是由操换行,输出字符串,换行 作员信息开始以系统信息结束,用Jackson图描绘这样的人机对话过程。 统计空格数并输出 取下一个字符串 换行,输出空格数 系统文件 操作员记录* 专业班级 新文件 学号 姓名 分数 解: 操作员文件 学号 操作员记录* 姓名 取操作员文件记录 学号 学号 姓名 操作员记录* 专业班级 分数 产生新文件 取系统记录 学号 姓名 专学号 业 班级 产生新纪录 姓名 专业 班级 分数 姓名 专业 班第七章 第一题 级 1、下面给出的伪码中有一个错误。请仔细阅读这段伪码,说明该伪码的语法特点,找出并改正伪码中的错误。字频统计程序的伪码如下:

INITIALIZE the Program READ the first text record

DO WHILE there are more words in the text record

DO WHILE there are more words in the text record EXTRACT the next text word

SEARCH the word-table for the extracted word IF the extracted word is found INCREMENT the word’s occurrence count ELSE

INSERT the extracted word into the table END IF

INCREMENT the words-processed count END DO at the end of the text record READ the next text record

END DO when all text records have heen read PRINT the table and summary information TERMINATE the program

答:INSERT the extracted word into the table在这个后面,有没有给这个word的occurrence/count赋值为1

第二题

2、研究下面给出的伪码程序,要求: (1) 画出它的程序流程图。

(2) 它是结构化的还是非结构化的说明理由。 (3) 若是非结构化的,则

(a) 把它改造成仅用3种控制结构的结构化程序; (b) 写出这个结构化设计的伪码; (c) 用盒图表示这个结构化程序。 (4) 找出并改正程序逻辑中的错误。

COMMENT:PROGRAM SEARCHES FOR FIRST N REFERENCES TO A TOPIC IN AN INFORMATION RETRIEVAL SYSTEM WITH T TOTAL ENTRIES INPUT N

INPUT KEYWORD(S)FOR TOPIC I=O MATCH=0 DO WHILE I≤T I=I+1

IF WORD=KEYWORD THEN MATCH=MATCH+1 STORE IN BUFFER END

IF MATCH=N THEN GOTO OUTPUT END END IF N=0 THEN PRINT ″NO MATCH″

OUTPUT:ELSE CALL SUBROUTINE TO PRINT BUFFER INFORMATION END 第三题

3、在第2题的设计中若输入的N值或KEYWORD不合理,会发生问题。 (1) 给出这些变量的不合理值的例子。 (2) 将这些不合理值输入程序会有什么后果

(3) 怎样在程序中加入防错措施,以防止出现这些问题 (1)答:N=1,KEYWOED=#。 (2)答:无法打印出任何信息。 (3)答:加入循环 第四题

4、(1)什么是模块测试和集成测试?它们各有什么特点?

答:模块测试是对每个单独的模块,分别用黑盒和白盒测试技术,测试它的功能是否正确,

检查模块控制结构中的特定路径并发现最大数量的错误。

其特点是:主要应用白盒测试的技术,对多个模块的测试可以并发的进行。

集成测试是把模块装配在一起形成完整的软件包,在装配的同时进行测试。

特点是:可能发生接口问题。

(2)假设有一个由1000行FORTRAN语句构成的程序,估计在对它进行测试期间将发现多少个错误?为什么?

答:月25至100个错误,美国的一些统计数字告诉我们通常这个比值在~之间,也就是说,测试之前每1000条指令中大约有5~20个错误。假设测试之前

联系合同范文客服:xxxxx#qq.com(#替换为@)