算法的特性.ppt

算法的特性

第1章 程序设计基本概念 主讲:王远敏 1.1 程序和程序设计 1 、C程序 程序:可以连续执行的一条条指令的集合。 程序设计语言:程序就是人与机器“对话”的语言。 源程序:由高级语言编写的程序。 目标程序:由二进制代码表示的程序。 编译程序:把源程序翻译成目标程序。 C源程序:由C语言构成的指令序列。 C程序的目标文件:.OBJ 可执行文件:.EXE 2、程序设计 (1)确定数据结构:输入数据、输出数据等 (2)确定算法:解决问题、完成任务的步骤 (3)编码:用计算机语言编写程序代码(编程) (4)在计算机上调试程序 (5)整理并写出文档资料 1.2 算法 1. 算法是解决“做什么”和“怎么做”的问题。程序中的操作语句就是算法的体现。做任何事情都有一定的步骤。 例如:从北京去天津开会需要的步骤为 买火车票 2. 算法:广义地说,为解决一个问题而采取的方法和 步骤,就成为算法。 在解决一个问题的时候,不仅要保证算法的正确,还 -要考虑算法的质量,选择合适的算法。 计算机算法可以分为两大类别: 数值运算算法和非数值运算算法。 数值运算算法:目的是求数值解。例如求方程 的根。 非数值运算算法:包括面非常广泛,最常用于事务管 理领域,如图书检索、人事管理、 行车调度管理等。 3. 算法的特性 一个正确的算法应该具有以下特性 1.有穷性 一个算法包含的步骤应该是有限的,而不能是无穷的。并且 在实际的应用中,有穷性往往指步骤的数量在合理的范围之内。若 包含的步骤太多,不符合实际,同样称为无效算法。 2.确定性 确定性指算法中的每一个步骤都应当是确定的,而不能是含 糊、摸棱两可。 3.有零个或多个输入 输入:指在计算机执行我们的算法时需要从外界取得的必要的信息。 4.有一个或多个输出 5.可行性 1.3 结构化程序设计和模块化结构 1、 结构化程序:由三种基本结构组成 (1)顺序结构 (2)选择结构 (3)循环结构 结构化算法:由三种基本结构所构成的算法。 结构化程序:由三种基本结构所构成的程序。 2、模块化结构 结构化程序设计的方法 (1)自顶向下 (2)逐步细化 (3)模块化设计 (4)结构化编码 * C语言的特点 语言简洁紧凑,使用方便灵活。 C语言一共只有32个关键字,9种控制语句,程序书写主要用小 写字母表示。 运算符丰富。 C的运算符包含的范围广泛,共有34种运算符。 数据结构丰富。 具有现代化语言的各种数据结构。 具有结构化的控制语句。 例如if……else; while,do……while等等。 语法限制不严格,程序设计自由度大。 例如,对数组下标越界不做检查;整型量与字符型数据以及逻辑型数据可以通用。 C语言允许直接访问物理地址,能进行位操作。 生成目标代码质量高,程序执行效率高。 用C语言写的程序可移植性好。 因此用C语言编写对操作系统和系统实用程序以及对硬件进行 操作的场合,其优势明显高于其他的高级语言。另外也可以看出C 语言对程序员的要求较高。 简单的C程序介绍 例1 #include stdio.h void main( ) { printf (“This is a c program.\n”); } 本程序的作用是输入以下一行信息: This is a c program. 例 2 #include stdio.h void main( ) { int a,b,sum; a=123; b=456; sum=a+b; printf(“sum is %d\n”,sum); } 运行结果为: sum is 579. 通过以上例题我们可以看到: C程序是由函数构成的。 函数是C程序的基本单位。一个C源程序至少包含一个main函数, 也可以包含一个main函数和若干其他函数。 一个函数由两部分组成: a.函数首部,即函数的第一行。(函数名、函数类型、函数属 性、函数参数名、参数类型) int max ( int x, i

文档评论(0)

1亿VIP精品文档

相关文档