《高一数学课件:算法案例3.ppt》由会员分享,可在线阅读,更多相关《高一数学课件:算法案例3.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、楚水实验学校高二数学备课组算法案例算法案例广义地说:广义地说:为了解决某一问题而为了解决某一问题而采取的方法和步骤,就称之为算法。采取的方法和步骤,就称之为算法。算法的概念算法的概念:一般而言,一般而言,对一类问题的机械的、统一的求解方法称为算法。知识回顾知识回顾 流流程程图图:是是由由一一些些图图框框和和流流程程线线组组成成的的,其其中中图图框框表表示示各各种种操操作作的的类类型型,图图框框中中的的文文字字和和符符号号表表示示操操作作的的内内容容,流流程程线线表表示示操操作作的的先先后后次次序。序。流程图的概念流程图的概念已学过的伪代码中的几种基本算法语句已学过的伪代码中的几种基本算法语句:
2、(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”语句表示语句表示“ForFor”语句伪代码格式:语句伪代码格式:For I From “初值初值”To“终值终值”step“步步长长”
3、End For例例1 用二分法求方程用二分法求方程x22x10的近似解(精确到的近似解(精确到0.1)首先画出函数首先画出函数f(x)x22x1的的图图象,从象,从图图象上可以象上可以发现发现:方程方程x22x10的一个根的一个根x1在区在区间间(1,0)内,另一个根内,另一个根x2在区在区间间(2,3)内内据函数据函数图图象,我象,我们发现们发现:f(2)10,即,即f(2)f(3)0,即,即f(2)f(2.5)0,故近似解在区故近似解在区间间(2,2.5)内内通通过过依次取区依次取区间间中点的方法,将根所在的区中点的方法,将根所在的区间间逐步逐步缩缩小,并列出表格:小,并列出表格:区区 间
4、间区区间间中点的中点的值值中点中点对应对应的函数的函数值值(2,3)2.50.25(2,2.5)2.250.4375(2.25,2.5)2.3750.10938(2.375,2.5)2.43750.066406(2.375,2.4375)直到区直到区间间两个端点两个端点值值精确到精确到0.1时时的近似的近似值值都是都是2.4,所以方程的一个近似,所以方程的一个近似解解为为2.4注:由于确定近似值的方法不太方便,因此用计算机实现二分法时,常常不注:由于确定近似值的方法不太方便,因此用计算机实现二分法时,常常不是给出精度,而是给出误差范围!是给出精度,而是给出误差范围!问题:如果方程问题:如果方程
5、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 若若|ab|不小于不小于c,转,转S1;S4 输出输出x0 .问题:写出用区间二分法求方程问题:写出用区间二分法求方程x3x10在区间在区间1,1.5内的一个近似解(误差不超过内的一个近似解(误差不超过0.
6、001)的一个算法)的一个算法 a1 b1.5 c0.001 Do x0(ab)/)/2 f(a)a3a1 f(x0)x03x01 If f(x0)0 Then End Do If f(a)f(x0)0 Then bx0 Else ax0 End If Until|Until|ab|c End Do P Print x0 若是若是,则则m为所求为所求;探究探究:画出用二分法求方程画出用二分法求方程x2-2=0的近似根的近似根(精精确度为确度为0.005)的程序框图的程序框图.算法分析算法分析:第一步第一步:令令f(x)=x2-2.因为因为f(1)0,所以设所以设a=1,b=2.第二步第二步:令令判断判断f(m)是否为是否为0.若否若否,则继续判断则继续判断f(a)(m)大于大于0还是小于还是小于0.第三步第三步:若若f(a)(m)0,则令则令a=m;否则否则,令令b=m.第四步第四步:判断判断|a-b|0?程序框图程序框图开始开始f(x)=x2-2输入精确度输入精确度和初值和初值a,bf(m)=0?a m否否b m|a-b|?122输出输出a和和b结束结束输出输出m313是是例例 编写一个求编写一个求 的近似值的算法,要求精确度不超过的近似值的算法,要求精确度不超过0.0001,写出其伪代码写出其伪代码.