从零开始学C语言
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.1 算法的概念

广义上的算法指的是解决问题的方法。就程序设计而言,算法是指计算机求解某一问题而采用的具体方法、步骤。事实上,在日常生活中解决问题经常要用算法,只是通常不用“算法”这个词罢了,例如,乐谱是乐队指挥和演奏的算法;菜谱是厨师做菜的算法,等等。

在程序设计中,算法应该能够离散成具体的若干个操作步骤,每一个步骤都是能够用程序设计语言提供的语句或者语句串来完成的。

例如,求两个整数中较大的数。解决这个问题的算法如下:

第1步 开始。

第2步 输入两个整数a、b。

第3步 比较a、b的大小,如果a>b,输出a,否则输出b。

第4步 结束。

需要注意的是,程序是有开始和结束的,所以算法必须有“开始”和“结束”这两个步骤。

计算机解题算法分为两大类:数值运算算法和非数值运算算法。数值运算算法解决的是求数值的问题,运用一定的求值公式如二元一次方程的求根公式、圆面积的计算公式等。这类算法相对比较成熟。非数值运算的算法涉及的内容比较广,而且难以量化,一般都需要参考已有的类似算法,针对具体问题重新设计。