流程图相关规范

  本文相关算法流程图如下图所示。
  在流程图中,判断框左边的流程线表示判断条件为真时的流程,右边的流程线表示条件为假时的流程,有时就在其左、右流程线的上方分别标注“真”、“假”或“T”、“F”或“Y”、“N”。

  另外还规定,流程线是从下往上或从右向左时,必须带箭头,除此以外,都不画箭头,流程线的走向总是从上向下或从左向右。

  算法的结构化描述
  早期的非结构化语言中都有go to语句,它允许程序从一个地方直接跳转到另一个地方去。执行这样做的好处是程序设计十分方便灵活,减少了人工复杂度,但其缺点也是十分突出的,一大堆跳转语句使得程序的流程十分复杂紊乱,难以看懂也难以验证程序的正确性,如果有错,排起错来更是十分困难。这种转来转去的流程图所表达的混乱与复杂,正是软件危机中程序人员处境的一个生动写照。而结构化程序设计,就是要把这团乱麻理清。
  经过研究,人们发现,任何复杂的算法,都可以由顺序结构、选择(分支)结构和循环结构这三种基本结构组成,因此,我们构造一个算法的时候,也仅以这三种基本结构作为“建筑单元”,遵守三种基本结构的规范,基本结构之间可以并列、可以相互包含,但不允许交叉,不允许从一个结构直接转到另一个结构的内部去。正因为整个算法都是由三种基本结构组成的,就像用模块构建的一样,所以结构清晰,易于正确性验证,易于纠错,这种方法,就是结构化方法。遵循这种方法的程序设计,就是结构化程序设计。
    相应地,只要规定好三种基本结构的流程图的画法,就可以画出任何算法的流程图。
  (1) 顺序结构
  顺序结构是简单的线性结构,各框按顺序执行。其流程图的基本形态如图1 - 4所示,语句的执行顺序为:A→B→C。
  (2) 选择(分支)结构
  这种结构是对某个给定条件进行判断,条件为真或假时分别执行不同的框的内容。其基本形状有两种,如图1-5 a)、b)所示。图1-5 a)的执行序列为:当条件为真时执行A,否则执行B;图1 - 5 b)的执行序列为:当条件为真时执行A,否则什么也不做。

  (3) 循环结构
  循环结构有两种基本形态: while型循环和do - while型循环。
  a. while 型循环
  如图1 - 6所示。其执行序列为:当条件为真时,反复执行A,一旦条件为假,跳出循环,执行循环紧后的语句。
  b. do-while型循环
  如图1 - 7所示。

  执行序列为:首先执行A,再判断条件,条件为真时,一直循环执行A,一旦条件为假,结束循环,执行循环紧后的下一条语句。
  在图1 - 6、图1 - 7中,A被称为循环体,条件被称为循环控制条件。要注意的是:
  1) 在循环体中,必然对条件要判断的值进行修改,使得经过有限次循环后,循环一定能结束,如图1 - 3中的i = i - 1。
  2) 当型循环中循环体可能一次都不执行,而直到型循环则至少执行一次循环体。
  3) 直到型循环可以很方便地转化为当型循环,而当型循环不一定能转化为直到型循环。例如,图1 - 7可以转化为图1 - 8。

  N-S图描述算法
  N-S图是另一种算法表示法,是由美国人I . Nassi和B.Shneiderman共同提出的,其根据是:既然任何算法都是由前面介绍的三种结构组成,所以各基本结构之间的流程线就是多余的,因此,N-S图也是算法的一种结构化描述方法。N-S图中,一个算法就是一个大矩形框,框内又包含若干基本的框,三种基本结构的N - S图描述如下所示:
  1. 顺序结构
  如图1 - 9所示,执行顺序先A后B。
  2. 选择结构
  对应于图1 - 5的N - S图为图1 - 1 0。图1-10 a)条件为真时执行A,条件为假时执行B。图1-10 b 条件为真时执行A,为假时什么都不做。

  3. 循环结构
  1) while型循环的N - S图如图1 - 11所示,条件为真时一直循环执行循环体A,直到条件为假时才跳出循环。
  2) do-while型循环的N - S图如图1 - 1 2,一直循环执行循环体A,直到条件为假时才跳出循环。
  例1 - 1的N - S图如图1 - 1 3,例1 - 2的N - S图如图1 - 1 4。应该说,N - S图比流程图更直观易懂,而且相对简练一些。

  用PAD图描述算法   
  PAD (Problem Analysis Diagram),是近年来在软件开发中被广泛使用的一种算法的图形表示法,与前述的流程图、N - S图相比,流程图、N - S图都是自上而下的顺序描述,而PAD图除了自上而下以外,还有自左向右的展开,所以,如果说流程图、N - S图是一维的算法描述的话,则PAD图就是二维的,它能展现算法的层次结构,更直观易懂。下面是PAD图的几种基本形态:
  1. 顺序结构:
  如图1 - 1 5所示。
  2. 选择结构
  (1) 单分支选择,条件为真执行A,如图1-16 a)。
  (2) 两分支选择,如图1-16 b),条件为真执行A,为假执行B。
  (3) 多分支选择,如图1-16 c),当I = I1时执行A,I= I2时执行B,I = I3时执行C,I = I4时执行D。

  3. 循环结构
  如图1 - 1 7所示。图1-17 a)为while型循环,图1-17 b)为do - while型循环。

  本章例1 . 1的PA D图如图1 - 1 8,例1 - 2的PA D图如图1 - 1 9

