结构化程序设计的思想规定了一套方法

第四章程序设计思想和方法
4.1.2 结构化程序设计的思想规定了一套方法,要求程序设计者按照一定的
结构形式来设计和编写。

那么,结构化程序设计的思想包括哪几个方
面?。

答:(1)一个大的程序可划分为若干个模块,每个模块又可以继续分为更
小的子模块,最终分出的模块能完成一个独立的功能,模块之间按层次关
系进行组织。

(2 )程序由一些基本结构组成,任何一个复杂的程序都可以由三种基本结构组成,即顺序结构,选择结构和循环结构.
(3)设计程序时,应采用自顶向下,逐步细化的实施方法。

随着计算机应用领域的扩大,软件的需求量越来越大,对其复杂程度的要求也越来越高。

到了20 世纪60年代,软件业终于爆发了所谓的“软件危机”。

为了克服这一危机,人们提出了采用结构化的程序设计方法以及用工程的方法开发软件等软件开发思想。

某书店需要设计一个售书管理系统,对进书、售书进行管理,并提供统计、分析、报表等功能。

对于这样一个系统,初看起来觉得无从下手,但如果从书店的业务流程分析出发,首先可以将它分为进书管理、零售管理、批发管理等若干个大的模块。

每个模块又可以按其功能再分为若干个小的子模块,这样层层细分,直到不能再分为止。

最底层的子模块具有独立的功能,可以用程序设计语言明确地描述出来。

例如,零售管理模块又可再分为零售售书、零售退书、零售查询、零售盘点4 个子模块,如图4-2 所示,这时就可以用程序语言直接编程实现。

4.2 面向对象程序设计
结构化程序设计成功地为处理复杂问题提供了有力的手段,然而到了
20 世纪80年代末,它的一些缺点越来越突出,当数据量增大的时候,数据
与处理这些数据的方法之间的分离使程序变得越来越难以理解。

为了克服
这些缺点,人们提出了一种新的思路——面向对象的程序设计方法,该方
法日益受到人们的重视,给软件产业带来了新的飞跃。

4.2.1 面向对象程序设计的思想
假如我们准备设计一个电子商务系统,按照结构化程序设计的方法,首先需要分析它的业务流程,然后据此进行设计如图4-3 所示。

在整个流程中,每个过程都必须与数据库交互。

假如要改变订单类型,就需要修改数据库结构,业务流程的相应模块也将发生变化,这样,程序设计的许多过程都要重新编写,工作量将是巨大的。

如果采用面向对象的程序设计方法,就可以将数据与其对应的处理方法“捆绑”在一起,相互间通过接口进行交互。

当产生新的订单类型时,原系统只需从原有的订单类型“派生”出新的订单类型就可以解决了,从而避免“牵一发而动全身”的现象发生。

对程序而言,修改的工作量也将大大减少。

通过对比可以看出,结构化程序设计是从系统的功能入手进行描述的。

在实际设计中,用户的需求和软、硬件条件是不断变化的,按照功能划分设计的模块必然也是易变的和不稳定的,这样开发出来的模块可重用性不高。

面向对象程序设计从所处理的数据入手,以数据而不是以功能为中心来描述系统。

数据相对于功能而言,具有更强的稳定性,因此,以数据为中心设计出来的系统,具有较强的稳定性,模块的可重用性也比较高。

面向对象程序设计是目前最流行的程序开发技术,它的提出并不是对结构化程序设计的否定,而是对它的继承与发展,面向对象程序设计中依然渗透着结构化程序设计的思想与方法。

( )
面向对象程序设计围绕真实世界的概念来组织模型,采用对象来描述客观实体( )
关于对象,属相,方法的正确说法是,在VB 中,我们总是和对象打交道。

新建一个窗体就是新建了一个窗体对象;从VB 的工具箱中将一个控件拖放到窗体中,实际上也生成了一个对象
在面向对象的程序设计中,对象的特征、功能、对象之间进行通信的消息分别称为“属性”、
“方法”、“事件”。

对象的属性是用来描述对象的外部特征的。

对象名.属性名=属性值或变量=对象名.属性名例如,Form1 .Caption ="打字测试程序";strText =txtMyText .Text 可以改变窗体的标题,并给字符串变量strText 赋值。

方法是一个对象允许其他对象与之交互的方式,它表明了一个对象所具有的能力。

B VB 的执行机制与此类似,是按事件驱动方式工作的。

