文章作者 100test 发表时间 2007:04:06 21:30:36
来源 100Test.Com百考试题网
用计算机语言为计算机编写程序,解决某种问题,我们也称之为程序设计。程序设计需要有一定的方法来指导,例如,前面我们提到的一元二次方程求解的算法简单,而对于字符串的处理就要复杂一些,涉及到字符串的合并、拷贝、比较等,不是一个算法能够表达的。也就是说,这需要对问题进行分解。对问题如何进行抽象和分解,对程序如何进行组织,使得程序的可维护性、可读性、稳定性、效率等更好,是程序设计方法研究的问题。目前,有两种重要的程序设计方法:结构化的程序设计和面向对象的程序设计,下面分别作一个简单的介绍。
什么是程序?
程序规定了计算机执行的动作和动作的顺序。如同开会的议程,每周的课程安排表一样。一个程序应包括以下两方面的内容:
(1) 对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构。
(2) 对操作的描述。即操作步骤,也就是算法。
数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。作为程序设计人员,必须认真考虑和设计数据结构和操作步骤。著名的计算机科学家Nikiklaus Wirth提出了一个公式:
程序 = 数据结构 + 算法。
程序设计和程序编码
一些程序员,尤其是初学程序设计者,常常认为程序设计就是用某种程序设计语言编写代码,这其实是错误的认识。上述工作应该被看成为编码(coding),它是在程序设计完成之后才开始的。拿房屋设计的例子来讲,房屋设计这个过程不涉及砌转垒瓦的具体工作,这些工作是房屋施工阶段进行的。在完成了房屋设计,有了设计图纸之后,施工阶段才能开始。如果不作设计,直接施工,很难想象房屋能不能建造完成,或者建造的房屋合不合要求。同样,程序设计一定要在具体的程序编码之前完成。程序设计完成的好坏直接影响了后面的编码质量。
程序流程图
图1-3 | |||||||||||||||||
|
与房屋设计中有图纸一样,程序设计也有自己的表达方式。一种常用的程序设计表达方式是程序流程图。流程图也有不同的表示形式。我们只介绍传统的流程图。
流程图用一些图框表示各种操作,形象直观,易于理解。ANSI(American National Standard Institute, 美国国家标准化协会)规定了一些常用的流程图符号,已为世界各国程序工作者普遍采用。
我们以求n!为例说明流程图如何表示程序流程,见图1-4。
通过上面的例子,可以看出流程图是表示算法的较好工具。一个流程图包括以下几部分:(1)表示相应操作的框;(2)带箭头的流程线;(3)框内外必要的说明文字。需要注意的是:流程线必须加箭头,因为它是反映程序的执行先后次序的,如果不画箭头就难以判定各框的执行顺序了。
图1-4 程序流程图动画