第2章 算法——程序的灵魂
一个程序主要包括以下两方面的信息
(1)对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式,这就是数据结构。
(2)对操作的描述。即要求计算机进行操作的步骤,也就是算法。
算法 + 数据结构 = 程序
什么是算法?
广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。
算法的特征
一个有效的算法应该具有以下特点:
(1)有穷性。
(2)确定性。
(3)有零个或多个输入。
(4)有一个或多个输出。
(5)有效性。
传统流程图的弊端
传统的流程图用流程线指出各框的执行顺序,对流程图的使用没有严格限制。因此,使用者可以不受限制地使流程随意地转来转去,使流程图变得毫无规律,阅读时要花费很大精力去追踪流程,使人难以理解算法的逻辑。
三种基本结构
(1)顺序结构
(2)选择结构
(3)循环结构
a.当型(while型)循环结构
b.直到型(until型)循环结构
以上三种基本结构,有以下共同特点:
(1)只有一个入口
(2)只有一个出口
(3)结构内的每一部分都有机会被执行到
(4)结构内不存在“死循环”(无终止的循环)