时间: 2024-11-02 00:38:01

流程图相关规范的相关文章

项目开发相关规范

目录规范 目录规范--在开发中整体文件夹组织结构. 1.Requirement--需求文档文件夹 2.Design--设计文档文件夹 3.Test--集成测试,系统测试,测试报告,测试清单文件夹 4.Deployment--发布部署的文件夹 5.Study--预研,学习资料的文件夹 6.Src--源码文件夹 7.Help--帮助文档文件夹 基本命名规范 1.变量使用驼峰法的规则命名,要加入前缀m,如:mUserNum; 2.常量使用全大写字母标识,单词间用下划线隔开,如:USER_NAME: 3

Web Service相关规范

Web Service概述 Web Service是一个平台独立的.低耦合的.自包含的.基于可编程的Web应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布式的互操作的应用程序. 在Web Service的体系架构中有三个角色:服务提供者(Service Provider),也叫服务生产者:服务请求者(Service Requester),也叫服务消费者:服务注册中心(Service Register),也叫服务代理,服务提供

DB2相关规范-日志<持续更新>

2015/5/26 星期二 上午 8:40:23 1. 整体的规范 1,1 关键字大写 , {} 整体快 [] 可选项 1.2 注意操作符的优先级 1.3 注意链接字符 1.4 删除重复行 关键字 distinct 显示 1.5 使用 dis [ribe] 表示表结构 2. 练习下 3. 字符跟日期要包含在单引号里面 3.1 字符大小敏感 日期格式敏感 3.2 between and 在俩个值之间 3.3 in(set) 可以俩列值 等于值列表中的一个 -- 可以练习下看看 -- 3.4 已安装

02.模块化相关规范

1.模块化概述 传统开发模式的主要问题 命名冲突:指的是多个js文件之间如果存在重名的变量,则会发生变量覆盖问题: 文件依赖:指的是js文件之间无法实现相互的引用 通过模块化解决上述问题 模块化就是把单独的一个功能封装到一个模块(文件)中,模块之间相互隔离,但是可以通过特定的接口公开内部成 员,也可以依赖别的模块 模块化开发的好处:方便代码的重用,从而提升开发效率,并且方便后期的维护 2.浏览器端模块化规范(已过时,不推荐使用,推荐使用ES6模块化规范) AMD Require.js(http:

时间格式化专题及相关规范

1.多种日期时间格式 以下的日历表大家应该最熟悉不过了,我们经常在网络上查询日期,大多是如下格式显示的. 其中有两种日期格式 阳历:2020-1-17 10:48 农历:二零一九年腊月二十三 虽然阳历接近于国际化的格式,农历则是我们本土化的(localization,一些编程语言里包命名的时候经常携程I10n,为了方便书写)的习惯. 外国人需要思维转换一下才能看懂这个日期. 触类旁通:还有一些日期,受宗教及本土文化影响,偏本土化的,大家看起来比较费力,这在沟通上也不方便,例如泰历,日本历法,台湾

考虑好了哦 没那个效果好相关规范和小孩房管局

http://www.wbiao.cn/apple-watches/ask/answer-573552.html http://www.wbiao.cn/apple-watches/ask/answer-573594.html http://www.wbiao.cn/apple-watches/ask/answer-573647.html http://www.wbiao.cn/apple-watches/ask/answer-573693.html http://www.wbiao.cn/ap

关于Objective-C格式化处理相关规范

%@ 对象 %d, %i 整数 %u,%z 无符整形 %f 浮点/双字 %x, %X 十六进制整数 %o 八进制整数 %zu size_t %p 指针 %e 浮点/双字 (科学计算) %g 浮点/双字 %s C字符串 %.*s Pascal字符串 %c 字符 %C unichar %lld 64位长整数(long long) %llu 无符64位长整数 %Lf 64位双字 %hhd BOOL布尔类型

华为C语言编程规范

DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd.版权所有 侵权必究All rights reserved密级:confidentiality levelDKBA 2826-2011.52011-06-02 华为机密,未经许可不得扩散 Huawei Confidential 第2页,共61页Page 2 , Total61修订声明Revision

PSR规范

目前包括以下几个规范: PSR-0(弃用) PSR-1 PSR-2 PSR-3 PSR-4 1.PSR-0 自动加载规范,此规范已被启用-本规范已于2014年10月21日被标记为弃用,目前新的替代规范为[PSR-4] 本文是为自动加载器实现通用自动加载所需要遵循的编码规范 一个标准的命名空间与类名称的定义必须符合以下结构:\<Vendor Name><Namespace>*(ClassName) 其中Vendor Name 为每个命名空间都必须要有的一个顶级命名空间名 需要的话,每