
程序设计基础(B)1 主讲:刘晓红 Tel:13969301061 Email:Ixhsdut@163.com Office:西9#409 ACM Lab:西9#409、: 501、504、508 1/10
程序设计基础(B)I 主讲:刘晓红 Tel:13969301061 Email:lxhsdut@163.com Office:西9#409 ACM Lab:西9#409、501、504、508 1/10

第2章 算法设计基础 2/10
第2章 算法设计基础 2/10

程序设计的目的:计算机按照设定的执行流程完成指定任务。 程序设计的关键 ①对什么样的数据进行处理? ◆明确处理对象,给出准确的数据化描述; ◆根据需求,确定数据类型、元素之间的相互关系,组织数据的存 储结构。 ②如何对数据进行处理? ◆明确对处理对象的操作流程; ◆程序的指令组成,指令的排列顺序。 3/10
① 对什么样的数据进行处理 ? ◆明确处理对象,给出准确的数据化描述; ◆根据需求,确定数据类型、元素之间的相互关系,组织数据的存 储结构 。 ② 如何对数据进行处理 ? ◆明确对处理对象的操作流程; ◆程序的指令组成,指令的排列顺序。 程序设计的目的:计算机按照设定的执行流程完成指定任务。 程序设计的关键 3/10

程序=数据结构+算法 对数据的描述,即数据结 构。在C语言中,系统提 供的数据结构,是以数据 类型的形式出现的。 对数据处理的描述,即计 算机算法。算法是为解决 获得图灵奖的Pascal之父 一个问题而采取的方法和 Niklaus Wirth 步骤,是程序的灵魂。 瑞典人伯克利斯坦福 4/33
程序=数据结构+算法 ◼ 对数据处理的描述,即计 算机算法。算法是为解决 一个问题而采取的方法和 步骤,是程序的灵魂。 获得图灵奖的Pascal之父 Niklaus Wirth 瑞典人 伯克利 斯坦福 ◼ 对数据的描述,即数据结 构。在C语言中,系统提 供的数据结构,是以数据 类型的形式出现的。 4/33

本章知识点 2.1什么是算法 解决问题的方法与步骤 ■ 2.2算法的特征五个特性 有穷性确定性可行性 输入(零个或多个) 输出(一个或多个) ■2.3算法的表示方法(重点) ■2.4程序设计中常用的方法 恩 5/10
本章知识点 ◼ 2.1 什么是算法 解决问题的方法与步骤 ◼ 2.2 算法的特征 五个特性 有穷性 确定性 可行性 输入(零个或多个) 输出(一个或多个) ◼ 2.3 算法的表示方法(重点) ◼ 2.4 程序设计中常用的方法 5/10

2.1什么是算法 程序=数据结构+算法。 算法:解决问题的方法与步骤。 程序:算法的具体实现。 程序设计语言: 是程序开发工具,即是将算法转化为程序的开发工具 学习程序设计,不仅要熟练掌握程序设计语言 本身的特点、语法规则等,更重要的是掌握分 析问题、解决问题的方法,就是锻炼分析、分 解,最终归纳整理出算法的能力。 6/33
程序 = 数据结构 + 算法。 算法:解决问题的方法与步骤。 程序:算法的具体实现。 程序设计语言: 是程序开发工具,即是将算法转化为程序的开发工具 学习程序设计,不仅要熟练掌握程序设计语言 本身的特点、语法规则等,更重要的是掌握分 析问题、解决问题的方法,就是锻炼分析、分 解,最终归纳整理出算法的能力。 2.1 什么是算法 6/33

2.1.2计算机算法的分类 计算机算法可分为两大类别: 1)数值运算算法 2)非数值运算算法 ,数值运算的目的是求数值解 例如:求方程的根 ,非数值运算包括的面十分广泛,最常见的是用 于事务管理领域 例如:如图书检索、学籍管理
2.1.2 计算机算法的分类 ➢ 计算机算法可分为两大类别: 1)数值运算算法 2)非数值运算算法 ➢ 数值运算的目的是求数值解 例如:求方程的根 ➢ 非数值运算包括的面十分广泛,最常见的是用 于事务管理领域 例如:如图书检索、学籍管理

2.2算法的特性 算法具有下面五个特性: 有穷性:一个算法应包含有限的操作步骤,且每个 步骤执行时间是有限的。 2) 确定性:算法中的每个步骤含义明确,无二义性。 3) 可行性:算法中描述的操作都能实现。 4) 输入:一个算法应具有零个或多个输入。 5)输出:一个算法应具有一个或多个输出
算法具有下面五个特性: 1)有穷性:一个算法应包含有限的操作步骤, 且每个 步骤执行时间是有限的。 2)确定性:算法中的每个步骤含义明确,无二义性。 3)可行性:算法中描述的操作都能实现。 4)输入:一个算法应具有零个或多个输入。 5)输出:一个算法应具有一个或多个输出。 2. 2 算法的特性

2.3算法的表示方法 常用的算法描述方法如下: ① 自然语言 ②流程图 ③N-S图 ④伪代码 9/10
常用的算法描述方法如下: ① 自然语言 ② 流程图 ③ N-S图 ④ 伪代码 2.3 算法的表示方法 9/10

2.3.1用自然语言表示算法 例:编程求1+2+3+.+100 自然语言算法描述如下: ①累加和变量Sum=0、计数变量n=0;-定义初值 ② 判断nsum,n+1=>n;转②; ④ 输出sum.o 10/10
例: 编程求1+2+3+.+100 自然语言算法描述如下: ① 累加和变量sum=0、计数变量n=0;-定义初值 ② 判断nsum,n+1=>n;转②; ④ 输出sum.。 2.3.1 用自然语言表示算法 10/10