首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >详细设计的工具——PAD图[通俗易懂]

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

作者头像
全栈程序员站长
发布2022-09-22 21:12:18
发布2022-09-22 21:12:18
17.2K10
代码可运行
举报
运行总次数:0
代码可运行

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

一、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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、PAD图的概念
  • 二、PAD图的基本符号
  • 三、PAD图的优点
  • 四、PAD图的应用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档