目录
1. 什么是结构化程序设计
2. 结构化程序设计的局限性
3.程序设计的三种基本结构
(1) 顺序结构
(2) 选择结构
(3) 循环结构
1. 什么是结构化程序设计
功能 =》 Function =》 函数 =》 算法
数据流Data Flow =》 数据结构Data Strucuture
程序 = 算法 + 数据结构 =》 数据流(数据结构)处理(算法) =》 数据的处理过程
面向功能的程序设计方法、结构化程序设计方法、面向数据流的处理方式与结构化分析(Structrued Analysis,即SA)、结构化编程(Structrued Program,即SP)、结构化设计 (Structrued Design,即SD)
结构化程序设计方法主张按功能来分析系统需求,其主要原则可概括为自顶向下,逐步求精,模块化等。结构化程序设计首先采用结构化分析(Structrued Analysis,即SA)方法对系统进行需求分析,然后使用结构化设计(Structrued Design,即SD)方法对系统进行概要设计、详细设计,最后采用结构化编程(Structrued Program,即SP)方式来实现系统。使用这种SA、SD和SP的方式可以较好的保证软件系统的开发进度和质量。
因为结构化程序设计方法主张按功能把软件系统逐步细分,因此这种方法也被称为面向功能的程序设计方法;结构化程序设计的每个功能都负责对数据进行一次处理,每个功能都接受一些数据,处理完后输出一些数据,这种处理方式也被称为面向数据流的处理方式。
结构化的程序设计:
2. 结构化程序设计的局限性
设计不够直观,与人类习惯思维不一致。采用结构化程序分析、设计时,开发者需要将客观世界模型分解成一个一个功能,每个功能用以完成一定的数据处理。
适应性差,可扩展性不强。由于结构化设计采用自顶而下的设计方式,所以当用户的需求发生改变,或需要修改现有的实现方式时都需要自顶而下地修改模块结构,这种方式的维护成本相当大。
3.程序设计的三种基本结构
结构化程序设计非常强调实现某个功能/函数(Function)的算法。而算法的实现过程是由一系列语句/操作组成的,这些操作之间的执行次序就是程序的控制结构。
程序 = 算法 + 数据结构
1996年,计算机科学家Bohm和Jacopini证明了这样的事实:任何简单或复杂的算法都可以由三种结构组成:
(1) 顺序结构
(2) 选择结构
(3) 循环结构
这三种结构就被称为程序设计的三种基本结构,也是结构化程序设计必须采用的结构。