1.5 编写程序的基本步骤
编写程序有一个基本的思路,也就是解决问题的基本步骤。一般解决问题有如下4个基本步骤:
(1)分析问题,确定数学模型或方法。要用计算机解决实际问题,首先要对待解决的问题进行详细分析,弄清楚问题的要求,包括需要输入什么数据、要得到什么结果、最后应输出什么。即弄清要计算机“做什么”。然后把实际问题简化,用数学语言来描述它,这称为建立数学模型。建立数学模型后,需要选择计算方法,即选择用计算机求解该数学模型的近似方法。不同的数学模型,往往要进行一定的近似处理。对于非数值计算则要考虑对数据处理的需求和方法等问题。
(2)设计算法,画出流程图。弄清楚要计算机“做什么”后,就要明确要计算机“怎么做”,即设计算法(Algorithm)。也就是把问题的数学模型或处理需求转化为计算机解题的步骤。解决一个问题,可能有多种算法。这时,应该通过分析、比较,挑选一种最优的算法。算法设计后,要用流程图把算法形象地表示出来。
(3)选择编程工具,按算法编写程序。当确定了解决问题的算法后,还必须将该算法用某种程序设计语言编写成程序,这个过程称为编码(Coding)。
(4)调试程序,分析输出结果。编写完成后的程序,不一定完全符合实际问题的要求,还必须在计算机上运行这个程序,排除程序中可能的错误,才能得到结果。这个过程称为调试(Debugging)。即使是经过调试的程序,在使用一段时间后,仍然会发现错误或不足之处。这就需要对程序做进一步的修改,使之更加完善。
在以上解决问题的步骤中,第(2)步是核心。在程序设计或软件开发中,关键是如何设计出一个解决问题的算法。因此在编写程序之前,首先要分析问题,形成自己的算法。对程序设计的初学者来说,可以先借鉴别人设计好的算法来解决问题,多思考,多实践,编程多了,自然会自己设计算法。
算法的优劣直接反映出解决问题思想和方法的好坏。一个好的算法可以很快(在很短的时间)解决问题,而一个稍微差一些的算法可能需要很长的时间才能解决问题,甚至不能或不能按期解决问题。所以算法是程序设计的核心。解决问题的算法不是仅从程序设计课程中学习到,它是一种方法或是一种思想,需要从各个知识领域中学习,从已经具备的知识中总结。