软件工程——程序流程图详解_软件流程图-程序员宅基地

技术标签: 软件工程  流程图  

软件工程——程序流程图详解

程序流程图

程序流程图也称为程序框图,是软件开发者最熟悉的算法表达工具。

程序流程图的基本控制结构

  1. 顺序型:几个连续的加工步骤依次排列构成。
  2. 选择型:由某个逻辑判断式的取值决定选择两个加工中的一个。
  3. 先判定(while)型循环:在循环控制条件成立时,重复执行特定的加工。
  4. 后判定(until)型循环:重复执行某些特定的加工,直至控制条件成立。
  5. 多情况(case)型选择:列举多种加工情况,根据控制变量的取值,选择执行其一。
    在这里插入图片描述

程序流程图实例

在这里插入图片描述

程序流程图的标准符号(国家标准)

在这里插入图片描述

循环的标准符号

在这里插入图片描述

注解符的使用

在这里插入图片描述

多选择判断

在这里插入图片描述

N-S图

Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图 (box-diagram),也叫做N-S图。

在N-S图中,为了表示5种基本控制结构,规定了5种图形构件。

N-S图的基本控制结构

在这里插入图片描述

N-S图的实例

在这里插入图片描述

N-S图的特点

  1. 图中每个矩形框(除CASE构造中表示条件取值的矩形框外)都是明确定义了的功能域(即一个特定控制结构的作用域),以图形表示,清晰可见。
  2. 它的控制转移不能任意规定,必须遵守结构化程序设计的要求。
  3. 很容易确定局部数据和(或)全局数据的作用域。
  4. 很容易表现嵌套关系,也可以表示模块的层次结构。

N-S图的扩展表示

在这里插入图片描述

PAD图

PAD(problem analysis diagram)是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。

PAD也设置了5种基本控制结构的图式,并允许递归使用。

PAD的扩充控制结构

在这里插入图片描述

PAD的优点

  1. 使用PAD符号所设计出来的程序必然是结构化程序。
  2. PAD图描绘程序结构清晰,图中竖线的总条数就是程序的层次数。
  3. 用PAD图表现程序逻辑易读、易懂、易记。
  4. 容易将PAD图自动转换为高级语言源程序。
  5. PAD图既可以表示程序逻辑,也可用于描绘数据结构。
  6. PAD图的符号支持自顶向下、逐步求精方法的使用。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_58699417/article/details/126369200

智能推荐

Hutool 4.5.2 发布,点滴积累,感动人心-程序员宅基地

文章浏览阅读135次。开发四年只会写业务代码,分布式高并发都不会还做程序员? Hutool是一个 Java 工具包,也只是一个工具包..._hutool 异步发送邮件

thrift-程序员宅基地

文章浏览阅读33次。环境准备:1.下载window版本的thrift编译器2.下载idea的thirft插件3.设置thrift编译工具为:步骤1下载的编译器4.编写thrift文件namespace java org.chenhao.test.thrift service Hello{ void helloVoid() }5.编译改文件,生...

ssm整合shiro详解_shiro ssm-程序员宅基地

文章浏览阅读2.8k次,点赞46次,收藏7次。这里有详细的ssm整合shiro步骤,需要先搭建ssm框架,教程在https://blog.csdn.net/qq_41150890/article/details/108419455整合shiro:1.在pom.xml中引入依赖<!-- shiro --> <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-core --> <dependency> <_shiro ssm

Java程序系统监控问题实现及问题解决_com.sun.jna.structure.getfieldorder()ljava/util/li-程序员宅基地

文章浏览阅读2.1k次,点赞2次,收藏2次。Java程序系统监控存在问题 NoClassDefFoundError: com/sun/jna/platform/win32/VersionHelpers问题和java.lang.AbstractMethodError: com.sun.jna.Structure.getFieldOrder()Ljava/util/List问题解决方案_com.sun.jna.structure.getfieldorder()ljava/util/list;

Centos/Linux 下升级GCC G++-程序员宅基地

文章浏览阅读9.6k次,点赞4次,收藏9次。Centos下编译器的升级机动态库的替换

html5控制plc,技术领先|环境因素对WAGO可编程逻辑控制器PLC控制器的影响-程序员宅基地

