1.1.4 实现
给定一个问题,当我们找到解决问题的算法后,接着就需要用某种计算机语言将这个算 法 表 达 出来, 最终 得到一 个能 被计算 机执 行的程 序(或代 码 ),这 个 过程称 为 实现(implementation),或者俗称为写代码(coding)。 严格地说,算法与程序是不同的:算法是用非形式化方式表述的解决问题的过程,程序
则是用形式化编程语言表述的精确代码。这样,算法设计和算法实现就分别指计算机解决问 题时的两个不同阶段。但我们经常在宽泛的意义上使用“程序”和“程序设计”这两个术语, 前者泛指算法和代码,后者泛指从问题分析直到编码实现的全过程。
设计算法是创造性的活动,要求设计者具备问题求解能力和想像力,能从宏观视野把握 问题的求解逻辑;而编码实现算法则是相对机械的活动,要求程序员具有严谨细致的作风, 能在微观层次关注细枝末节。
可见,程序设计这项活动具有一定的挑战性,但这并不意味着只有非常聪明的人才能学 习掌握程序设计。事实上,通过理论学习和动手实践,从小学生到大学生都能学会程序设计。
学习程序设计有很多好处。第一,计算机已经成为我们生活、学习和工作中普遍使用的 工具,学会编程能使我们成为计算机的主人,使计算机按我们的意志做事。第二,程序设计 能够培养我们抽象、分析和问题求解的能力,这种能力对日常生活和工作也是很重要的。第 三,编程也是一种充满乐趣的智力活动,许多人将编程当作一种爱好,发现巧妙的算法和程 序运行成功后的那种成就感令人乐此不疲。