例如,用户单击按钮就触发了Click 事件,程序会执行Click 事件过程;当我们在窗体中拖放一个Timer 控件,并设置了它的“Interval”属性,系统就会在指定时间触发“Timer”事件。

VB为窗体和大多数控件都规定了一组事件,当应用程序被启动后VB 随时准备捕获各种事件。

一旦发生了某个事件,VB 就会执行与该事件相联系的事件过程;执行完后,VB 将等待下一个事件的发生。

VB 的这种事件驱动机制为编写程序带来极大的便利,我们只需根据具体情况,选择适当的事件编写代码就可以构建应用程序了.
使用VB进行程序设计的方便之处就在于VB给我们定义了许许多多的
类,从窗体、工具栏、状态栏、命令按钮、图片框、单选框、复选框到时钟、
文件、文件夹、驱动器、滚动条、旋转按钮等,它提供了我们在程序设计中
用到的多数类,这大大方便了程序的编写。

编写一般的程序,我们只需要生成相应类的实例(即生成对象)就可以实现想要的功能。

VB 工具箱中的类是可视类,设计程序时,将它们直接拖放到窗体中就
可以生成类的实例(对象)。

如果用“工程”菜单中的“引用”命令,还可以
使用许多不可见类,这些类一般包含在以“.dll”为扩展名的文件中,称为动态链接库,利用动态链接库可以较好地实现代码的重用。

例如,在Windows 的应用程序中,你到处都能见到菜单、工具栏、状态栏这些对象,实际上它们大多来自相同的动态链接库文件。

在VB 中,自定义类需要放在类模块中,类模块是以“.cls”为扩展名的文件。

添加类模块的方法是:在资源窗口中右击,选择“添加”→“添加类模块”命令就可以在当前工程中添加一个类模块。

类模块添加后可以通过属性窗口改变类的名称,在类模块中定义成员
变量,然后通过Property Let/Get设计类的属性,类的方法定义和一般函数
或过程的定义相似。

为了使自定义类的属性和方法能在类的外部访问,类的
属性和方法一般应该用Public修饰,如果不加指定,默认属性和方法为Public
类型
4.2.3 面向对象程序设计的基本特征
面向对象程序设计的最突出的特性就是封装、继承和多态性。

衡量某
种程序设计语言是否为面向对象的程序设计语言,主要看它是否具有这三个特性。

合集下载

结构化程序设计的思想与方法

结构化程序设计的思想与方法

任何复杂的算法,都可以由顺序结构、选择(分支)结构和循环结构三种基本结构组成。

在构造算法时,也仅以这三种结构作为基本单元,同时规定基本结构之间可以并列和互相包含,不允许交叉和从一个结构直接转到另一个结构的内部去。

结构清晰,易于正确性验证和纠正程序中的错误,这种方法就是结构化方法,遵循这种方法的程序设计,就是结构化程序设计。

遵循这种结构的程序只有一个输入口和一个输出口。

结构化程序的概念首先是从以往编程过程中无限制地使用转移语句而提出的。

转移语句可以使程序的控制流程强制性的转向程序的任一处,在传统流程图中,用"很随意"的流程线来描述转移功能。

如果一个程序中多处出现这种转移情况,将会导致程序流程无序可寻,程序结构杂乱无章,这样的程序是令人难以理解和接受的,并且容易出错。

尤其是在实际软件产品的开发中,更多的追求软件的可读性和可修改性,象这种结构和风格的程序是不允许出现的。

为此提出了程序的三种基本结构。

在讨论算法时我们列举了程序的顺序、选择和循环三种控制流程,这就是结构化程序设计方法强调使用的三种基本结构。

算法的实现过程是由一系列操作组成的,这些操作之间的执行次序就是程序的控制结构。

1996年,计算机科学家Bohm和Jacopini证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成。

所以,这三种结构就被称为程序设计的三种基本结构。

也是结构化程序设计必须采用的结构。

结构化程序中的任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死循环。

在程序的静态形式与动态执行流程之间具有良好的对应关系。

2.结构化程序设计早期的计算机存储器容量非常小,人们设计程序时首先考虑的问题是如何减少存储器开销,硬件的限制不容许人们考虑如何组织数据与逻辑,程序本身短小,逻辑简单,也无需人们考虑程序设计方法问题。

与其说程序设计是一项工作,倒不如说它是程序员的个人技艺。

第3章 结构化程序设计

