种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

结构化程式设计

(2019-11-29 23:53:08) 百科综合
结构化程式设计

结构化程式设计

结构化程式设计(structured programming)是进行以模组功能和处理过程设计为主的详细设计的基本原则。结构化程式设计是过程式程式设计的一个子集,它对写入的程式使用逻辑结构,使得理解和修改更有效更容易。

基本介绍

  • 中文名:结构化程式设计
  • 外文名:structured programming
  • 提出人:E.W.Dijikstra
  • 时间:1965年

概述

“面向结构”的程式设计方法即结构化程式设计方法, 是“面向过程”方法的改进, 结构上将软体系统划分为若干功能模组, 各模组按要求单独编程, 再由各模组连线, 组合构成相应的软体系统。 该方法强调程式的结构性, 所以容易做到易读, 易懂。 该方法思路清晰, 做法规範, 深受设计者青睐。
结构化程式设计(STRUCTURED PROGRAMING,简称SP)思想是最早由E.W.Dijikstra在1965年提出的,结构化程式设计思想确实使程式执行效率提高。程式的出错率和维护费用大大减少结构程式设计就是一种进行程式设计的原则和方法,按照这种原则和方法可设计出结构清晰、容易理解、容易修改、容易验证的程式结构化程式设计的目标在于使程式具有一个合理结构,以保证和验证程式的正确性,从而开发出正确、合理的程式。

原则

电脑程式设计语言有许多种,那些语言具有结构化程式语言特点呢?主要看用此语言进行的程式设计是否满足下面的原则。
1、使用语言中的顺序、选择、重複等有限的基本控制结构表示程式逻辑。
2、选用的控制结构中只準许有一个入口和一个出口。
3、程式语句组成容易识别的块,每块只有一个入口和一个出口。
4、複杂结构应该用基本控制结构进行组合嵌套来实现。
5、语言中没有的控制结构,可用一段等价的程式段实现,但要求该段程式在整个系统中应前后一致。
按照上面的原则进行的程式设计就称为结构化的程式设计。

基本结构

结构化程式设计的三种基本结构是:顺序结构选择结构和循环结构。

顺序结构

顺序结构表示程式中的各操作是按照它们出现的先后顺序执行的。

选择结构

选择结构表示程式的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。

循环结构

循环结构表示程式反覆执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。在循环结构中最主要的是:什幺情况下执行循环?哪些操作需要循环执行?循环结构的基本形式有两种:当型循环和直到型循环。
当型循环:表示先判断条件,当满足给定的条件时执行循环体,并且在循环终端处流程自动返回到循环入口;如果条件不满足,则退出循环体直接到达流程出口处。因为是"当条件满足时执行循环",即先判断后执行,所以称为当型循环。
直到型循环:表示从结构入口处直接执行循环体,在循环终端处判断条件,如果条件不满足,返回入口处继续执行循环体,直到条件为真时再退出循环到达流程出口处,是先执行后判断。因为是"直到条件为真时为止",所以称为直到型循环。

设计方法

自顶向下

程式设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。

逐步细化

对複杂问题,应设计一些子目标作为过渡,逐步细化。

模组化

一个複杂问题,肯定是由若干稍简单的问题构成。模组化是把程式要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模组。
结构化程式设计结构化程式设计
限制使用goto语句 结构化程式设计方法的起源来自对GOTO语句的认识和争论。肯定的结论是,在块和进程的非正常出口处往往需要用GOTO语句,使用GOTO语句会使程式执行效率较高;在合成程式目标时,GOTO语句往往是有用的,如返回语句用GOTO。否定的结论是,GOTO语句是有害的,是造成程式混乱的祸根,程式的质量与GOTO语句的数量呈反比,应该在所有高级程式设计语言中取消GOTO语句。取消GOTO语句后,程式易于理解、易于排错、容易维护,容易进行正确性证明。作为争论的结论,1974年Knuth发表了令人信服的总结,并证实了:
(1)GOTO语句确实有害,应当儘量避免;
(2)完全避免使用GOTO语句也并非是个明智的方法,有些地方使用GOTO语句,会使程式流程更清楚、效率更高;
(3)争论的焦点不应该放在是否取消GOTO语句上,而应该放在用什幺样的程式结构上。其中最关键的是,应在以提高程式清晰性为目标的结构化方法中限制使用GOTO语句。

结构化编码

所谓编码就是把已经设计好的算法用计算机语言表示,即根据已经细化的算法正确写出电脑程式。结构化的语言(如 Pascal,C,QBASIC等)都有与三种基本结构对应的语句。

存在问题

1、软体的重用性差
重用性是指同一事物不经修改或稍加修改就可多次重複使用的性质。软体重用性是软体工程追求的目标之一。如果软体的重用性较差那幺软体的造价就相对高。
2、软体的可维护性差
软体工程强调软体的可维护性。强调文档资料的重要性。规定最终的软体产品应该由完整、一致的配置成分组成。在软体开发过程中。始终强调软体的可读性、可修改性和可测试性是软体的重要的质量指标。实践证明。用传统方法开发出来的软体.维护时其费用和成本仍然很高.其原因是可修改性差.维护困难。导致可维护性差。
3、开发出的软体不能真正满足用户需要
结构化方法开发大型软体系统涉及各种不同领域的知识。在开发需求模糊或需求动态变化的系统时.所开发出的软体系统往往不能真正满足用户的需要。

优缺点

特点

结构化程式中的任意基本结构都具有唯一入口和唯一出口,并且程式不会出现死循环。在程式的静态形式与动态执行流程之间具有良好的对应关係。

优点

由于模组相互独立,因此在设计其中一个模组时,不会受到其它模组的牵连,因而可将原来较为複杂的问题化简为一系列简单模组的设计。模组的独立性还为扩充已有的系统、建立新系统带来了不少的方便,因为我们可以充分利用现有的模组作积木式的扩展。
按照结构化程式设计的观点,任何算法功能都可以通过由程式模组组成的三种基本程式结构的组合:顺序结构、选择结构和循环结构来实现。
结构化程式设计的基本思想是採用"自顶向下,逐步求精"的程式设计方法和“单入口单出口”的控制结构。自顶向下、逐步求精的程式设计方法从问题本身开始,经过逐步细化,将解决问题的步骤分解为由基本程式结构模组组成的结构化程式框图;“单入口单出口”的思想认为一个複杂的程式,如果它仅是由顺序、选择和循环三种基本程式结构通过组合、嵌套构成,那幺这个新构造的程式一定是一个单入口单出口的程式。据此就很容易编写出结构良好、易于调试的程式来。
①整体思路清楚,目标明确。
②设计工作中阶段性非常强,有利于系统开发的总体管理和控制。
③在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。

缺点

①用户要求难以在系统分析阶段準确定义,致使系统在交付使用时产生许多问题。
②用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。
③系统的开发周期长。

标 签

搜索
随机推荐

Powered By 种豆资源网||