高中数学 第五章 第13课时《算法案例三》教案(学生版) 苏教版必修3

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第13课时 5.4 算法案例

重点难点

重点:理解区间二分法的意义,学会分析类似的问题;通过案例分析,体会算法思想, 难点:理解二分法的算法思想和算法表示

学习要求

1.理解区间二分法的意义,二分法主要是采用了循环结构处理问题要会分析类似的问题;

2.能由流程图分析出期所含有的结构并用为代码表示出相应的算法.

3.GoTo 语句的认识及其他语句的进一步熟悉

【课堂互动】

问题:用区间二分法写出方程

013=--x x 在区间[1,1.5]内的一个近

似解(误差不超过0.001)的一个算法。 【算法设计思想】

令函数1)(3--=x x x f .如图,如果估计出方程()0f x =在某区间[,]a b 内有一个根*

x ,就能用二分法搜索求得符合误差限制c 的近似解.

取[a ,b]的中点0x ,如果f(0x )=0,那么0x 就是方程的根;否则判断根*

x 在0x 的左侧还是右侧,如果在左侧,就用[a ,0x ]代替区间 [a ,b]。如果在右侧,就用[0x ,b]代替区间[a ,b],如此循环下去,直到

|a-b|

0.001)时终止,此时*

x ≈0x 。

算法如下:

S1 取[a ,b]的中点)(2

1

0b a x +=

,将区间一分为二;

S2 若0)(0=x f ,则0x 就是方程的根;否则判断根*x 在0x 的左侧还是右侧: 若)()(0x f a f >0,则),(0*b x x ∈,以0x 代替a ;

若)()(0x f a f <0,则),(0*x a x ∈,以0x 代替b ;

S3 若b a -

【流程图】

代码1:

0)(0=x f

)()(0x f a f <0

开始

Y

结束

输入a ,b ,c

)(a f ←13--a a )(0x f ←10

30--x x 输出0x )(2

1

0b a x +=

a ←0x

b ←0x

b a -

N Y N Y N

Read a,b,c

02

a b

x +←

While ||a b c -≥ And 3

0010x x --≠ If 3(1)a a --⨯3

00(1)x x --<0

0b x ← Else 0a x ←

End If

02

a b

x +←

End While

Print 0x 代码2:

10 Read ,,a b c

20 0()

2

a b x +←

30 3()1f a a a ←--

40 3

000()1f x x x ←--

50 If 0()0f x = Then GoTo 120 60 If 0()()0f a f x < Then 70 0b x ← 80 Else

90 0a x ←

100 End If

110 If ||a b c -≥ Then GoTo 20 120 Print 0x

【追踪训练】

1.在直角坐标系中作出函数x y 2=和x y -=4的图象,根据图象判断方程

x x -=42的解的范围,再用二分法求这个

方程的近似解(误差不超过0.001),并写出这个算法的伪代码,画出流程图。

【解】由图像可知方程x x

-=42有一个根在[1,2]内。 a ←1 b ←2 c ←0.001 While b a -≥c 0x ←(a+b)/2

)(a f ←42-+a a

)(0x f ←42

00

-+x x

If )(0x f =0 Then Exit While

If )()(0x f a f <0 Then

b ←0x Else

a ←0x End If End While Print 0x

流程图如下:

相关文档
最新文档