如何绘制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

相关文章

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

springboot整合mqtt的步骤示例详解

《springboot整合mqtt的步骤示例详解》MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,适用于物联网设备之间的通信,本文介绍Sprin... 目录1、引入依赖包2、yml配置3、创建配置4、自定义注解6、使用示例使用场景:mqtt可用于消息发