1、1.4 算法案例 课时目标 通过三种算法案例:孙子剩余定理、辗转相除法、利用二分法求方程的近似解,进一步体会算法的思想,提高逻辑思维能力和算法设计水平. 1.“孙子问题”是求关于x,y,z的一次不定方程组_______________________________. 2.欧几里得辗转相除法求两个正整数a,b的最大公约数的步骤是:_____________ ________________________________________________________________________ ________________________________________
2、 3.利用“二分法”求方程f(x)=0在区间[a,b]上的近似解的步骤为: S1 ____________________________________________________________________; S2 若__________________________________________________________________ ________________________________________________________________________: 若_____
3、 若__________________________________________________________________; S3 若__________________________________________________________________ ________________________________________________________________________. 一、填空题 1.对于下列等式:①
4、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;
5、②b;③b-r;④b与r的最大公约数. 6.已知a=333,b=24,则使得a=bq+r(q,r均为自然数,且0≤r0(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)的一个算法补充完
6、整: 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的最小正整数的算法,画出流程图,写出伪代码
7、. 能力提升 11.读入50个正整数a1,a2,…,a50,统计出其中奇数的个数,用伪代码表示解决这个问题的算法. 12.在平面直角坐标系中作出函数f(x)=和g(x)=lg x的图象,根据图象判断方程lg x=的解的范围,再将用二分法求这个方程的近似解(误差不超过0.001)的算法用伪代码表示. 1.求两个正整数的最大公约数时,用辗转相除法进行设计的关键是:将“辗转”的过程用循环语句表示. 2.由于为了避免求循环次数
8、对两个具体的正整数,循环次数可以求出,但会使程序更为复杂),最好使用“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),将区
9、间一分为二 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| 10、1=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)内有解.
伪代码为:






