《软件工程导论第6版》–张海藩 牟永敏 课后答案及其详解 第6章 详细设计

文章目录

  • 第1题
  • 第2题
  • 第3题
  • 第4题
  • 第5题
  • 第6题
  • 第7题
  • 第8题
  • 第9题
  • 第10题

第1题

1.假设只有SEQUENCE和DO_WHILE两种控制结构,怎么利用它们完成IF_THEN_ELSE操作br> 答:转换如下:
K = 1
DO WHILE(条件.AND. K.EQ.1 )
程序块1
K=K+1
END DO
DO WHILE ((.NOT. 条件) .AND. K.EQ.1)
程序块2
K=K+1
END DO

第2题

2.假设只有SEQUENCE和IF_THEN_ELSE两种控制结构,怎么利用它们完成DO_WHILE操作br> 答:转化如下:
label: IF (条件) THEN
程序块
GOTO label
ELSE
程序块
END IF

第3题

3.画出下列伪代码程序的流程图和盒图:
START
IF p THEN
WHILE q DO
f
END DO
ELSE
BLOCK
g
n
END BLOCK
END IF
STOP
答:流程图:

《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第6章 详细设计

第4题

4.图6.18给出的程序流程图代表一个非结构化的程序,问:
(1)为什么说它是非结构化的br> (2)设计一个等价的结构化程序。
(3)在(2)题的设计中使用附加的标识变量flag 了吗若没用,在设计一个使用flag 的程序; 若用了,在设计一个不用flag 的程序。

《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第6章 详细设计
《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第6章 详细设计

第5题

5.研究下面的伪码程序:

LOOP:Set I to(START+FINISH)/2

IF TABLE(I)=ITME goto FOUND

IF TABLE(I)

IF TABLE(I)>ITME Set FINSH to (I-1)

IF (FINSH-START)>1 goto LOOP

IF TABLE(START)=ITEM goto FOUND

IF TABLE(FINSH)=ITEM goto FOUND

Set FLAG to 0

Goto DONE

FOUND:Set FLAG to 1

DONE:EXIT
要求:
(1)画出程序流程图。
(2)程序是结构化的吗明理由。
(3)若此程序是非结构化,设计一个等价的结构化程序并画出流程图。
(4)此程序的功能是什么完成预定功能有什么隐含的前提条件吗br>
答:(1)该程序流程图如下:

《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第6章 详细设计
(4)此程序有二分查找的功能,它完成预定功能的隐含前提条件是现有序列为从小到大顺序排好的有序序列。

第6题

6.用Ashcroft_Manna技术可以将非结构化的程序转化为结构化程序,图6.19是一个转换的例子。
(1)能否从这个例子总结出Ashcroft_Manna技术的一些基本方法br> (2)进一步简化6.19(b)给出的结构化设计。
图6.19 用Ashcroft_Manna技术的例子
(a)非结构化设计

《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第6章 详细设计 《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第6章 详细设计

第7题

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)表示手续费计算方法的判定表如图所示

《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第6章 详细设计

第8题

8.画出下列伪码程序的流图,计算它的环形复杂度。这个程序的逻辑有什么问题吗br> C EXAMPLE
LOOP:DO WHILE Z>0
A=B+1
IF A>10
THEN X=A
ELSE Y=Z
END IF
IF Y 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

答:
流程图:

《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第6章 详细设计
逻辑有问题,当Z>0时,容易形成死循环;条件Y

第9题

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

《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第6章 详细设计

第10题

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

《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第6章 详细设计
《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第6章 详细设计

来源:香鱼嫩虾

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月8日
下一篇 2020年10月8日

相关推荐