程序是运行在电子计算机上,用于实现某种功能的一组指令的集合。程序的规定与功能的复杂度有关,一般而言,功能越复杂,程序的规模就越大。下面将从程序的开发流程、程序的编写方法、编程约定和数据的表示等方面对程序实现方法进行说明。
程序开发流程
为了保证程序与问题统一,也保证程序能长期稳定使用,人们将程序的开发过程分为以下6个阶段。
1.分析问题
编程的目的是控制计算机解决问题,在解决问题之前,应充分了解要解决的问题,明确真正的需求,避免因理解偏差而设计出不符合需求的程序。
2.划分边界
准确描述程序要“做什么”,此时无须考虑程序具体要“怎么做”。例如小李明天要从家出发到公司,对于此问题,只需要关心核心人物“小李”从“家里”出发,最终到达“公司”,至于小李如何从家到达公司,不需要考虑。在这一阶段可利用IPO(Input, Process, Output)方法描述问题,确定程序的输入、处理和输出之间的总体关系。
3.程序设计
这一步需要考虑“怎么做”,即确定程序的结构和流程。对于简单的问题,使用IPO方法描述,再着重设计算法即可。对于复杂的程序,应先“化整为零,分而治之”,即将整个程序划分为多个“小模块”,每个小模块实现小功能,将每个小功能当作独立的处理过程,为其设计算法,最后再“化零为整”设计可以联系各个小功能的流程。
4.编写程序
使用编程语言编写程序。这一阶段首先要考虑的是编程语言的选择,不同的编程语言在性能、开发周期、可维护性等方面有一定的差异,实际开发中开发人员会对性能、周期、可维护性等因素进行一定的考量。
5.测试与调试
运行程序,测试程序的功能,判断功能是否与预期相符,是否存在疏漏。如果程序存在不足,应着手定位和修复(即“调试”)程序。在这一过程中应尽量多地考量与测试。
6.升级与维护
程序并不会完全完成,哪怕它已投入使用。后续需求方可能提出新的需求,此时需要为程序增加新的功能,对其进行升级;程序使用时可能会产生问题,或发现漏洞,此时需要完善程序,对其进行维护。
综上所述,解决问题的过程不单单是程序编写的问题,问题分析、划分边界、程序设计、程序测试与调试、升级与维护亦是解决问题不可或缺的步骤。