资源描述
1.4 算法案例
课时目标 通过三种算法案例:孙子剩余定理、辗转相除法、利用二分法求方程的近似解,进一步体会算法的思想,提高逻辑思维能力和算法设计水平.
1.“孙子问题”是求关于x,y,z的一次不定方程组_______________________________.
2.欧几里得辗转相除法求两个正整数a,b的最大公约数的步骤是:_____________
________________________________________________________________________
________________________________________________________________________.
3.利用“二分法”求方程f(x)=0在区间[a,b]上的近似解的步骤为:
S1 ____________________________________________________________________;
S2 若__________________________________________________________________
________________________________________________________________________:
若__________________________________________________________________;
若__________________________________________________________________;
S3 若__________________________________________________________________
________________________________________________________________________.
一、填空题
1.对于下列等式:①Int(10.01)=10;②Int(-1)=-1;③Int(-5.2)=-5.其中正确的有________个.
2.对下列不等式:①Mod(2,3)=3;②Mod(3,2)=2;③Mod(2,3)=1;④Mod(3,2)=1.成立的有________(写出成立的等式的序号).
3.Int(0.35)=________,Int(-0.01)=________,Int(0)=________.
4.1 037和425的最大公约数是________.
5.如果a,b是整数,且a>b>0,r=Mod(a,b),则a与b的最大公约数与下面的________相等.(填写正确答案的序号)
①r;②b;③b-r;④b与r的最大公约数.
6.已知a=333,b=24,则使得a=bq+r(q,r均为自然数,且0≤r<b)成立的q和r的值分别为________.
7.下面的说法:
①若f(a)f(b)<0(a≠b),则方程f(x)=0在区间(a,b)上一定有根;
②若f(a)f(b)>0(a≠b),则方程f(x)=0在区间(a,b)上一定没有根.
③连续不间断的函数y=f(x),若f(a)f(b)<0(a≠b),则方程f(x)=0在区间(a,b)上只有一个根.
其中不正确的说法有________个.
8.用二分法求方程x2-2=0的近似根(误差不超过0.001)的一个算法补充完整:
S1 令f(x)=x2-2,因为f(1)<0,f(2)>0,所以设x1=1,x2=2;
S2 令m=____________,判断f(m)是否为0,若f(m)=0,则m即为所求;若否,则判断__________的符号;
S3 若____________,则x1←m;否则x2←m;
S4 判断____________<0.001是否成立,若是,则x1,x2之间的任意值均为满足条件的近似根,若否,________.
二、解答题
9.用辗转相除法求204与85的最大公约数.
10.设计求被6除余4,被10除余8,被9除余4的最小正整数的算法,画出流程图,写出伪代码.
能力提升
11.读入50个正整数a1,a2,…,a50,统计出其中奇数的个数,用伪代码表示解决这个问题的算法.
12.在平面直角坐标系中作出函数f(x)=和g(x)=lg x的图象,根据图象判断方程lg x=的解的范围,再将用二分法求这个方程的近似解(误差不超过0.001)的算法用伪代码表示.
1.求两个正整数的最大公约数时,用辗转相除法进行设计的关键是:将“辗转”的过程用循环语句表示.
2.由于为了避免求循环次数(对两个具体的正整数,循环次数可以求出,但会使程序更为复杂),最好使用“While”语句.
3.用二分法求方程近似解,必须先判断方程在给定区间上是否有解.
4.二分法的过程是一个多次重复的过程,故可用循环结构处理.
5.二分法过程中需要对中点(端点)处函数值的符号进行判定,故实现算法需用选择结构,即用条件语句进行分支选择.
答案
知识梳理
1.的正整数解 2.计算出a÷b的余数r,若r=0,则b即为a,b的最大公约数;若r≠0,则把前面的除数b作为新的被除数,把余数r作为新的除数,继续运算,直到余数为0,此时的除数即为a,b的最大公约数 3.取[a,b]的中点x0=(a+b),将区间一分为二 f(x0)=0,则x0就是方程的根;否则判断根x*在x0的左侧还是右侧 f(a)f(x0)>0,则x*∈(x0,b),以x0代替a f(a)f(x0)<0,则x*∈(a,x0),以x0代替b |a-b|<c,计算终止,此时x*≈x0,否则转S1
作业设计
1.2
解析 ①、②正确,③错误.因为Int(x)表示的是不超过x的最大整数.
2.④
解析 Mod(a,b)表示a除以b所得的余数,所以Mod(2,3)=2,Mod(3,2)=1.
3.0 -1 0
4.17
解析 ∵1 037=425×2+187,
425=187×2+51,
187=51×3+34,
51=34×1+17,
34=17×2,
∴1 037和425的最大公约数是17.
5.④
解析 根据辗转相除法的算法思想,就是将较大的数的最大公约数转化为较小的数的最大公约数.
6.13,21
解析 用333除以24,商即为q,余数就是r.
7.3
解析 ①的反例:f(x)=
区间:(-1,1).
②的反例:图象为,
区间:(-1,2).
③的反例:y=sin x,区间(-π,π).
8. f(x1)f(m) f(x1)f(m)>0 |x1-x2| 转S2
9.解 S1 204÷85=2…………34;
S2 85÷34=2…………17;
S3 34÷17=2…………0.
17是204与85的最大公约数.
10.解 流程图:
伪代码:
n←1
While Mod(n,6)≠4 or
Mod(n,10)≠8 or
Mod(n,9)≠4
n←n+1
End While
Print n
11.解
12.解 图象为
设h(x)=-lg x.
∵h(2)=-lg 2>0,h(3)=-lg 3<0,
∴h(x)=0在(2,3)内有解.
伪代码为:
展开阅读全文