1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,算法案例(3),二分法求近似解,第1页,现有一商品,价格在08000元之间,采取怎样策略才能在较短时间内猜出正确答案?,第一步:报“4000”;,第二步:若主持人说“高了”(说明答案在14000之间),就报“”,不然(答数在40008000之间)报“6000”;,第三步:重复第二步报数方法,直至得到正确结果。,第2页,怎样赋值,从第二步算法分析:答案x*必定在两个端点a,b之间,只是这两个端点a,b不停改变,我们能够用赋值手法使两个端点a,b相对固定,则x*=(a+b)/2,第3页,第一步:能够给指
2、定区间端点为a,b(a0,则x*(x0,b),以x0代替a;,若f(a)*f(x0)0,则x*(a,x0),以x0代替b;,S3 若|a-b|c,计算终止,此时x*x0,不然转S1,第5页,流程图与伪代码,10 Rend a,b,c,20 x,0,(a+b)/2,30 f(a)a,3,-a-1,40 f(x,0,)x,0,3,-x,0,-1,50 If f(x,0,)=0 Then Go To 120,60 If f(a)f(x,0,)0 Then,70 b x,0,80 Else,90 a x,0,100 End If,110 If|a-b|c Then Go To 20,120 Print
3、 x,0,输入a,b,c,输出x,0,bx,0,ax,0,f(a)a,3,-a-1,f(x,0,)x,0,3,-x,0,-1,X,0,(a+b)/2,|a-b|c,f(a)f(x,0,)0,f(x,0,)=0,Y,N,Y,N,Y,第6页,数学理论,用二分法设计求方程f(x)0近似根算法基本步骤:,1确定近似根所在基础区间a,b和近似根准确度c;,2.求有根区间中点,判断是否满足精度要求;,3求区间端点函数值,f(a),f(b),4.判断f(a)f(b)符号,改变有根区间下限或上限,5循环求近似根,6输出根近似值,第7页,巩固利用,例2 将以二分法求方程x2-20近似根(准确度为0.005)一个算法补充完整,解:Sl 令f(m)x2-2,因为f(1)0,所以设x1l,x22,S2 令m,,判断f(m)是否为0。若是,则m为所求;若否,则继续判断,S3 若,,则x1m;不然令x2m,S4 判定,0.005是否成立。若是,则x1,x2之间任意取值均为满足条什近似根,若否,则,第8页,例3仟意给定一个大于正整数,设计一个算法求全部因数,依次以()为除数去除,检验余数是否为,若是,则是n因数;若不是,则不是因数;,在因数中加入1和n;,输出全部因数,第9页,回顾反思,第10页,