第3章  结构化程序设计

循环体
是 P2 否
图3.7直到型循环结构示意图 直到型循环结构示意图
3.3 表述算法
• 通常用自然语言、计算机语言(代码)、伪代码[1]、传统流程图、 通常用自然语言、计算机语言(代码)、伪代码 、传统流程图、 )、伪代码 N-S流程图、PAD图等不同的方法来描述算法。 流程图、 图等不同的方法来描述算法。 流程图 图等不同的方法来描述算法 • 在例 中,采用了自然语言来表示算法。自然语言就是人们日常使 在例3.1中 采用了自然语言来表示算法。 用的语言,可以是汉语、英语,或其他语言。 用的语言,可以是汉语、英语,或其他语言。用自然语言表示算法通 俗易懂,但文字冗长,容易出现歧义性。自然语言表示的含义往往不 俗易懂,但文字冗长,容易出现歧义性。 太严格,要根据上下文才能判断其正确含义。此外, 太严格,要根据上下文才能判断其正确含义。此外,用自然语言来描 述包含分支和循环的算法,很不方便。因此, 述包含分支和循环的算法,很不方便。因此,除了那些很简单的问题 以外,一般不用自然语言描述算法。 以外,一般不用自然语言描述算法。 • [1] 伪代码是介于自然语言与计算机语言之间的文字符号。一般借助 伪代码是介于自然语言与计算机语言之间的文字符号。 一种高级语言的控制结构,而中间的操作用自然语言描述。 一种高级语言的控制结构,而中间的操作用自然语言描述。
P1 是 循环体
否
• 图3.6当型循环结构示意图 当型循环结构示意图
(2)直到型循环的执行过程为: )直到型循环的执行过程为: • 先执行循环体一次,然后判断控制循环的条件。 先执行循环体一次,然后判断控制循环的条件。 • 条件 成立,则继续上述循环体,直到条件不成立时,结束循环。 条件P2成立,则继续上述循环体,直到条件不成立时,结束循环。 成立

结构化系统设计方法的基本思想及方法要点

结构化系统设计方法的基本思想及方法要点

结构化系统设计方法的基本思想是以系统的逻辑功能设计和数据流关系为基础,根据数据流程图和数据字典,借助于标推的设计淮则和图表工具,通过“自上而下”和“自下而上”的反复,逐层把系统划分为多个大小适当,功能明确,具有一定独立性,并容易实现的模块,从而把复杂系统的设计转变为多个简单模块的设计。

从目前大多数信息系统的开发现状来看,结构化系统设计方法是运用最为普遍,同时也是最为成熟的一种开发方式。

简单地说,结构化系统设计方法可以用三句话进行概括;自上而下;逐步求精;模块化设计。

首先,自上而下,就是在管理信息系统的设计与系统分析阶段,必须采用整体大于局部、上级优于下级的设计思路。

优先考虑如何满足领导层的管理需求,其次才考虑中层与底层的管理需求。

其次,对客户的需求分析应做到逐步求精。

在深入调研的基础上力图在编写程序之前就清晰地了解客户的实际运作过程,从而制定出切实可行的开发方案,并且为将来可能的功能扩展留有充分的余地。

最后阶段才进入程序编写阶段。

在进行软件设计时采用模块化的设计思路,并且采用自下而上的实施方法,即先开发一些能够独立运行并完成某些功能的小型程序模块,而后将这些模块进行组合。

采用这种设计方法,在所有功能模块开发完成之后,只需将所有模块进行有机组合,就能够获得一个完善的系统。

二、结构化系统设计方法的由来与发展在数据处理领域,“结构化”…词最早出现于程序设计,即结构化程序设计。

“结构化”的含义是指用一组标准的准则和工具从事某项工作。

在结构化程序设计之前,每一个程序员都按照各自的习惯和思路编写程序,没有统一的标准,也没有统一曲技术方法,因此,程序的调试、维护都很困难,这是造成软件危机的主要原因之一。

1966年,Bohn和Jacopinl提出了有关程序设计的新理论.即结构化程序设计理论。

这个理论认为,任何——个程序都可以用三种基本逻辑结构来编制,而且只需这三种结构。

这三种结构分别是顺序结构、判断结构和循环结构,其特点是每种结构只有一个入口点和一个出口点。

C语言算法表示及结构化程序设计基本结构

C语言算法表示及结构化程序设计基本结构

