如何绘制PAD图和N-S图(详细步骤)

2024-01-10 06:20
文章标签 步骤 详细 绘制 pad

本文主要是介绍如何绘制PAD图和N-S图(详细步骤),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在软件详细设计阶段有四个要点:N-S图,PAD图,程序流程图,PDL语言

对于程序流程图的绘制较简单,想详细了解可以看:

程序流程图详解(六大部分) (zhihu.com)

对于PDL语言这里也不是重点,我们只需要知道以下几种结构:

1.顺序型:顺序型由几个连续的处理步骤依次排列构成。

2.选择型:选择型是指由某个逻辑判断式的取值决定选择两个处理中的一个。

3.while型:while型循环是先判定型循环在循环控制条件成立时,重复执行特定的处理。

4.until型:until型循环是后判定型循环,重复执行某些特定的处理,直到控制条件成立为止。

5.多情况选择型:多情况型选择列举多种处理情况,根据控制变量的取值,选择执行其一。

一般的题型中会给出一段PDL语言,根据PDL语言绘制PAD图和N-S图,以以下这段PDL语言为例,来看一看详细绘制步骤:

N-S图:

也叫盒图,由美国学者I.Nassi 和 B.Shneiderman提出,所以又称N-S图,可以清晰的表示程序的结构以及流程,其主要特征为“矩形框”。

对于N-S图,通过以下画法表示语言的结构:

1.首先划分代码块,该段代码有三段代码块:

2.根据代码块绘制相应模块,并且用until包裹:

3.绘制第一个模块的具体内容:

if x>0 then x1
else x2
endif;

 4.绘制第二个模块:

S1;

5.绘制第三个模块,在第三个模块中,"if" 包裹着"if",先绘制大的"if"的框架:

if y>0 then y1
        if z>0 then z1

        else z2
        endif;
        S2;
else y2;
endif;

6.填充小的"if"中的内容:

        if z>0 then z1

        else z2
        endif;

 

PAD图:

全称为Problem Analysis Diagram,即问题分析图表,利用二维树形结构表示程序的控制流,也就是将程序功能的路线图给画出来,既可以表示程序的逻辑,也可以表示程序的结构,区分它的方法是程序的最左端有一条“竖线”,表示程序的“主线”。

对于PAD图,通过以下画法表示语言的结构:

PAD图有两种画法,如果该流程不是很复杂,可以画为一张图,如果很复杂就可以画多张子图,只要代码段的功能能够完整的描述出来

1.首先通过多张子图绘制,这一代码段有3个模块构成:

2.再画A的具体内容:

3.画B的具体内容:

其中C的具体结构为:

而对应的画在一张图的效果如下:

这篇关于如何绘制PAD图和N-S图(详细步骤)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/589842

相关文章

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.

C++快速排序超详细讲解

《C++快速排序超详细讲解》快速排序是一种高效的排序算法,通过分治法将数组划分为两部分,递归排序,直到整个数组有序,通过代码解析和示例,详细解释了快速排序的工作原理和实现过程,需要的朋友可以参考下... 目录一、快速排序原理二、快速排序标准代码三、代码解析四、使用while循环的快速排序1.代码代码1.由快