第五章 详细设计
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方法设计该程序结构。
附加题:1、假设对顾客的订货单按如下原则处理:
将顾客的信用度分三个档次:
  欠款时间不超过30天;欠款时间超过30天但不超过100天; 欠款时间超过100天。
对于上述三种情况,分别根据库存情况来决定对顾客订货的态度。
情况之一(欠款时间≤30),如果需求数≤库存量,则立即发货,如果需求数>库存量,则只发现有库存,不足部分待进货后补发。
情况之二(30<欠款时间≤100),如果需求数≤库存量,则要求先付款再发货,如果需求数>库存量,则不发货。
情况之三(欠款时间>100),则通知先付欠款,再考虑是否发货。
试用判定树的形式予以描述(设欠款时间D,需求数N,库存量Q)
答:
2、Jackson图表示下图所示的二维表格:
答:
3、有一过程,其流程如下图所示。
其中b1 b2 b3为判定的逻辑条件,s1 s2为加工处理。试用判定表给予描述。
答:
4、1、有一过程如下图所示的流程,试用判定表予以描述。
1
2
3
数据库设计说明书评审4
条件
b1
F
T
T
T
b2
F
F
T
b3
F
T
结果
s1
s2