1、结构化程序设计
在结构化程序设计中,戚腊任何程序段的编写都基于3种结构:分支结构、循环结构和顺序结构。程序具有明显的模块化特征,每个程序模块具有惟一的出口和入口语句。结构化程序的结构简单清晰,模块化强,描述方式贴近人们习惯的推理式思维方式,因此可读性强。
2、面向对象程序设计
面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,也即使得描述问题的问题空间与问题的解决方案空间在结构上尽可能一致,把客观世界中的实体抽象为问题域中的对象。
程序设计的分类
1、按照结构性质,有结构化程序设计与非结构化程序设计之分。前者是指具有结构性的程序设计方法与过程。它具有由基本结构构成复杂结构的层次性,后衫仔虚者反之。
2、按照用户的要求或燃,有过程式程序设计与非过程式程序设计之分。前者是指使用过程式程序设计语言的程序设计,后者指非过程式程序设计语言的程序设计。
3、按照程序设计的成分性质,有顺序程序设计、并发程序设计、并行程序设计、分布式程序设计之分。按照程序设计风格,有逻辑式程序设计、函数式程序设计、对象式程序设计之分。
1.结构化设计方法
所谓结构化程序设计方法主张把软件系统按功能(对应结构化程序中的最小单元函数)进行逐步的细分,因此也被称为面向功能的程序设计方法。这种设计方法的每个功能都负责都数据进行一次处理,即每个功能都接受一些输入数据,处理完后输出一些数据,这种处理数据的方式也被称为面向数据流的处理方式。
结构化设计采用自顶向下设计方法,在设计阶段需要考虑每个模块应该分解成哪些子模块,每个子模块又该分解成哪些更小的子子模块。。。以此内推,直到模块被细化为一个个函数。
这种结构化的设计方法显然是有局限性的:
1.设计不够直观,与人类的思维方式不一致。因为开发者册纤需要将客观世界的模型分解成一个个功能,每个功能用于完成一定的数据处理。
2.适应性差,可扩展性不强。由于采用自顶向下的设计方法,当用户需求改变时,需要自顶向下的修改模块结构,维护的成本相当大。
程序的三种基本结构:顺序结构、选择结构和循环结构。
2.面向对象设计方法
面向对象程序设计方法的基本思想是使用类、对象、继承、封装和消息等概念进行程序设计。它从现实世界客观存在的事物(对象)出发来构造软件系统。强调尽可能用人类自州高仿然的思维方式思考问题,认识问题,从而将现实世界中的事物抽象成系统中的类,作为系统的基本构成单元。这样构建的系统能直接映射客观世界,更符合现实世界的本来面貌。
面向对象的基本哲学是世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通信构成了完整的现实世界。
从程序设计的角度看,面向对象的程序设计语言必须有描述对象及其相互之间的关系的语言成分。归纳起来即:系统中一切都是对象;对象是属性及其 *** 作的封装体;对象可以按性质划分为类,对象是类的实例;实例关系和继承关系是对象之念明间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。
在面向对象的编程过程中,开发者要从自己的使用角度和认识角度出发来定义类,从而模拟客观世界的事物,并让自己明白这种事物是用来做什么的,对我们有什么意义。用抽象的方法忽略一个事物中与目标类无关的那些方面,充分地注意与当前目标有关的方面。
一个简单的程序设计一般包含以下四个步骤:
(1) 分析问题,建立数学模型。
(2) 确定数据结构和算法。
解决问题确定的方法和有限的步骤称作为算法。通常计算机算法分为两大类:数值运算算法和非数值运算算法。任何简单或复杂的算法都是由基本功能 *** 作和控制结构这两个要素组成。
计算机的基本功能 *** 作包括以下四个方面:
(1) 逻辑运算:与、或、非;
(2) 算术运算:加、减、乘、除;
(3) 数据比较:大于、小于、等于、不等于、大于等于、小于等于;
(4) 数据传送:输入、输出、赋值。
算法的基本控制结构通常包括顺序结构、分支结构和循环结构。
算法是对程序控制结构的描述,而数据结构是对程序中数据的描述。
在计算机的高级语言中,数据结构是通过数据类型表现的
算法是一个有穷规则的集合,这些规则确定了解决某类问题的一个运算序列。对于该类问题的任何初始输入值,它都能机械地一步一步地执行计算,经过有限步骤后终止计算并产生输出结果。归纳起来,算法具有以下基本特征:
(1) 有穷性:一个算法必须在执行有限个 *** 作步骤后终止;
(2) 确定性:算法中每一步的含义必须是确切的,不可出现任何二义性;
(3) 有效性:算法中的每一步 *** 作都应该能有效执行,一个不可执行的 *** 作是无效的。例如,一个数被0除的 *** 作就是无效的,应当避免这种 *** 作。
(4) 有零个或多个输入:这里的输入是指在算法开始之前所需要的初始数据。这些输入的多少取决于特定的问题。有些非凡算法也可以没有输入。
(亏渣5) 有一个或多个输出:所谓输出是指与输入有某种特定关系的量,在一个完整的算法中至少会有一个输出。
算法可以用任何形式的语言和符号来描销瞎悄述,通常有自然语言、程序语言、流程图、N-S图、PAD图、伪代码等。所有的程序是直接用程序设计语言表示算法。流程图、N-S图和PAD图是表示算法的图形工具,其中,流程图是最早提出的用图形表示算法的工具,所以也称为传统流程图。它具有直观性强、便于阅读等特点,具有程序无法取代的作用。N-S图和PAD图符合结构化程序设计要求,是软件工程中强调使用的图形工具。
(3) 编制程序。
4) 调试程序。
语言、程序和程序设计;算法、算法设计和算法的表示;程序结构、结构化程序和程序风格。
语言是交流的工具,程序是指令的集合,而程序设计就是用计算机语言对所要解决的问题进行完整而准确的描述过程。一个完整的程序应该涉及到以下四个方面的问题:
数据结构、算法、编程语言、程序设计方法
程序设计过程的五个步骤是:①分析问题,建立数学模型;②确定数据结构和算法;③编制程序;④测试程序。其中第①、②步就是确定解决问题的方案;第③步是用程序语言把这个解决方案严格的描述出来;第④步是在计算机上测试这个程序。在这里,工作过程的第①、②步与其他领域里解决问题的方法相类似,只是考虑问题的基础不同、出发点不同。在程序设计领域里,我们需要从计算的观点、程序的观点出发,由此引出了数据结构、算法设计以及算法的表示等新问题。这是本章的重点,也是程序设计的基础。第③、④步是程序设计工作的非凡问题。由于程序设计具有严格规定的组成结构,各种结构有明确定义的功能和形式,要把问题解决方案转变为符合这些结构的形式,这也不是轻而易举的,需要把握相关的技术和方法。由此引出了程序的三种基本结构、流程图、N-S图和结构化程序设计等方法和技术。这些都是程序设计的基本知识,每一个程序设计工作者都必须把握。
会用一些常用算法(例如迭代法、枚举法、递归法等)解决实际问题,对于初学者来说,是至关重要的。许多初学者往往是把要解决的问题首先和程序设计语言中的语句联系在一起,影响了程序设计质量。设计算法和编写程序要分开考虑,当你还没有学习程序语言时,就学会针对一些简单问题设计算法,这是学习程序设计入门的好方法。
程序的结构化技术是程序设计的基本技术,它使得程序在逻辑上层次分明、神租结构清楚、易读、易维护,从而提高程序质量和开发效率。采用结构化程序设计方法,并且用流程图表示算法是必须的。将算法转换成程序代码,并注重程序风格,这都是编写代码时要注重的问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)