C语言算法表示及结构化程序设计基本结构为了表示一个算法,可以用不同的方法。

常用的方法有:自然语言、传统流程图、结构化流程图和伪代码等。

1用自然语言表示算法自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。

用自然语言表示通俗易懂,但文字冗长,容易出现歧义,往往要根据上下文才能判断正确含义。

用自然语言来描述包含分支选择和循环算法不方便,花开两朵,各表一枝,同时只表达一个意思,这是自然语言表示的不足。

2用流程图表示算法流程图就是用一些图框来表示算法,直观形象,易于理解。

如:菱形框的作用是对一个给定的条件进行判断,根据给定的条件是否成立来判定如何执行其后的操作。

它有一个入口,两个或多个出口。

优于自然语言表示。

连接点小圆圈用于将画在不同地方的流程线连接起来,实际上表示一个对象,只是画不下オ分开来画或为了清晰表示而单独绘制,用连接点可以避免流程线出现交叉或过长,不利于阅读。

用流程图表示算法直观形象,比较清楚地显示出各个框之间的逻辑关系。

这种流程图占用篇幅较多,一条路走到头,与复杂的实际情况表示有差距有不足,尤其当算法比较复杂时就费时费力。

3.传统流程图的弊端与结构化设计的基本结构传统的流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制,不受限制地使流程随意地转来转去,使流程图变得毫无规律,阅读时要花很大精力去追踪流程,使人难以理解算法的逻辑。

为了提高算法的质量,使算法的设计和阅读方便,不允许无规律地使流程随意转向,只能顺序地进行下去。

但是,算法上难免会包含一些分支和循环,而不可能全部由一个个顺序框组成。

为了解决这个问题,人们规定出几种基本结构,然后由这些基本结构按一定规律组成一个算法结构。

4.用3种基本结构作为表示一个结构化算法的基本单元。

(1)顺序结构。

比如A 和B 两个框是顺序执行的,在执行完A 框所指定的操作后,接着执行B 他所指定操作。

(2)选择结构。

又称选取结构或分支结构,此结构中必包含一个判断框。

4.1.2结构化程序设计思想和方法

4.1.2结构化程序设计思想和方法

“自顶向下,逐步细化”的优点
结构良好,各模块间的关系清晰简单, 每一模块都由基本单元组成。
清晰易读,可理解性好,容易设计,容 易验证其正确性,也容易维护。
能有效地组织人们的智力,有利于软件 的工程化开发。
实践
请同学们利用这种思想方法为书店 设计一个“销售管理系统”,并思 考这个系统能实现哪些功能?
教学目标
理解结构化程序设计的思想 掌握结构化程序设计的方法
结构化程序设计思想
所谓结构化程序设计思想,就是 要使所设计的程序给人一种一目 了然的感觉。条理清晰,模块化, 自粗到精,逐步细化。
结构化程序设计思想的三个方面
以模块化设计为中心 三种基本结构 实施方法
模块化
(1)把一个较大的程序划分为若干子程序,每一 个子程序总是独立成为一个模块;
条件P 不成立N 成立Y
语句A
先判断条件是否满足(成立), 满足就执行循环体,每执行完一次 就判断一次,直到条件不满足停止。
三种基本结构的共同特征
语句A 语句B 语句C
成立Y
不成立N 条件P
语句A
语句B
条件P 不成立N 成立Y
语句A
(1)单入口和单出口,即只有一个入口和一个出口。 (2)没有无用的部分,即结构中所有部分都有被执行的机会。 (3)不存在“死循环”(无终止的循环),即执行时间是有限的。
如图所示:执
行顺序结构的程序
语句A
时,按语句在程序 语句B
中的顺序逐条执行,
没有分支,没有转
语句C
移。
选择结构
又称分支结
构,根据给定条
成立Y
不成立N
件是否满足而去
条件P
执行不同的语句,
如图所示,给定 条件P,如果满足

结构化程序设计方法的基本思想和基本规则

结构化程序设计方法的基本思想和基本规则

结构化程序设计方法的基本思想和基本规则
结构化程序设计方法是一种以结构性和模块化为主要特征的通用的软件设计方法。

它
的核心思维是:将程序的问题逐层划分,依葫芦画瓢,以不断细化子问题的方式解决综合
性问题,从而形成一种可处理各种情况的通用设计算法。

