【软件工程】第五章课后习题答案

作者名:不详 来源:网友提供 06年6月8日

 

第五章

1.详细设计的基本任务是什么?有哪几种描述方法?
详细设计的基本任务:
(1)为每个模块进行详细的算法设计。
(2)为每个模块内的数据结构进行设计。
(3)对数据库进行设计,即确定数据库的物理结构。
(4)其他设计:
a.代码设计
b.输入/输出格式设计。
c.人机对话设计。
(5)编写详细设计说明书。
(6)评审。
描述方法(三种):
a.程序流程图
b.PAD图
C.过程设计语言
2.结构化程序设计基本要求要点是什么?
a.采用自顶向下、逐步求精的程序设计方法
b.使用三种基本程序控制结构构造程序
1).用顺序方式对过程分解,确定各部分的执行顺序。
2).用选择方式对过程分解,确定某个部分的执行条件。
3).用循环方式对过程分解,确定某个部分重复的开始和结束的条件。
c.主程序员组的组织形式。

3.简述Jackson 方法的设计步骤。
Jsp 方法一般通过以下5个步骤来完成设计:

a.分析并确定输入/出数据的逻辑结构,并用Jackson 结构图表示这些数据结构。
b.找出输入数据结构和输出数据结构中有对应关系的数据单元。
c.按一定的规则由输入、输出的数据结构导出程序结构。
d.列出基本操作与条件,并把它们分配到程序结构图的适当位置。
e.用伪码写出程序。
4.请使用流程图、PAD图各PDL语言描述下列程序的算法。
(1)在数据A(1)-A(10)中求最大数和次大数。
(2)输入三个正整数作为边长、判断该三条边构成的三角形是等边、等腰或一般三角形。
答:
(1)
1)流程图:
2)PAD图
3)PDL语言
定义 n1=n2=0
输入A(1).......A(10)
n1=n2=A(1)
while i>10
if A(i)>=n1
n2=n1
n1=A(i)
end while

5.用PAD图描述下面问题的控制结构。
有一个表A(1)、A(2)、........A(n),按递增顺序排列。给定一个Keyw值,在表中用折半查找。若找到
将表位置i送入x,否则将零送到x,同时将Key值插入表中。
算法: 1)置初值H=1(表头),T=N(表尾)。
2)置i=[(H+T)/2](取整).
3)若Key=A(i),则找到,i送到x;若Key>A(i),则Key在表的后半部分,i+1送入H;
若Key<A(i),则能Key在表的前半部分,i-1送入T,重复第三世界国家步查找直到H>T为止。
4)查不到时,将A(i),....,A(N)移到A(i+1),.....A(N+1),Key 值送入A(i)中。

6.一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空格字符的个数及文件
中空格字符的总个数。要求输出数据格式是每复制一行这符串后,另起一行打印出这个字符中的空格数,
最后打印出文件空格的总个数,用Jackson方法设计该程序结构。