教孩子学编程(信息学奥赛C语言版)
上QQ阅读APP看书,第一时间看更新

2.7 算法:程序解决问题的处理步骤

编程是为了让计算机帮助我们解决各种各样的问题,任何问题的解决都有一定的方法和步骤,计算机解决问题的处理步骤我们称之为算法

在计算机编程的过程中,提到“算法”总是让人觉得很深奥,很难理解到底什么是算法?以及算法在程序设计过程中起到了什么作用?其实在现实生活中我们经常会用“算法”的思想在解决一些问题,最常见的就是根据菜谱做菜。

菜谱记录了做出各色各样美味菜品的方法步骤。比如制作红烧肉的菜谱,会把制作红烧肉所必需的材料及用量都标注清楚,并且把烹制的过程、每一步需要的时间等都详细记录下来。任何人只要完全按照菜谱的方法和步骤去做,就一定能烹制出美味的红烧肉。而“算法”就是能让程序员编写出可靠、高效的计算机程序的“菜谱”(见图2.5)。

图2.5 算法就是计算机解决问题的具体步骤

编程是为了让计算机解决特定的问题,编程之前首先需要明确计算机解决该问题的具体步骤,这个处理步骤就是编写该程序所需要的“算法”。解决一个问题可以用不同的方法和步骤,因而针对同一问题的算法也有多种(见图2.6)。而编写程序就是通过某一种程序设计语言(比如C语言)对算法的具体实现。算法独立于任何程序设计语言,同一算法可以用不同的程序设计语言来实现(见图2.7)。

图2.6 对于同一个问题,往往会有不同的算法

图2.7 同一算法可以用不同的程序设计语言来编程实现