软件工程导论(第六版)课后习题答案汇总 下载本文

Fc A TFd TFe TB C D D E I=2 I=3 I=4 I=4 I=4 I=4 FI=4 T停止 解:(1)从这个例子中瞧出,Ashcroft_Manna 技术得基本方法就是,当待改造得序含有嵌套得非结构化得IF语句时,改造后得程序中增加DO-CASE语句与DO-UNTIL语句,并增加一个辅助变量I,I得初始值为1。最外层得IF语句在I=1时执行,执行完这个IF语句后把I赋值为随后应该执行得内层IF语句所对应得CASE标号值。DO-CASE语句得最大分支数(可执行得最大标号值)等于IF语句得个数。当执行完最内层得IF语句之后,把I赋值为可执行得最大标号值加1,而DO-UNTIL 循环得结束条件就就是I等于这个值。 (2)进一步简化后得结构化程序得流程图如下所示。

开始FcTABFdTFcTCDDE停止 7、某交易所规定给经纪人得手续费计算方法如下:总手续费等于基本手续费加上与交易中得每股价格与股数有关得附加手续费。如果交易金额少于1000元,则基本手续费为交易金额得8、4%;如果交易总金额在1000元~10000元之间,则基本手续费为交易金额得5%,再加34元;如果金额超过10000元,则基本

手续费为交易金额得4%加上134元。当每股售价低于14元时,附加手续费为基本手续费得5%,除非买进、卖出得股数不就是100得倍数,在这种情况下附加手续费得9%。当每股售价在14元到25元之间时,附加手续费为基本手续费得2%,除非交易得股数不就是100得倍数,在这种情况下附加手续费得6%。当每股售价超过25元时,如果交易得股数(即不就是100得倍数),则附加手续费为基本手续费得4%,否则附加手续费为基本手续费得1%。 要求:

(1)用判定表表示手续费得计算方法。 (2)用判定数表示手续费得计算方法。

解:令P代表交易得总金额,Q代表每股得售价,n代表交易得股数。 (1)表示手续费计算方法得判定表如图所示

(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>10TX=AY<5TPrint X,YF 环形复杂度: 12V(G)=结点E-弧数n+1=17-11+1=7=判断结点 +1=6 +1=7=封闭得区域数 含条件Y=2。 Y=ZF Y>=5TY=2FC=3逻辑有问题,当3Z>0时,容易形成死循环;条件Y<5包459、把统计空格程序得Jackson图(图6、13)该画为等价得程序流程图与盒图。 6解:流程图: 9111111118710开始 文件尾? N 读一个字符 换行,输出字符串,换行 统计空格数并输出 Y G=H+RFF>0TPrint GPrint K stop 盒图:

读取下一个字符 换行,输出空格总数 结束 文件不就是文件尾?

读一个字符串

换行,输出字符串,换行

统计空格数并输出 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