它倾向于把复杂的问题划分为多
个简单的问题,简化程序复杂性,采用控制结构将清晰的程序结构转换成特定问题的程序,以及通过模块划分负责不同功能的程序,从而分解原来可能复杂的程序结构。

结构化程序设计方法的基本思想是:以分解和组合的理念,利用控制结构、分支、循环、函数、数据结构等技术把复杂的程序建模和实现,让程序写成有可读性、易维护性和
良好结构的模块化形式,从而降低程序设计和实现过程的复杂度,保证程序的可移植性和
可扩展性。

结构化程序设计方法也有一套严格的基本规则:首先,制定完整的思维框架,划分精
细任务,定义有序流程,在每一步得出明确的结果;其次,建立可重复的模块,使用封装
的数据结构和函数,增加模块的可复用性;再次,以宗旨解决单一问题,用控制结构管理
复杂的分支和循环;最后,建立统一的结构,确保所有子模块执行顺序准确,避免重复引
用和错误控制流程。

结构化程序设计方法可以大大改善重复任务、繁琐程序和复杂项目的开发过程,使程
序代码更加晰明简单、运行效率更高。

掌握这种程序设计方法,有助于开发出功能更强大、执行更精准的程序。

管理信息系统实验报告答案

实验一:实验二:则剩余不够的部分还须向其他书商订购,同时在订购信息中添加该教材在另一个书商中订购的信息。

1、请画出上述内容的E-R图。

2、把E-R图转换成合理的关系模式:学生(学号,姓名,性别,院系,年龄)主键为学号教材(书号,书名,出版社,出版日期,主编)主键为书号书商(商号,电话,联系人,商名)主键为商号3、在SQL Server(或Access)中建立数据库和表(截图):建立数据库:建立学生表建立教材表建立书商表实验三:实验名称管理信息系统的系统分析实验目的1、能够正确运用系统分析的过程与方法,结合一个课题,复习、巩固管理信息系统的系统分析知识,提高系统分析的实践能力。

2、熟悉业务流程图、数据流程图、数据字典等的绘制。

3、树立正确的系统分析思想,培养分析问题、解决问题的能力,提高查询资料和撰写书面文件的能力。

实验步骤1.试述结构化系统开发方法、原型法的优缺点和适用场合?答:优点:从系统整体出发,强调在整体优化的条件下“自上而下”地分析和设计,保证了系统的整体性和目标的一致性;遵循用户至上原则;严格区分系统开发的阶段性;每一阶段的工作成果是下一阶段的依据,便于系统开发的管理和控制;文档规范化,按工程标准建立标准化的文档资料。

缺点:用户素质或系统分析员和管理者之间的沟通问题;开发周期长,难于适应环境变化;结构化程度较低的系统,在开发初期难以锁定功能要求。

适用场合:主要适用于规模较大、结构化程度较高的系统的开发2、什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?答:数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。

它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

数据流图有四种基本图形符号:“→”箭头表示数据流;“○”圆或椭圆表外部实体;“=”双杠表示数据存储;“”方框表示数据的源点或终点3、某工厂成品库管理的业务过程如下:成品库保管员按车间送来的入库单登记库存台帐。

结构化程序设计方法

容易写,读者容易看。如果发现某一部分 中有一段内容不妥,需要修改,只需找出 该部分修改有关段落即可,与其它部分无 关。我们提倡用这种方法设计程序。这就 是用工程的方法设计程序。
模块设计的方法: •模块化设计的思想实际上是一种“分而治之” 的思想,把一个大任务分为若干个子任务, 每一个子任务就相对简单了。 •在拿到一个程序模块以后,根据程序模块的 功能将它划分为若干个子模块,如果这些子 模块的规模还嫌大,还再可以划分为更小的 模块。这个过程采用自顶向下方法来实现。 •子模块一般不超过50行。 •划分子模块时应ห้องสมุดไป่ตู้意模块的独立性,即:使 一个模块完成一项功能,耦合性愈少愈好。
采取以下方法来保证得到结构化的程序: • 自顶向下; • 逐步细化; • 模块化设计; • 结构化编码。
两种不同的方法: • 自顶向下,逐步细化; • 自下而上,逐步积累。
用这种方法逐步分解,直到作者认为可以直接将各 小段表达为文字语句为止。这种方法就叫 做“自顶向 下,逐步细化”。
自顶向下,逐步细化方法的优点: 考虑周全,结构清晰,层次分明,作者
(5)检测程序,我们做的东西是否正确,不正确检测 错误。这一步是需要耐心的,不要怕错误,每一次检 测都会让你提高。做事时,不要因一些错误而畏缩不 前。
自上而下的编程方法基本步骤
(1)首先对你所面临的问题进行精确描述,即你遇到
的到底是什么问题;
(2)定义输入输出量,即分析我们的目的是什么和现 有的条件;
(3)设计算法,逐层分解,逐步求精,这是做事情的 一个过程,大部分人做事出错就出在这个地方,懒得 到逐层分解,逐步求精,总是妄想一步登天;
(4)把算法转化为程序语言,这一步是踏踏实实做的 过程,没有这一步你什么也做不成。

