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

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


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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mybatiscodehelperpro在线激活码(JetBrains全家桶)

    (mybatiscodehelperpro在线激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlFZP9ED60OK-eyJsaWNlbnNlSWQi…

    2022年4月1日
  • Linux下export命令和source命令与环境变量设置「建议收藏」

    Linux下export命令和source命令与环境变量设置「建议收藏」Linux下export命令和source命令与环境变量设置环境变量广泛用于程序运行环境的设置。从Linuxshell的角度来看,环境变量无非就是shell脚本的变量而已。从这个角度理解环境变量,就能理解设置环境变量的那些命令究竟在做什么。说明:笔者的系统为debian,shell为bash,以下例子均在笔者的Linux环境下测试,不保证其他环境能够通过。export命令和source命令…

    2022年9月6日
  • eve模拟器上虚拟服务器,没有真机怎么做实验?EVE模拟器了解一下

    eve模拟器上虚拟服务器,没有真机怎么做实验?EVE模拟器了解一下网络很重要的一个环节就是大量的实践操作,通过教程学习知识点,再用实践来验证这些知识学会了没有,如此反复。这样的问题也随之而来,初学网络连概念都刚刚建立,怎么才能接触到网络设备:交换机、路由器、防火墙等等?既然避免不了实验测试,离不开实验环境,这就给大家推荐一款最好用的模拟器——eve模拟器。EVE模拟器已经不仅可以模拟网络设备,也可以运行一切虚拟机。理论上,只要能将虚拟机的虚拟磁盘格式转换为qco…

    2022年6月11日
  • 正确处理Ordered Broadcasts「建议收藏」

    正确处理Ordered Broadcasts「建议收藏」
    原文:http://aoandroid.com/node/1414
     
     
    最近,Android官方开发员博客(DevelopersBlog)登载了Google巴西分布的一名工程师(
    BeloHorizonte )的文章,介绍了正确使用Broadcast的概念和实例分析。该文章在概念上纠正了很多开发人员对Broadcast处理中存在的严重问题,并指出这反映了开发文档存在缺陷,没有解释清楚。
    Broadcast是Android的一个很有用的概念

    2022年6月29日
  • Vue + Spring Boot 项目实战(一):项目简介

    Vue + Spring Boot 项目实战(一):项目简介白卷是一款使用Vue+SpringBoot开发的前后端分离项目,主要帮助web开发初学者通过实践方式打通各个环节的知识。

    2022年4月27日
  • 什么是Java虚拟机_Java SDK

    什么是Java虚拟机_Java SDKJAVASDK就是JDK,JDK是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GN…

    2022年10月8日

发表回复

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

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