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

详细设计的工具——PAD图[通俗易懂]目录一、PAD图的概念二、PAD图的基本符号三、PAD图的优点四、PAD图的应用一、PAD图的概念PAD图(ProblemAnalysisDiagram),由日本日立公司1973年发明以后,已得到一定程度的推广。它用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。它既克服了传统的流程图不能清晰表现程序结构的缺点,又不像N-S图那样受到把全部程序约束在一个方框内的限制,这就是其优势所在。二、PAD图的基本符号(a)顺序;(b)选择;(c)C

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

目录

一、PAD图的概念

二、PAD图的基本符号

三、PAD图的优点

四、PAD图的应用


一、PAD图的概念

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

二、PAD图的基本符号

详细设计的工具——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符号逐步细化的示例。

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

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

四、PAD图的应用

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

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

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

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

定义变量:i=7,S=0
DO WHILE i<=1000
IF(i被7整除)
THEN
S=S+i
输出:i
ENDIF
i=i+1
ENDDO
输出:S

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

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

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

详细设计的工具——PAD图[通俗易懂] 4.将下列N-S图转换为PAD图

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java.lang.NoSuchMethodException: <init>[通俗易懂]

    java.lang.NoSuchMethodException: <init>[通俗易懂]报错信息(捡重要的):java.lang.NoSuchMethodException:com.mmall.pojo.OrderItem.&lt;init&gt;(java.lang.Integer,java.lang.Integer,java.lang.Long,java.lang.Integer,java.lang.String,java.lang.String,java.m…

    2022年6月15日
    41
  • OV7725鹰眼摄像头

    OV7725鹰眼摄像头OV7725鹰眼摄像头如何使用?目前的ov7725鹰眼摄像头,基本上用的都是山外的库,所以今天我们主要根据山外的库,基于k60芯片,给大家具体的讲解。1.摄像头初始化首先是摄像头的第一步就是初始化,这个我们直接去调用就行!camera_init(imgbuff);当然小伙伴在这里需要记住,需要配置中断优先级!对于我们使用摄像头的车而言,一般优先级最高的就是摄像头,所以小伙伴要记着给它分配优先级!我这里是分了五个优先级!大家也可以根据自己的需求,进行自主分配。NVIC_SetPriorit

    2022年9月23日
    3
  • virsh console 进不去虚拟机_virsh 命令

    virsh console 进不去虚拟机_virsh 命令参考自链接http://www.2cto.com/os/201411/354288.html下的文章,感谢作者,自己整理备份,以备查用。问题描述:       先执行命令virshstartmycentos,启动虚拟机。       当执行命令virshconsolemycentos后出现如下显示:       virshconsolemycentos

    2022年8月12日
    7
  • 搭建个人网站需要的三个步骤

    记录一下自己的个人网站的搭建过程。其实网上有很多教程了,有的讲的好,很详细,有的就很笼统了,当然还有抄别人的,我这篇就纯属记录一下自己搭建的过程。搭建一个个人网站要知道以下三个步骤,做个比喻吧:域

    2021年12月26日
    88
  • telnet远程登录AAA认证

    telnet远程登录AAA认证R1<Huawei>system-view//进入全局配置模式[Huawei]sysnameR1//改名[R1]undoinfo-centerenable//关闭信息告警提示[R1]interfaceg0/0/0//进入g/0/0接口[R1-GigabitEthernet0/0/0]ipaddress192.168.100…

    2022年6月7日
    39
  • android 点餐系统「建议收藏」

    android 点餐系统「建议收藏」      最近进入一家新公司,这家公司是做手机软件开发的。现在自己是试习期,主要任务是看书。看了有一个月了实在是无聊,就想做个手机软件来玩玩。想到之前看到一篇报道,台湾有家餐饮公司用IPAD给客户自助点餐。我就想再android系统上做一下。想了也有一个多星期了,准备开始开工了。     系统主要是四个模块。顾客端,系统管理端,厨师端,数据库端。它们的主要流程如下:     其他的系统分析

    2022年6月19日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号