正文

C++ 入门 第四章 4.9 函数的嵌套调用[1]2008-09-08 17:24:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzrj/38154.html

分享到:


 

C++不允许对函数作嵌套定义,也就是说在一个函数中不能完整地包含另一个函数。在一个程序中每一个函数的定义都是互相平行和独立的。
虽然C++不能嵌套定义函数,但可以嵌套调用函数,也就是说,在调用一个函数的过程中,又调用另一个函数。见图4.6

 
在程序中实现函数嵌套调用时,需要注意的是: 在调用函数之前,需要对每一个被调用的函数作声明(除非定义在前,调用在后)
4.9 用弦截法求方程f(x)=x3-5x2+16x-80=0的根。
这是一个数值求解问题,需要先分析用弦截法求根的算法。根据数学知识,可以列出以下的解题步骤:
(1) 取两个不同点x1,x2,如果fx1)和fx2)符号相反,(x1,x2)区间内必有一个根。如果fx1)与f(x2)同符号,则应改变x1,x2,直到fx1, f(x2)异号为止。注意x1x2的值不应差太大,以保证(x1,x2)区间内只有一个根。
(2) 连接(x1, fx1))和(x2, fx2)两点,此线(即弦)x轴于x,见图4.7
x点坐标可用下式求出:
x=x1·f(x2)-x2·f(x1)
     f(x2)-f(x1)
再从x求出f(x)
(3) f(x)fx1)同符号,则根必在(x, x2)区间内,此时x作为新的x1。如果f(x)fx2)同符号,则表示根在( x1,x)区间内,x作为新的x2
(4) 重复步骤 (2) (3) 直到 f(x)|<ξ为止, ξ为一个很小的正数, 例如10-6。此时认为 f(x)0
这就是弦截法的算法,在程序中分别用以下几个函数来实现以上有关部分功能:
(1) 用函数f(x)代表x的函数:x3-5x2+16x-80

阅读(2836) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册