2.1什么是算法 程序=数据结构+算法。 算法:解决问题的方法与步骤。 程序:算法的具体实现。 程序设计语言: 是程序开发工具,即是将算法转化为程序的开发工具 学习程序设计,不仅要熟练掌握程序设计语言 本身的特点、语法规则等,更重要的是掌握分 析问题、解决问题的方法,就是锻炼分析、分 解,最终归纳整理出算法的能力。 6/33
程序 = 数据结构 + 算法。 算法:解决问题的方法与步骤。 程序:算法的具体实现。 程序设计语言: 是程序开发工具,即是将算法转化为程序的开发工具 学习程序设计,不仅要熟练掌握程序设计语言 本身的特点、语法规则等,更重要的是掌握分 析问题、解决问题的方法,就是锻炼分析、分 解,最终归纳整理出算法的能力。 2.1 什么是算法 6/33
2.1.2计算机算法的分类 计算机算法可分为两大类别: 1)数值运算算法 2)非数值运算算法 ,数值运算的目的是求数值解 例如:求方程的根 ,非数值运算包括的面十分广泛,最常见的是用 于事务管理领域 例如:如图书检索、学籍管理
2.1.2 计算机算法的分类 ➢ 计算机算法可分为两大类别: 1)数值运算算法 2)非数值运算算法 ➢ 数值运算的目的是求数值解 例如:求方程的根 ➢ 非数值运算包括的面十分广泛,最常见的是用 于事务管理领域 例如:如图书检索、学籍管理
2.1.3 简单的算法举例 例2.1求1×2×3×4×5 原始方法: 太繁琐 >步骤1:求1*2,得到结果2。 ,步骤2:将步骤1得到的2再乘以3,到结果6。 ,步骤3:将6再乘以4,得24。 >步骤4:将24再乘以5,得120。 120-最后的结果。 求1×2×3×4×5×6×.×100?
2.1.3 简单的算法举例 ◼ 原始方法: ➢ 步骤1:求1*2,得到结果2。 ➢ 步骤2:将步骤1得到的2再乘以3,得到结果6。 ➢ 步骤3:将6再乘以4,得24。 ➢ 步骤4:将24再乘以5,得120。 120-最后的结果。 例2.1 求1×2×3×4×5 太繁琐 求1×2×3×4×5 ×6×. ×100?
例2.1求1×2×3×4×5 算法: 5改为10,求什么? ① 设变量p为被乘数,变量为乘数 ② 初值p=1,i=1 ③ 令p与i相乘,乘积仍放在变量p中,即: p*i→p ④ 使i的值加1,即i+1→i ⑤ 如果i不大于5,返回重新执行③:否则,结束 最后得到p的值就是5!的值
新算法: ① 设变量p为被乘数,变量i为乘数 ② 初值 p=1,i=1 ③ 令 p 与 i 相乘,乘积仍放在变量 p 中,即: p*ip ④ 使 i 的值加1,即 i+1 i ⑤ 如果 i 不大于 5,返回重新执行 ③;否则,结束 ⑥ 最后得到 p 的值就是 5! 的值 5改为10,求什么? 例2.1 求1×2×3×4×5
例2.1的扩展:求1×3×5×7×9 新算法: ① 设变量p为被乘数,变量为乘数 ② 初值p=1,i=2 ③ 令p与i相乘,乘积仍放在变量p中,即: p*i→p ④ 使i的值加2,即i+2→i ⑤ 如果ⅰ不大于9,返回重新执行③:否则,结束 最后得到p的值就是1×3×5×7×9的值
新算法: ① 设变量p为被乘数,变量i为乘数 ② 初值 p=1,i=2 ③ 令 p 与 i 相乘,乘积仍放在变量 p 中,即: p*ip ④ 使 i 的值加2,即 i+2 i ⑤ 如果 i 不大于 9,返回重新执行 ③;否则,结束 ⑥ 最后得到 p 的值就是 1×3×5×7×9 的值 例2.1的扩展: 求1×3×5×7×9