2.4.3 三种基本结构和改进的流程图
2013-07-11 22:41
337 查看
传统流程图用流线指出各个框的执行顺序
当顺序表的复杂,容易混乱,当变得十分混乱时 ,被称为BS型算法,意为一碗面条(A Bowl of Spaghetti),乱无头绪。
为了提供效率和避免混乱,人们提出了三种基本结构
1966年,Bohra 和Jacopini 提出以下3种结构,用这3种结构表示一个良好算法的基本单元。
PS:引用图片 来自方弘
1 顺序结构
c语言从上到下执行,虚框内是顺序结构
执行完A执行B
2 选择结构
又被称为,选取结构和分支结构
此结果必须包含一个判断框,根据给出的条件P 判断选择A或者B。
无论P条件是否成立,一定会选择AB其中一个,不可能出现两个都不选择,和两个都成立的情况。
A与B中可以有一个是空的
3 循环结构
又称为反复结构,即反复操作执行某一部分。
一共分为两类:
当(while)循环结构
当条件符合时 ,执行其参数内操作,再次判断是否符合,如果符合,继续执行内参数,在次判断,直到不符合条件,执行下一步操作
直到(until)循环结构
执行其参数内操作判断是否符合,当条件不符合时,再次执行参数,再次判断是否符合,如果不符合,继续执行内参数,在次判断,直到符合,执行下一步操作
三种基本结构的共同特点:
(1)只有一个入口;
(2)只有一个出口;(请注意:一个菱形判断框有两个出口,而一个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。)
(3)结构内的每一部分都有机会被执行到;
(4)结构内不存在“死循环”(无终止的循环)
错误图例
如图,没有机会执行A框,所以此图是错误的
如图这是一个i额死循环,也是错误的。
小结:
•由三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。由基本结构所构成的算法属于“结构化”的算法,它不存在无规律的转向,只在本基本结构内才允许存在分支和向前或向后的跳转。
•只要具有上述四个特点的都可以作为基本结构。可以自己定义基本结构,并由这些基本结构组成结构化程序。
例如:
这是一个多分支选择结构,根据表达式的值决定执行路线。虚线框内的结构是一个入口一个出口,并且有上述全部的四个特点。由此构成的算法结构也是结构化的算法。可以认为这是由三种基本结构所派生出来的。
例如
多联系 多画画就记住了
记住4个特点是关键:
一个入口一个出口,每一部分都可能被执行,没有死循环
当顺序表的复杂,容易混乱,当变得十分混乱时 ,被称为BS型算法,意为一碗面条(A Bowl of Spaghetti),乱无头绪。
为了提供效率和避免混乱,人们提出了三种基本结构
1966年,Bohra 和Jacopini 提出以下3种结构,用这3种结构表示一个良好算法的基本单元。
PS:引用图片 来自方弘
1 顺序结构
c语言从上到下执行,虚框内是顺序结构
执行完A执行B
2 选择结构
又被称为,选取结构和分支结构
此结果必须包含一个判断框,根据给出的条件P 判断选择A或者B。
无论P条件是否成立,一定会选择AB其中一个,不可能出现两个都不选择,和两个都成立的情况。
A与B中可以有一个是空的
3 循环结构
又称为反复结构,即反复操作执行某一部分。
一共分为两类:
当(while)循环结构
当条件符合时 ,执行其参数内操作,再次判断是否符合,如果符合,继续执行内参数,在次判断,直到不符合条件,执行下一步操作
直到(until)循环结构
执行其参数内操作判断是否符合,当条件不符合时,再次执行参数,再次判断是否符合,如果不符合,继续执行内参数,在次判断,直到符合,执行下一步操作
三种基本结构的共同特点:
(1)只有一个入口;
(2)只有一个出口;(请注意:一个菱形判断框有两个出口,而一个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。)
(3)结构内的每一部分都有机会被执行到;
(4)结构内不存在“死循环”(无终止的循环)
错误图例
如图,没有机会执行A框,所以此图是错误的
如图这是一个i额死循环,也是错误的。
小结:
•由三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。由基本结构所构成的算法属于“结构化”的算法,它不存在无规律的转向,只在本基本结构内才允许存在分支和向前或向后的跳转。
•只要具有上述四个特点的都可以作为基本结构。可以自己定义基本结构,并由这些基本结构组成结构化程序。
例如:
这是一个多分支选择结构,根据表达式的值决定执行路线。虚线框内的结构是一个入口一个出口,并且有上述全部的四个特点。由此构成的算法结构也是结构化的算法。可以认为这是由三种基本结构所派生出来的。
例如
多联系 多画画就记住了
记住4个特点是关键:
一个入口一个出口,每一部分都可能被执行,没有死循环
相关文章推荐
- 面向过程的三种基本结构
- 射频电路中三种基本接收机结构
- OLAP三种基本实现结构
- C语言程序三种基本结构
- (二)2.1程序的三种基本结构
- OC基本数据类型及三种程序结构
- C语言算法和三种基本程序结构
- 程序设计的三种基本结构
- 结构化程序的三种基本逻辑结构
- 【Unity5.x Shaders】最基本的Surface Shader-Diffuse shader以及Surface中的三种输出结构
- OLAP三种基本实现结构
- Python基础05 三种基本结构&选择结构
- 黑马程序员-c#的三种最基本结构
- 程序设计的三种基本结构
- VB三种基本结构
- C语言三种基本结构
- C语言程序设计 第三章 三种基本程序结构
- 程序的三种基本结构
- JVM学习笔记(一)------基本结构
- nginx代码分析-基本结构-queue