高中数学苏教版必修三教学案:第1章1.4算法案例含答案

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

问题 1:怎样求12 与 20 的最大条约数?
提示:短除法.一般状况下数字不该过大.
问题 2:若求 6 750 与 3 492 的最大条约数,上述方法还见效吗?
提示:数值很大时短除法不方便用.
问题 3:对于问题 1 中 12 与 20 的最大条约数是 4. 若用 20 除以 12 余 8,再用 8 去除 12 余 4,再用 4 去除 8 余数为 0,也可求得最大条约数为 4. 若对较大两数能否用此法求条约数?
提示:能够.
1.孙子问题
(1)问题名称:人们将“韩信点兵——孙子问题”这类问题的通用解法称为“孙子节余定
理”或“中国节余定理”.
m=3x+2
(2)问题思想:“孙子问题”相当于求对于,,的不定方程组m=5y+3的正整数解.
x y z
m=7z+2 2.欧几里得展转相除法
(1)含义:公元前 3 世纪,欧几里得在《本来》第七篇中介绍了求两个正整数
a ,(>)的
b a b
最大条约数的方法,这类方法称为“欧几里得展转相除法”.
(2)步骤:计算出 a÷b 的余数 r ,若 r =0,则 b 即为 a, b 的最大条约数;若r ≠0,则把前面的除数 b 作为新的被除数,把余数r 作为新的除数,持续运算,直到余数为0,此时的除数即为 a, b 的最大条约数.
3.两个常用函数
(1)Mod( a,b) 表示a除以b所得的余数.
(2)Int(x)表示不超出x 的最大整数.
1.由除法和减法的性质可知,对于随意两个正整数,展转相除法或更相减损术总能够在有
2.展转相除法的理论依照是:由a= nb+ r ? r = a- nb 得 a、 b 与 b、 r 有同样的条约数.
[ 例 1]有3个连续的正整数,此中最小的能被15 整除,中间的能被17 整除,最大的能被
19整除,画出求知足要求的一组三个连续正整数的流程图,并写出伪代码.
[ 思路点拨 ]设这三个数分别为m,m+1,m+2,则 m知足的条件是Mod(m,15) =0 且 Mod(m +1,17) = 0 且 Mod(m+ 2,19) = 0.
[ 精解详析 ]流程图:
伪代码:
m←2
While Mod( m,15) ≠0or
Mod( m+1,17) ≠0or
Mod( m+2,19) ≠0
m←m+1
End While
Print m, m+1, m+2
[一点通]
解决此类问题的方法就是从m=2开始,对每一个正整数逐个查验,当m知足全部已知条件时,结束循环,输出m.
1.以下图的流程图,输出的结果是________.
分析: m=10时,不知足条件,则m←10+7.
m=17时,Mod(m,3)=2且Mod(m,5)=2建立,
故输出 17.
答案: 17
2.下边一段伪代码的功能是________.
m←2
While Mod( m,2) ≠1or
Mod( m,3) ≠2or
Mod( m,5) ≠3
m← m+1
End While
Print m
分析:由代码含义可知,m知足的条件是除以 2 余 1,除以 3 余 2,除以 5 余 3,又m逐个增大,故输出的m是知足条件的最小正整数.
m=2x+1
答案:求对于x、 y、z 的不定方程组 m=3y+2的最小正整数解m=
5z+3
[ 例 2]设计用展转相除法求8 251 与 6 105 的最大条约数的算法,并画出流程图,写出伪代码.
[ 思路点拨 ]依照展转相除法的步骤设计算法、画流程图,依据流程图,写出伪代码.
S1a←8 251;
S2b←6 105;
S3假如Mod(a,b)≠0,那么转S4,不然转S7;
S4r ←Mod(a, b);
S5a← b;
S6b← r ,转S3;
S7输出b.
流程图与伪代码:
a← 8 251
b← 6 105
While Mod a, b ≠ 0
r← Mod a, b
a← b
b← r
End While
Print b
[ 一点通 ]展转相除法是当大数被小数除尽时,结束除法运算,较小的数就是最大条约数.
3.以下图表示的流程图,输出的结果是________.
分析:第一次履行循环体:r =34, a=119, b=34,第二次履行循环体r =17, a=34, b=
17.
第三次履行循环体r =0,输出 b=17.
答案: 17
4.求三个数168,56,264的最大条约数.
解:先求168与56的最大条约数.
∵168=56×3,
故 168 与 56 的最大条约数是56.
再求 56 与 264 的最大条约数.
∵264=56×4+ 40,
56=40×1+ 16,
40=16×2+ 8,
16=8×2.
故 56 与 264 的最大条约数是8.
所以 168,56,264的最大条约数是8.
[ 例 3] (12 分) 设计用二分法求方程x3-2=0在区间[1,2]内的近似解(偏差不超出0.005)的流程图,写出伪代码.
[ 思路点拨 ]依据二分法求方程近似解的步骤画出流程图,而后依据流程图写出算法伪代
码.
[ 精解详析 ]流程图如图:
(6 分)
伪代码以下:
a←1
b←2
c←0.005
a+b
Do x0←
f a← a3-2
f x0←x03-2
If f x0=0Then
Exit Do
If f a f x0<0
Then
b←x0
Else
a←x0
End If
Until |a- b|< c
End Do
Print x0
(12 分)
[ 一点通 ]针对这个种类的题目书写伪代码时必定要注意伪代码的详细格式,此外循环语句中必定包括有条件构造的语句.求高次方程近似解时,必定要给出精准度.
5.下边的流程图表示的算法的功能是________.
答案:用二分法求方程
x 2- 3+ 1= 0 在区间 [0,1]内的一个近似解 ( 偏差不超出 0.001) x
6.写出用区间二分法求方程x3-2x-3=0在区间[1,2]内的一个近似解 ( 偏差不超出 0.001)的算法伪代码,并画出流程图.
解:该问题的流程图以下图.
伪代码:
Read a, b, c
Do
a+ b
x0←
2
f( a) ←a3- 2a-3
f
3
- 2x0- 3 ( x0) ←x0
If f ( x0)=0 Then Exit
Do
If f ( a)×f ( x0)<0
Then
b← x0
Else
a← x0
End If
Until| a-b| <c
End Do
Print x0
1.用展转相除法求两个数最大条约数的操作过程是先用较大的数除以较小的数,得商和余数,再用除数除以余数,重复操作,直到余数为零.这时小数就是要求的最大条约数,停止循环
的条件是余数为零.
2.用二分法求方程的近似解就是逐渐把“解”所在的区间缩短,直到求出近似解或方程的解所在的区间长度小于偏差为止.
课下能力提高( 七 )
一、填空题
1.用展转相除法求294 和 84 的最大条约数时,需要做除法的次数是________.分析: 294=84×3+ 42,
故需要做 2 次.
答案: 2
2.以下伪代码运转的一个结果是________.m←2
While Mod( m,4) ≠2 or
Mod(m,5) ≠3 or
Mod( m,7) ≠3
m← m+1
End While
Print m
m=4x+2,
分析:此伪代码的功能是求m =5
x
+3,
的最小正整数m=
7x+3
∴m=38.
答案: 38
3.以下图的流程图,输出的结果是________.
分析:由86>68 得a=18,b= 68,由 68>18 得b=50,a=18;由 50>18 得b= 32,a=18;
由 32>18 得b= 14,a= 18;由 18>14 得a=4,b= 14;由 14>4 得b= 10,a= 4;由 10>4 得b= 6,a=4;由6>4得 b=2, a=4;由4>2得 a=2, b=2.知足 a= b,输出 2.
答案: 2
4.84 和 32 的最小公倍数是________.
分析:先求84 和 32 的最大条约数.
84=32×2+ 20
32= 20+ 12
20= 12+ 8
8=4×2.
故 84 和 32 的最大条约数是 4.
所以 84 和 32 的最小公倍数为
84×32÷4= 672.
答案: 672
5.以下伪代码的运转结果是________.
a←120
b←252
While a≠b
If a> b
a← a- b
Else
b← b- a
End If
End While
Print a
分析:此伪代码的功能是求两个正整数的最大条约数.a, b 的值挨次是:
(120,252) →(120,132) →(120,12) →(108,12) →(96,12) →(84,12) →(72,12) →(60,12) →( 48,12) →(36 ,12) →(24,12) →(12,12) ,∴输出12.
答案: 12
二、解答题
6.已知以下图的流程图( 此中的m、n为正整数 ) :
(1)这个算法的功能是什么?
(2)当 m=286, n=91时,运转的结果是什么?
解: (1) 这个算法的功能是用展转相除法求两个正整数的最大条约数.
(2) ∵ 286=91×3+ 13,91 =13×7,∴ 286与 91的最大条约数是13.
故运转结果为 13.
7.试写出用二分法求方程x3+x2-1=0在 [0,1]上的近似解的伪代码 ( 精准度为0.01) .
解:伪代码以下:
a←0
b←1
ε←0.01
Do
x0←(a+ b)/2
f( a) ←a3+a2- 1
f ( x32
) ←x + x - 1
000
If f ( x0)=0 Then Exit Do
If f ( a) f ( x0)>0 Then
a← x0
Else
b←x0
End If
Until |a-b|<ε
End Do
Print x0
8.有一堆围棋子, 5 个 5 个地数余2,7 个 7 个地数余3,9 个 9 个地数余4,请画出求这堆围棋子共有多少个的流程图,并写出伪代码.
解:流程图:
伪代码:
m←2
While Mod( m,5) ≠2or
Mod( m,7) ≠3or
Mod( m,9) ≠4
m← m+1
End While
Print m
-11-
-12-。

相关文档
最新文档