详细设计的工具——PAD图[通俗易懂]

详细设计的工具——PAD图[通俗易懂]

大家好,又见面了,我是你们的朋友全栈君。

一、PAD图的概念PAD图(Problem Analysis Diagram),由日本日立公司1973年发明以后,已得到一定程度的推广。它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。它既克服了传统的流程图不能清晰表现程序结构的缺点,又不像N-S图那样受到把全部程序约束在一个方框内的限制,这就是其优势所在。

二、PAD图的基本符号(a) 顺序;(b) 选择;(c) CASE多分支;(d) WHILE型循环; (e) UNTIL型循环;(f) 语句标号;(g) 定义 图5.6 盒图(N-S图)

三、PAD图的优点 PAD图的优点表现在如下六个方面。

(1)使用PAD符号所设计出来的程序必然是结构化程序。

(2)PAD图所描绘的程序结构十分清晰。图5.6中最左面的竖线是程序的主线,即第一层结构。(3)随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图中竖线的总条数就是程序的层次数。

(4)用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二维树形结构的图形,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点。容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成,从而可省去人工编码的工作,有利于提高软件可靠性和软件生产率。

(5)既可用于表示程序逻辑,也可用于描绘数据结构。

(6)PAD图的符号支持自顶向下、逐步求精方法的使用。开始时设计者可以定义一个抽象的程序,随着设计工作的深入而使用def符号逐步增加细节,直至完成详细设计。如图5.7所示是一个使用def符号逐步细化的示例。

(a) 初始的PAD图;(b) 使用def符号细化处理框P2 图5.7 使用def符号逐步细化

四、PAD图的应用 1.请根据下列伪码画出对应的PAD图。

代码语言:javascript代码运行次数:0运行复制GET(a[1],a[2],...a[10]);

max=a[1];

max2=a[2];

FOR i=2 TO 10

IF a[i]>max

max2=max;

max=a[i];

ELSE

IF a[i]>max2

max2=a[i]

ENDIF

ENDIF

ENDFOR

PUT(max,max2)

END 2.请根据下列伪码画出对应的PAD图。

代码语言:javascript代码运行次数:0运行复制定义变量:i=7,S=0

DO WHILE i<=1000

IF(i被7整除)

THEN

S=S+i

输出:i

ENDIF

i=i+1

ENDDO

输出:S 3.将下列N-S图转换为PAD图

4.将下列N-S图转换为PAD图

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170266.html原文链接:https://javaforall.cn