程序设计(Programming)是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。
程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。专业的程序设计人员常被称为程序员。
某种意义上,程序设计的出现甚至早于电子计算机的出现。英国著名诗人拜伦的女儿Ada Lovelace曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。由于她在程序设计上的开创性工作,Ada Lovelace被称为世界上第一位程序员。
任何设计活动都是在各种约束条件和相互矛盾的需求之间寻求一种平衡,程序设计也不例外。在计算机技术发展的早期,由于机器资源比较昂贵,程序的时间和空间代价往往是设计关心的主要因素;随着硬件技术的飞速发展和软件规模的日益庞大,程序的结构、可维护性、复用性、可扩展性等因素日益重要。
1,程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。
2,程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。专业的程序设计人员常被称为程序员。
3,任何设计活动都是在各种约束条件和相互矛盾的需求之间寻求一种平衡,程序设计也不例外。在计算机技术发展的早期,由于机器资源比较昂贵,程序的时间和空间代价往往是设计关心的主要因素;
4,随着硬件技术的飞速发展和软件规模的日益庞大,程序的结构、可维护性、复用性、可扩展性等因素日益重要。
5,程序设计是对软件进行规划,对软件中所用到的架构,数据结构进行设计,而不管具体的算法,因为在面向对象的设计里,算法是属于某个类的,是局部的。
总之程序设计相当是在确定轮船航行的大方向。
程序设计方法包括三个基本步骤:第一步:分析问题。
第二步:画出程序的基本轮廓。
第三步:实现该程序。
(1) 编写程序;
(2) 测试和调试程序;
(3) 提供数据打印结果。
下面, 我们来说明每一步的具体细节。
第一步: 分析问题
在这一步, 你必须:
a.作为解决问题的一种方法, 确定要产生的数据(输出)。 作为这一子步的一部分, 你应定义表示输出的变量。
b.确定需产生输出的数据(称为输入), 作为这一子步的一部分,你应定义表示输入的变量。
c. 研制一种算法, 从有限步的输入中获取输出。 这种算法定义为结构化的顺序 *** 作, 以便在有限步内解决问题。就数字问题而言, 这种算法包括获取输出的计算, 但对非数字问题来说, 这种算法包括许多文本和图象处理 *** 作。
第二步: 画出程序的基本轮廓
在这一步, 你要用一些句子(伪代码)来画出程序的基本轮廓。每个句子对应一个简单的程序 *** 作。对一个简单的程序来说,通过列出程序顺序执行的动作, 便可直接产生伪代码。然而, 对复杂一些的程序来说, 则需要将大致过程有条理地进行组织。对此, 应使用自上而下的设计方法。
当使用自上而下的设计方法时, 你要把程序分割成几段来完成。列出每段要实现的任务, 程序的轮廓也就有了, 这称之为主模块。当一项任务列在主模块时, 仅用其名加以标识, 并未指出该任务将如何完成。这方面的内容留给程序设计的下一阶段来讨论。将程序分为几项任务只是对程序的初步设计。整个程序设计归结为下图所示的流程图1.。
如果把主模块的每项任务扩展成一个模块, 并根据子任务进行定义的话, 那么, 程序设计就更为详细了(见图2.)。这些模块称为主模块的子模块。程序中许多子模块之间的关系可象图2.中那样归结为一张图。这种图称为结构图。
要画出模块的轮廓, 你可不考虑细节。如果这样的话, 你必须使用子模块, 将各个模块求精, 达到第三级设计。继续这一过程, 直至说明程序的全部细节。这一级一级的设计过程称为逐步求精法。在编写程序之前, 对你的程序进行逐步求精, 对你来说, 是很好的程序设计实践, 会使你养成良好的设计习惯。
我们则才描述了程序设计中自上而下的设计方法。实际上就是说, 我们设计程序是从程序的"顶部"开始一直考虑到程序的"底部"。
第三步: 实现该程序
程序设计的最后一步是编写源码程序。 在这一步,把模块的伪代码翻译成C语句。
对于源程序, 你应包含注释方式的文件编制, 以描述程序各个部分做何种工作。此外, 源程序还应包含调试程序段, 以测试程序的运行情况, 并允许查找编程错误。一旦程序运行情况良好, 可去掉调试程序段, 然而,文件编制应做为源程序的固定部分保留下来, 便于你或
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)