管理信息系统课后习题及参考答案

第1章1.什么是信息,什么是数据?简述二者之间的联系和区别。

2.什么是信息循环?3.简述信息的层次和信息的类型及主要特性。

4.简述管理信息的特点。

6.简述信息系统的定义。

7.什么是管理信息系统,它有什么特点?第2章1.建设管理信息系统方法应包含的内容主要有哪些?2.简述管理信息系统的生命周期。

3.结构化方法的基本思想是什么?4.什么是结构化生命周期法?5.什么是快速原型法?6.简述在系统分析阶段使用原型法的开发过程。

7.试述本教材为什么选择结构化生命周期法作为重点讲述内容。

8.管理信息系统的开发方式有哪些?第3章1.试述系统规划的主要目标和任务。

2.试述系统规划工作的主要特点和关键问题。

3.什么是管理信息系统开发中的系统分析?其主要目标和活动内容有哪些?系统分析工作的主要特点是什么?4.初步调查的内容主要有哪些?5.可行性研究的目的是什么?6.可行性研究主要从哪几个方面去考察?简述其内容。

第4章1.简述需求分析中现行系统调查、新系统逻辑方案的提出等活动的详细内容、关键问题、主要成果及其描述方法。

2.为什么数据流图要分层?3.简述分层数据流图的组成与基本符号以及绘制步骤。

4.简述数据词典在需求分析中的作用和编写数据词典的基本要求。

5.什么是基本加工?描述表达基本加工逻辑功能的结构化工具有那些?特点是什么?6.某银行发放贷款原则如下:(1)对于贷款未超过限额的客户,允许立即贷款;(2)对于贷款已超过限额的客户,若过去还款记录好且本次贷款额在2万元以下,可作出贷款安排,否则拒绝贷款。

请用结构化语言、决策表来描述该原则。

7.依据如下决策表,画出决策树。

信件收费决策表8.下面是对银行取款活动的描述:储户携带存折前去银行,把存折和填好的取款单一并交给银行工作人员检验。

工作人员需核对帐目,发现存折有效性问题、取款单填写问题或是存折、帐卡与取款单不符等问题时,均应报告储户。

在检验通过的情形下,银行则应将取款信息登记在存折和帐卡上,并通知付款。

浅谈结构化程序设计与GOTO语

goto InitFailure;
CWinApp* pApp = AfxGetApp();
if (!AfxWinInit(hInstance, hPrevInstance, lpCmdLine, nCmdShow))
goto InitFailure;
if (pApp != NULL && !pApp->InitApplication())
其次,goto 语句只在case 结构内使用,所跳转到的位置也在case 结构内,它不会照成大面积的跳转,使程序的阅读者晕头转向;
于是,我们可以认为,在程序模型A中的goto 语句,增加了case 结构的功能。
(2) goto 语句都跳某一共同程序段,并且都是往case结构的出口方向前进。这就保证了带goto 语句的程序的可读性。
我们可以举出很多使用goto 优化程序的例子,比如以下的case结构中经常使用的一种模型:
程序模型A:
switch (Variable)
{
case Value1:
Do specific Value1 here;
goto CommonCaseProcess;
case Value2:
Do Value2 here;
一、结构化程序设计的基本特征
结构化程序设计(Structured Programming)是荷兰学者E.W.Dijkstra等人在研究的人的智力局限性随着程序规模的增大而表现出来的不适应之后,于1969年提出的一种程序设计方法,这是一种复杂任务时避免混乱的技术。提出了把程序结构规范化的主张,要求对复杂问题的求解过程应按我们大脑容易理解的方式进行组织,而不是强迫我们的大脑去接受难以忍受的冲击。具体来说,结构化程序设计的思想包括以下三方面的内容:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档