
高中数学1.4算法案例3课件苏教版必修三.ppt
11页已学过的伪代码中的几种基本算法语句已学过的伪代码中的几种基本算法语句:(1)赋值语句赋值语句:变量变量←←表达式或变量或常数表达式或变量或常数..(2)输入语句输入语句: Read a,b(3)输出语句输出语句:(4)条件语句条件语句:Print a,bIf A Then B Else CEnd If 复习复习当型语句当型语句:While p循环体循环体End while直到型语句直到型语句:Do循环体循环体Until pEnd Do循环语句循环语句伪代码中的伪代码中的:pAYNpAYN当循环的次数已经确定,可用当循环的次数已经确定,可用“For”语句表示语句表示..“For”“For”语句伪代码格式:语句伪代码格式: For I From “初值初值” To “终值终值” step “步步长长” …… End For例例1 用二分法求方程用二分法求方程x2--2x--1==0的近似解(精确到).的近似解(精确到). 首先画出函数首先画出函数f(x)==x2--2x--1的的图象,从象,从图象上可以象上可以发现::方程方程x2--2x--1==0的一个根的一个根x1在区在区间(--1,,0)内,另一个根内,另一个根x2在区在区间(2,,3)内.内.据函数据函数图象,我象,我们发现:: f(2)=-=-1<0,,f(3)==2>0,即,即f(2)·f(3)<0,,由二次函数的由二次函数的单调性表明性表明图象在区象在区间(2,,3)内内仅穿越穿越x轴一次,即方程在区一次,即方程在区间(2,,3)内有惟一解.内有惟一解.可以将区可以将区间一分一分为二,使包含根的区二,使包含根的区间长度度缩小小下面下面计算算2,,3的平均的平均值(以下称之以下称之为区区间的中点的中点)所所对应的函数的函数值f(2.5),并,并进一步一步缩小根所在小根所在的区的区间.. f(2.5)==0.25>0,即,即f(2)·f(2.5)<0,,故近似解在区故近似解在区间(2,,2.5)内.内.引入引入通通过依次取区依次取区间中点的方法,将根所在的区中点的方法,将根所在的区间逐步逐步缩小,并列出表格:小,并列出表格:区区 间区区间中点的中点的值中点中点对应的函数的函数值(2,,3)2.50.25(2,,2.5)2.25--0.4375(2.25,,2.5)2.375--0.10938(2.375,,2.5)2.43750.066406(2.375,,2.4375) 直到区直到区间两个端点两个端点值精确到精确到时的近似的近似值都是,所以方程的一个近似解都是,所以方程的一个近似解为..注:由于确定近似值的方法不太方便,因此用计算机实现二分法时,常常不注:由于确定近似值的方法不太方便,因此用计算机实现二分法时,常常不是给出精度,而是给出误差范围!是给出精度,而是给出误差范围! 写出用区间二分法求方程写出用区间二分法求方程 x3-x-1=0在区间在区间〔〔1,,1.5〕〕 内的一个近似解(误差不超内的一个近似解(误差不超过)过)的一个算法。
的一个算法案例案例3 3问题:问题:如果方程如果方程f(x)==0在某区间在某区间[a,,b]内有一个根,如何利用二分内有一个根,如何利用二分法搜索符合误差限制法搜索符合误差限制c的近似解?的近似解? S1 取取[a,,b]的中点的中点 x0== ,将区间一分为二;,将区间一分为二;S2 若若f(x0)==0,则,则x0就是方程的根,转就是方程的根,转S4, 否则当否则当f(a)·f(x0)<0,则,则x∈∈(a, x0),用,用x0代替代替b, 否则用否则用x0代替代替a;;S3 若若|a--b|不小于不小于c,转,转S1;; S4 输出输出x0 . 例例2写出用区间二分法求方程写出用区间二分法求方程x3--x--1==0在在区间区间[1,1.5]内的一个近似解(误差不超过内的一个近似解(误差不超过)的一个算法.)的一个算法. Read a,b,c Do x0( (a++b)/)/2 f( (a) )a3--a--1 f( (x0) )x03--x0--1 If f( (x0) )==0 Then End Do If f( (a) )f( (x0) ) <<0 Then bx0 Else ax0 End If Until | Until |a--b| |<<c End Do P Print x0回顾小结回顾小结1..“二分法二分法”是求方程根的一种常用方法。
是求方程根的一种常用方法2.学生总结用.学生总结用“二分法二分法”求方程根据的求方程根据的方法和步骤方法和步骤课外作业课外作业。
