
程序设计基础(上) 张立红 13405330459(88028) QQ:2653453357 9#501
程序设计基础(上) 张立红 13405330459(88028) QQ:2653453357 9#501

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

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

程序=数据结构+算法 数据结构:是对数据的描述。 在C语言中,数据结构是以数据类型的形式出现的。 算法:对数据处理的描述,算法是为解决一个问题而采 取的方法和步骤,是程序的灵魂
程序 = 数据结构 + 算法 ➢ 算法:对数据处理的描述,算法是为解决一个问题而采 取的方法和步骤,是程序的灵魂。 ➢ 数据结构:是对数据的描述。 ➢ 在C语言中,数据结构是以数据类型的形式出现的

本章知识点 2.1什么是算法 2.2算法的特征 2.3算法的表示方法(重点) 2.4程序设计中常用算法简介一了解
本章知识点 2.1 什么是算法 2.2 算法的特征 2.3 算法的表示方法(重点) 2.4 程序设计中常用算法简介—了解

2.1什么是算法 算法:解决问题的方法与步骤。是问题求解过程中的精 确描述,一个算法由有限条可以完全机械地执行的、有确 定结果的指令组成。 程序:算法的具体实现。 程序设计语言:是程序开发工具,即是将算法转化为程 序的开发工具。 学习程序设计,不仅要熟练掌握程序设计语言本身 的特点、语法规则等,夏重要的是掌握分桥问题、解决 问题的方法一一一锻炼分桥、分解,最绝归纳整理出算法 的能力
算法:解决问题的方法与步骤。是问题求解过程中的精 确描述,一个算法由有限条可以完全机械地执行的、有确 定结果的指令组成。 程序:算法的具体实现。 程序设计语言:是程序开发工具,即是将算法转化为程 序的开发工具。 学习程序设计,不仅要熟练掌握程序设计语言本身 的特点、语法规则等,更重要的是掌握分析问题、解决 问题的方法-锻炼分析、分解,最终归纳整理出算法 的能力。 2. 1 什么是算法

2.1.1日常生活中的算法 >对同一个问题可以有不同的解题方法和步骤一算法 例如,求1+2+3+.+50 方法1:1+2+3+.+50=50+(1+49)+(2+48)+(3+47) +.+(24+26)+25=50×25+25=1275 方法2:1+2+3+.+50=(1+50)+(2+49)+(3+48) +.+(25+26)=51×25=1275 结论:算法有优劣之分
2.1.1 日常生活中的算法 ➢ 对同一个问题可以有不同的解题方法和步骤—算法 例如,求1+2+3+.+50 方法1: 1+2+3+.+50 = 50+(1+49)+(2+48)+(3+47) +.+(24+26)+25 = 50×25 + 25 = 1275 方法2:1+2+3+.+50 =(1+50)+(2+49)+(3+48) +.+(25+26)= 51×25 = 1275 结论:算法有优劣之分

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

2.1.3简单的算法举例 例1:求1×2×3×4×5 ·原始方法: 太繁琐 >步骤1:求1*2,得到结果2。 >步骤2:2再乘以3,得到结果6。 >步骤3:6再乘以4,得24。 >步骤4:24再乘以5,得120。 120-最后的结果。 求1×2×3×4×5×6×.X1002
2.1.3 简单的算法举例 • 原始方法: ➢步骤1:求1*2,得到结果2。 ➢步骤2:2再乘以3,得到结果6。 ➢步骤3:6再乘以4,得24。 ➢步骤4:24再乘以5,得120。 120-最后的结果。 例1 :求1×2×3×4×5 太繁琐 求1×2×3×4×5 ×6×. ×100?

例1:求1×2×3×4×5 新算法: 5改为10,怎么做? ①设变量p为被乘数,变量为乘数 ② 初值p=1,=1 ③ 令p与i相乘,乘积仍放在变量p中,即:p*i台p ④ 使i的值自已加1,即i+1→i 循环 ⑤ 如果ⅰ不大于5,返回重新执行③; 否则,结束! 最后得到p的值就是1×2×3×4×5的值
新算法: ① 设变量p为被乘数,变量i为乘数 ② 初值 p=1,i=1 ③ 令 p 与 i 相乘,乘积仍放在变量 p 中,即:p*ip ④ 使 i 的值自己加1,即 i+1 i ⑤ 如果 i 不大于 5,返回重新执行 ③; 否则,结束! 最后得到 p 的值就是 1×2×3×4×5 的值 5改为10,怎么做? 例1: 求 1×2×3×4×5 循环