PDF版本_谭浩强c语言程序设计. 第二章 程序的灵魂-算法
2
程序的灵魂—算法...................................................................................................................1 2.1 算法的概念...............................................................................................................1 2.2 简单算法举例...........................................................................................................1 2.3 算法的特性...............................................................................................................4 2.4 怎样表示一个算法...................................................................................................4
2.4.1 用自然语言表示算法.......................................................................................4 2.4.2 用流程图表示算法...........................................................................................4 2.4.3 三种基本结构和改进的流程图.......................................................................8 2.4.4 用N-S流程图表示算法....................................................................................9 2.4.5 用伪代码表示算法.........................................................................................10 2.4.6 用计算机语言表示算法.................................................................................11 2.5 结构化程序设计方法.............................................................................................11
2 程序的灵魂—算法
一个程序应包括:
z 对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构(data
structure)。
z 对操作的描述。即操作步骤,也就是算法(algorithm)。 Nikiklaus Wirth提出的公式:
数据结构+算法=程序
教材认为:
程序=算法+数据结构+程序设计方法+语言工具和环境
这4个方面是一个程序涉及人员所应具备的知识。
本课程的目的是使同学知道怎样编写一个C程序,进行编写程序的初步训练,因此,只介绍算法的初步知识。
2.1 算法的概念
做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。 z 计算机算法:计算机能够执行的算法。 z 计算机算法可分为两大类:
数值运算算法:求解数值;
非数值运算算法:事务管理领域。
2.2 简单算法举例
【例2.1】求1×2×3×4×5。 最原始方法:
步骤1:先求1×2,得到结果2。