没有合适的资源?快使用搜索试试~ 我知道了~
结构化编程是一种基于顺序、选择和循环的编程范式,它将程序分解成一个个小的模块,每个模块都有其独立的输入、处理和输出。结构化编程强调程序的结构和逻辑,并避免使用goto等跳转语句。 而面向对象编程则是一种基于对象概念的编程范式。在面向对象编程中,所有的数据和功能都被组织成对象,并通过对象之间的交互来完成程序的功能。面向对象编程强调对象的行为和状态,并提供了封装、继承和多态等特性。 相较于结构化编程,面向对象编程可以更好地模拟真实世界中的问题,使得代码更具可读性、可维护性和可扩展性。同时,面向对象编程也更加符合人类的思考方式,更易于学习和理解。 不过,结构化编程和面向对象编程并非二选一的关系,而是可以结合使用的。在实际开发中,可以根据项目需求和开发团队的技术水平选择采用哪种编程方法。 适合PLC和高级语言编程,让您快速了解编程的核心思想!!!
资源推荐
资源详情
资源评论
结构化编程
结构编程
1) 概念
结构化程序设计(Structured Programming)是进行以模块功能和处理过程设计为主的
详细设计
的基本原则。结构化程序设计是过程式程序设计的一个子集,它对写入的程序使用逻辑
结构,使得
理解和修改更有效更容易。
其概念最早由 E.W.Dijikstra 在 1965 年提出的,是软件发展的一个重要的里程碑。它
的主要观
点是采用自顶向下、逐步求精及模块化的程序设计方法;使用三种基本控制结构构造程
序,任何程
序都可由顺序、选择、循环三种基本控制结构构造。结构化程序设计主要强调的是程序
的易读性。
2) 基本结构
结构化程序设计的三种基本结构是:顺序结构、选择结构和循环结构。 顺序结构
顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。图 7.x 的结构称为
顺序结构。
选择结构
选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一
个分支执行。选择结构有单选择、双选择和多选择三种形式。图 7.x 的结构称为选择结
构。
循环结构
循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止
循环。
图 7.x a)表示的结构称为“当型”循环。当给定的条件满足时执行 A 块,否则不执行 A
块而直
接跳到下面部分执行。图 7.x b)表示的结构称为“直到型”循环,它的 含义是:执行 A
块直到满足
给定的条件为止(满足了条件就不再执行 A 块)。这两种循环的区别是:当型循环是
先判断(条件)
再执行,而直到型循环是先执行后判 断。
3) 设计方法
自顶向下
程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要
一开始就
过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。
逐步细化
对复杂问题,应设计一些子目标作为过渡,逐步细化。
模块化
一个复杂问题,肯定是由若干简单的问题构成。模块化是把程序要解决的总目标分解
为子目标,
再进一步分解为具体的小目标,把每一个小目标称为一个模块。
结构化编码
所谓编码就是把已经设计好的算法用计算机语言表示,即根据已经细化的算法正确写
出计算机
程序。结构化文本的语言都有与三种基本机构对应的语句。
4) 优缺点
优点
由于模块相互独立,因此在设计其中一个模块时,不会受到其它模块的牵连,因而可
将原来较
为复杂的问题化简为一系列简单模块的设计。模块的独立性还为扩充已有的系统、建
立新系统带来
了不少的方便,因为我们可以充分利用现有的模块作积木式的扩展。
按照结构化程序设计的观点,任何算法功能都可以通过由程序模块组成的三种基本程
序结构的
组合:顺序结构、选择结构和循环结构来实现。
结构化程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和“单入口单
出口”
的控制结构。自顶向下、逐步求精的程序设计方法从问题本身开始,经过逐步细化,
将解决问题的
步骤分解为由基本程序结构模块组成的结构化程序框图;“单入口单出口”的思想认为
一个复杂的
程序,如果它仅是由顺序、选择和循环三种基本程序结构通过组合、嵌套构成,那么
这个新构造的
程序一定是一个单入口单出口的程序。据此就很容易编写出结构良好、易于调试的程
序来。
a) 整体思路清楚,目标明确。
b) 设计工作中阶段性非常强,有利于系统开发的总体管理和控制。
c) 在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。
缺点
a) 用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。
b) 用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。
c) 系统的开发周期长。
不同的功能块调用可重复利用的代码。主程序调用这些功能块并传递相应的参数。
自顶向下,逐步求精" ——程序结构化设计方法
“自顶向下”
是将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维
定性、定量地去描述问题。
“逐步求精”
是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变
为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编
程问题。
“自顶向下、逐步求精”的程序设计技术是目前较为时髦的(当然也是较为合理的)找
出一个问题的解题算法的一种思维方法。“自顶向下、逐步求精”过程中的每一步,即分解
某一具体问题时,主要用到如下四种求精技术:
1. 顺序连接的求精
2. 分支、选择的求精
3. 循环的求精
4. 递归的求精
当问题的子解具有前后关系时,采用第一种顺序连接的求精技术,将问题分解成互不
相交的几个子问题的顺序执行。
当问题是分别不同情况而应该进行不同处理时,采用第二种分支、选择的求精技术
(构造分支)。这时要注意分支条件。
当问题的子解具有特性:如果有向解的方向前进一步的方法,且不断重复该步骤,即
能解决问题,最终达到完全解。则应该采用循环的求精技术(构造循环)。这时一定要弄
清循环的初始条件、结束条件和有限进展的一步都是什么.
当问题的某步解法与前边高层次的某步解法具有相同特征属性,只是某些参数不同
时,可采用递归的求精技术。这时应注意递归的参数变化规律以及递归出口。
由此可知,所谓”自顶向下,逐步求精“的分析技术实质上是如下图所示过程的反复.
这种自顶向下、逐步求精的思维方式不是计算机程序员独有的。事实上在日常生活、
工作中也经常的使用该技术,只不过不自觉或没意识到罢了。例如写一本书、或文章,总
要作一个提纲,全书分成几章;然后对每一章又列出本章分几节;对每一节又分出几小节
等等;
最后再具体着手写每个小节。又如,设计生产某产品的一个工厂(比如汽车厂):首
先应考虑全厂应该分成几个车间(例如,生产发动机的发动机车间、生产底盘的底盘车
间、生产车轮的车轮车间、总装车间、…);然后再考虑每个车间应分成几个工段(例
如,发动机车间应分成生产机壳的机壳工段、生产活塞的活塞工段、负责工件热处理的热
处理工段、…);然后再考虑每个工段应该配备多少种设备,每种设备应配备多少台,…
等等。这就是”自顶向下,逐步求精“。
采用“自顶向下、逐步求精”方法构造程序有如下优点:
程序的层次分明、结构清晰。
便于集体开发程序。对于大型程序来讲,可以每组负责一个模块(一个子部分),在
一个组内又可以每个人负责一个子模块(更小的子部分)等等。而各个模块之间以及各个
子模块之间相对独立,互相之间没有制约,各个模块的负责人员可以独立的进行各自的程
序设计。
便于调试。若程序有错误,可以很容易的将错误局部于某一子部分,找出错误,同时
每一部分的错误是独立的,也不至于影响其它的部分。
对于一个大型程序的编写,需要解决很多的问题。最首先的就是如何将一个大型程序
给分接下来。
分解过程将大的程序分解成小的程序,小的程序再分解成各个函数,模块,最后汇
成便成为一个程序。
这个过程中采用的方法就是自顶向下,逐步求精的编程方法。
严谨来说,就是将大型问题分解,将问题放在子模块去解决,这个逐层逐个的去完
成,直到所有程序完成,从而设计出具有结构的程序。
该方法的优点是:
1.层次分明,结构清晰。
2.便于公司集体开发。
3.便于找出错误。
4.便于阅读。
为了达到此目的,就需要对程序员有所限制:
首先要限制对 goto 语句的使用
其次是模块分解鲜明,空格,递进都要有序
要有良好的设计风格
剩余47页未读,继续阅读
资源评论
weixin_47763444
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功