实际问题 1.用弦截法求方程的根 2.Hanoⅰ(汉诺)塔问题
1 实际问题 1. 用弦截法求方程的根 2. Hanoi(汉诺)塔问题
用弦截法求方程的根 设方程为: f(x)=x3-5x2+16x-80=0
2 用弦截法求方程的根 设方程为: f(x) = x3 - 5x2 + 16x - 80 = 0
f(x2) 0|x f(r) f(x1)
用弦截法求方程的根图示
用弦截法求方程根的算法 选取两个不同点x1X使得 f(x1)*f(x2)<0 2.计算弦与x轴的交点x; 3.若f(x)与(x1)同符号,将x作为新的x1o 若f(x)与f(x2)同符号,则将x作为新的x2 4.重复步骤2和3,直到|f(x)|<为止, ξ为一个很小的正数例如106。此时认为 f(x)≈0
4 用弦截法求方程根的算法 1. 选取两个不同点x1 , x2 , 使得 f(x1)*f(x2)<0; 2. 计算弦与x轴的交点x; 3. 若f(x)与f(x1 )同符号,将x作为新的x1。 若f(x)与f(x2 )同符号,则将x作为新的x2。 4. 重复步骤 2和 3, 直到|f(x)|<ξ为止, ξ为一个很小的正数, 例如10-6。此时认为 f(x)≈0
问题分解和模块化 寻找根的区间: f(x1)*f(x2)<0 计算函数值: f(x)=x3-5x2+16x-80 计算弦与x轴的交点x: x=X1f(x2)-X21f(x1) f(x2)-f(x1) 用弦截法逼近方程根 lf(x)|<ξ
5 问题分解和模块化 ◼ 寻找根的区间: f(x1)*f(x2)<0 ◼ 计算函数值: f(x) = x3 - 5x2 + 16x - 80 ◼ 计算弦与x轴的交点x: x = x1·f(x2) - x2·f(x1) f(x2) - f(x1) ◼ 用弦截法逼近方程根: |f(x)|<ξ
模块化程序设计的优点 分而治之 代码可重用 ■抽象技术 ■便于实现 易于维护
6 模块化程序设计的优点 ◼ 分而治之 ◼ 代码可重用 ◼ 抽象技术 ◼ 便于实现 ◼ 易于维护
模块化程序设计图示 主模块 模块1 模块2 模块3 模块4 模块5 模块6 模块7
7 模块化程序设计图示 主模块 模块1 模块2 模块3 模块4 模块6 模块7 模块5
模块化程序设计 第4章函数
模块化程序设计 第4章 函数
本章学习目标 通过本章学习,你能够 了解模块化程序设计 ■能够分解复杂问题 ■能够创建模块(函数) ■能够使用模块(函数)
9 本章学习目标 ◼ 通过本章学习,你能够 ◼ 了解模块化程序设计 ◼ 能够分解复杂问题 ◼ 能够创建模块(函数) ◼ 能够使用模块(函数)
本章主要内容 函数定义和调用 内联函数 函数间参数传递 函数重载 递归函数 函数模板 C++标准库函数■默认参数(略) 本章作业
10 本章主要内容 ◼ 函数定义和调用 ◼ 函数间参数传递 ◼ 递归函数 ◼ C++标准库函数 ◼ 本章作业 ◼ 内联函数 ◼ 函数重载 ◼ 函数模板 ◼ 默认参数(略)