C
程序设计方法包括三个基本步骤:
第一步:分析问题。
第二步:画出程序的基本轮廓。
第三步:实现该程序。 (1)编写程序; (2)测试和调试程序;,(3)提供数据打印结果。
下面,我们来说明每一步的具体细节。
第一步:分析问题
在这一步,你必须:
a. 作为解决问题的一种方法,确定要产生的数据(输出)。作为这一子步的一部分,你应定义表示输出的变量。
b. 确定需产生输出的数据(称为输入),作为这一子步的一部分,你应定义表示输入的变量。
c.研制一种算法,从有限步的输入中获取输出。这种算法定义为结构化的顺序操作,以便在有限步内解决问题。就数字问题而言,这种算法包括获取输出的计算, 但对非数字问题来说,这种算法包括许多文本和图象处理操作。
第二步:画出程序的基本轮廓
在这一步,你要用一些句子(伪代码)来画出程序的基本轮廓。每个句子对应一个简单的程序操作。对一个简单的程序来说,通过列出程序顺序执行的动作,便可直接产生伪代码。然而,对复杂一些的程序来说,则需要将大致过程有条理地进行组织。对此,应使用自上而下的设计方法。
当使用自上而下的设计方法时,你要把程序分割成几段来完成。列出每段要实现的任务,程序的轮廓也就有了,这称之为主模块。当一项任务列在主模块时,仅用其名加以标识,并未指出该任务将如何完成。这方面的内容留给程序设计的下一阶段来讨论。将程序分为几项任务只是对程序的初步设计。整个程序设计归结为下图所示的流程图1.。
如果把主模块的每项任务扩展成一个模块,并根据子任务进行定义的话,那么,程序设计就更为详细了(见图2.)。这些模块称为主模块的子模块。程序中许多子模块之间的关系可象图2.中那样归结为一张图。这种图称为结构图。
要画出模块的轮廓,你可不考虑细节。如果这样的话, 你必须使用子模块,将各个模块求精,达到第三级设计。继续这一过程,直至说明程序的全部细节。这一级一级的设计过程称为逐步求精法。在编写程序之前,对你的程序进行逐步求精,对你来说,是很好的程序设计实践,会使你养成良好的设计习惯。
我们则才描述了程序设计中自上而下的设计方法。实际上就是说,我们设计程序是从程序的"顶部"开始一直考虑到程序的"底部"。
第三步:实现该程序
程序设计的最后一步是编写源码程序。在这一步,把模块的伪代码翻译成 C语句。
对于源程序,你应包含注释方式的文件编制, 以描述程序各个部分做何种工作。此外,源程序还应包含调试程序段,以测试程序的运行情况,并允许查找编程错误。一旦程序运行情况良好,可去掉调试程序段,然而,文件编制应做为源程序的固定部分保留下来,便于你或其他人维护和修改。
编写一个C程序需要这么麻烦吗?
编写一个简单程序当然不需要这么麻烦,但是这是训练你解决问题的方法,如果你坚持这么做你以后会感到收益非浅,因为我们学程序设计目的是进行软件开发,而现在早已不再是求伯均、王江民软件开发个人英雄时代,而是软件开发的规模化时代,软件设计的规范化是每一个程序员应具备的基本技能。
下面讲一个小故事:现在公认的是印度是一个软件开发的大国,中国的软件开发与之相差甚远。有人想测试一下中国程序员与印度程序员的水平,分别让5个中国程序员和5个印度程序员编写一个程序,5个印度程序员编写的几乎一模一样,而5个中国程序员编写的程序几乎千差万别。这个故事未必是真,但说明了印度的程序设计很规范,而我们得软件开发还在低水平上重复开发。
中国的一个程序员能力都很强,并不比印度程序员差,甚至比他们更聪明,但没有形成合力,程序设计不规范【一家之言,说的不对或欠妥请原谅】
摘自《Turbo C/C++ for Windows 集成实验与学习环境》得C语言学习指导。