文章浏览阅读174次。可编程逻辑控制器于二十世纪六十年代初问世以来,在计算机、工业等方面,PLC控制器受到了极大的欢迎。更多的技术厂家都在关注着PLC控制器的现状和发展。想要在节约能源的前提下进一步发展可编程逻辑控制器显得尤为重要。在这些技术厂家中,德国的万可WAGO同样对工业技术改革进行了深度的研究,更是为我们带来了全新的改良产品—万可WAGO可编程逻辑控制器PLC控制器。节能新选择—万可WAGO可编程逻辑控制器大幅..._html5可以plc开发吗

随便推点

Java JDK安装小谈_jdk7u10windows-程序员宅基地

文章浏览阅读528次。我用的是当前最新版jdk-7u10-windows-i586。安装时有两个需要选择的安装路径,一个是JDK一个是JRE。两个最好安装在同一文件夹下。jre7即为jre安装文件包。接着便按步骤来,没什么难得。最重要的是设置环境变量,网上的各种教程有些混乱,而且大多没讲清楚,这里简单说一下。配置环境变量只需要配置两个参数:path和classpath。网上有的教程配置了JAVA_jdk7u10windows

ArcGIS Pro安装和深度学习入门及入门者的一些注意事项-程序员宅基地

文章浏览阅读1.8w次,点赞44次,收藏251次。ArcGIS Pro是ArcGIS产品中基于微软.NET Framework开发的一款ArcGIS桌面端的一款产品,采用64位架构,主要用于密集型计算。ArcGIS Pro并不是ArcMap以及ArcMap子套件的替代品,而是两个方向的产品。对于普通人而言,ArcGIS主要用于三维处理、深度学习、大规模数据加载以及其它的一些热点GIS问题处理方面。说实话,个人感觉ArcGIS Pro相比于传统ArcMap套件,在健壮性和稳定性方面还差得远。个人感觉虽然ArcGIS Pro很强大,但是用起来并不省心。_arcgis pro

JDK从1.8升级到9.0.1后sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用_jdk1.8.0_121 不包含 base64-程序员宅基地

文章浏览阅读2.1k次。问题:因为在学习servlet过程中需要解决文件下载的中文乱码问题,故引入了工具类sun.misc.BASE64Encoder,但是我用的是jdk9.0,已经没有这个jar包了,故一直无法借此解决中文乱码问题~解决:从JDK 1.8开始,就提供了java.util.Base64.Decoder和java.util.Base64.Encoder的JDK公共API,可代替sun.misc...._jdk1.8.0_121 不包含 base64

72个炫酷的CSS技巧-程序员宅基地

文章浏览阅读881次。前言CSS是一门很特殊的语言,不像一般的编程语言那样需要抽象的思维和严密的逻辑,它真正需要的是想象力——将你脑中所想的意象用代码来表现出来。那么意象又是如何产生的呢?最常用的方法就是探索和观察。举个例子,笔者平时热爱看番,每看到有意思的场景画面总会下意识地记录下来,这对动画创作会非常有帮助;同样地,一旦笔者发现一个制作精良的网站,也会将网站上那些吸引人的元素仔细审查一遍,灵感也自然就有了。演示网址1:codepen演示网址2:shiroi源码地址:github本文的技巧将不会止步于72个_炫酷的css

抽象类和接口(Java程序设计)_现在有一个接口,接口里面有10个抽象方法, 我每次创建一个类实现接口, 则必须要重-程序员宅基地

文章浏览阅读737次。文章目录1.抽象类2.final修饰符3.接口4.接口编程案例学习目标_现在有一个接口,接口里面有10个抽象方法, 我每次创建一个类实现接口, 则必须要重

阿里公开600页技术图(附下载链接),程序员看完少走10年弯路! | 干货-程序员宅基地

文章浏览阅读2.7k次。导读:如果你不甘心一直在写增删改查,希望看到更广的技术世界,阿里技术团队重磅发布的《阿里技术参考图册》,总计600余页,现已开放下载,将为你呈现阿里技术全景,走进各个技术..._ali的技术在哪里看

推荐文章

热门文章

相关标签