高中数学 第一章 算法初步 12 基本算法语句教案 新人教B版必修3.docx
- 文档编号:8562895
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:25
- 大小:263.98KB
高中数学 第一章 算法初步 12 基本算法语句教案 新人教B版必修3.docx
《高中数学 第一章 算法初步 12 基本算法语句教案 新人教B版必修3.docx》由会员分享,可在线阅读,更多相关《高中数学 第一章 算法初步 12 基本算法语句教案 新人教B版必修3.docx(25页珍藏版)》请在冰豆网上搜索。
高中数学第一章算法初步12基本算法语句教案新人教B版必修3
2019-2020年高中数学第一章算法初步1.2基本算法语句教案新人教B版必修3
1.两种循环语句的执行原理
剖析:
(1)for循环的执行过程:
通过for语句进入循环,将初值赋给循环变量i,当循环变量的值不超过终值时,则顺序执行循环体内的各个语句,遇到end,将循环变量增加一个步长的值,再与终值比较,如果仍不超过终值范围,则再次执行循环体,这样重复执行,直到循环变量的值超过终值,则跳出循环.
温馨提示①只有当循环次数明确时,才能使用本语句.
②步长可以为正、负,但不能是0,否则会陷入“死循环”.步长为正时,要求终值大于初值,如果终值小于初值,循环将不能执行.步长为负时,要求终值必须小于初值.
③for语句对应的程序框图如下图所示:
(2)while语句执行过程:
该语句对应于程序框图中的循环结构,先判断条件是否成立,当条件成立时,执行循环体,遇到end语句时,就返回到while,继续判断条件,若仍成立,则重复上述过程,若不成立,则去执行end后面的语句(即退出循环体).
温馨提示①当循环次数未知时,只能利用while循环语句解决累加、累乘问题,循环体结束循环的条件必须是唯一的,若不确定,则无法结束,形成“永不停止”的循环.对于循环结束的条件,要注意与“是”“否”后面的处理框相对应.
②while语句对应的基本框图如图所示:
2.Scilab程序语言中常用符号
剖析:
数学符号
Scilab语言中程序符号
×(代数运算中的乘法运算符)
*(程序里面表示乘法的运算符)
÷(代数运算中的除法运算符)
/(程序里面表示除法的运算符)
ab(代数运算中的指数运算符)
a
b(程序里面表示指数的运算符)
≤(代数中的小于等于符号)
<=(程序里面表示小于等于的符号)
≥(代数中的大于等于符号)
>=(程序里面表示大于等于的符号)
≠(代数中的不等号)
<>(程序里面表示不等于的符号)
|x|(代数运算中的取绝对值)
abs(x)(程序里面取绝对值的函数)
且(逻辑中的“且”运算)
and(程序里面表示逻辑中的“且”运算)
或(逻辑中的“或”运算)
or(程序里面表示逻辑中的“或”运算)
【例1】读用Scilab语句编写的程序,根据程序画出程序框图.
x=input(“x=”);
y=input(“y=”);
print(%io
(2),x/2);
print(%io
(2),3*y);
x=x+1;
y=y-1;
print(%io
(2),x);
print(%io
(2),y);
分析:
该程序第1,2句是input输入语句,要求从键盘输入x与y的值;第3,4句是print输出语句,要求从屏幕输出
和3y的值,第5,6句赋值语句,用x+1的值代替原来x的值,用y-1的值代替原来y的值.第7,8句从屏幕输出x和y的值,由此可得程序框图.
解:
反思给出程序画框图类的题型,关键是理解程序的功能是什么,然后进行实际操作,在用赋值语句时,可对一个变量重复赋值,变量的值取最后一次的赋值.
【例2】已知函数y=
输入x的值计算y的值,画出程序框图,并写出程序.
分析:
本题是属于已知分段函数的解析式求函数值的问题.本题中分段函数的定义域被分成了三部分,从而在程序中需判定的条件有两个,在使用条件语句时要注意书写顺序及语句间的对应.
解:
程序如下.
x=input(“x=”);
if x>0
y=(2*x^2)-1;
else
ifx=0
y=2*x+1;
else
y=-2*x^2+4]
end
end
print(%io
(2),y)
程序框图如下图所示:
反思根据本题可画出条件语句的整体书写格式(嵌套式)如下:
【例3】用for语句写出计算1×3×5×7×…×2015的值的程序.
分析:
解决这一问题的算法如下:
S1 S=1;
S2 i=3;
S3 S=S×i;
S4 i=i+2;
S5 如果i>2015,则执行S6,否则执行S3,S4,S5;
S6 输出S.
解:
程序如下:
反思
(1)本题中的S=Si是循环体.
(2)由于是一个累乘问题,如果我们设定S的初始值为1,i的初始值为1,则第二句也可改为for i=1:
2:
2015,最后程序的运行结果是一样的.
(3)注意本程序中分号的作用,如果没有分号,则最后在屏幕上会出现每一步的运行结果;而有分号,则只出现最后的运行结果.
【例4】用循环语句写出求满足1+
+
+…+
>10的最小自然数n的算法,并写出相应程序.
分析:
本题不等号的左边为1+
+
+…+
,是有规律的累加运算,故引入累加变量S,而要求S>10的最小自然数n,故可用“whileS<=10”来控制循环,又要引入计数变量i,通过“i=i+1”进行循环.
解:
算法如下:
S1 S=0;
S2 i=1;
S3 S=S+
;
S4 如果S≤10,则令i=i+1,并返回S3,否则输出i.
程序如下:
S=0;
i=1;
S=S+1/i;
WhileS<=10
i=i+1;
S=S+1/i;
end
print(%io
(2),i);
反思由于本题中终值预先不清楚,因此才考虑用while循环,要注意程序与算法一致.
【例5】写出求使1+2+3+…+________<2014成立的所有正整数的一个程序.
错解:
S=1;
i=1;
whileS<2014
i=i+1;
S=S+i;
end
print(%io
(2),i);
错因分析:
该算法只能输出符合条件的最大正整数加1后所得的值,故不正确.事实上,为了能输出所有符合条件的正整数,必须把“print(%io
(2),i)”移到循环体内.
正解:
解法一:
S=1;
i=1;
while S<2014
print(%io
(2),i);
i=i+1;
S=S+i;
end
解法二:
S=1;
i=1;
while S<2014
i=i+1;
S=S+i;
print(%io
(2),i-1);
end
2019-2020年高中数学第一章算法初步1.3算法案例教学案新人教A版必修3
预习课本P34~45,思考并完成以下问题
(1)如何求a,b,c的最大公约数?
(2)如何求两个数的最小公倍数?
1.辗转相除法
(1)辗转相除法,又叫欧几里得算法,是一种求两个正整数的最大公约数的古老而有效的算法.
(2)辗转相除法的算法步骤:
第一步,给定两个正整数m,n.
第二步,计算m除以n所得的余数r.
第三步,m=n,n=r.
第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步.
2.更相减损术
(1)更相减损术是我国古代数学专著《九章算术》中介绍的一种求两个正整数的最大公约数的算法.
(2)其基本过程是:
第一步,任意给定两个正整数,判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.
第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.
[点睛]
辗转相除法与更相减损术的区别与联系
两种方法
辗转相除法
更相减损术
计算法则
除法
减法
终止条件
余数为0
减数与差相等
最大公约数的选取
最后一步中的除数
最后一步中的减数
计算特点
步骤较少,运算复杂
步骤较多,运算简单
相同点
同为求两个正整数最大公约数的方法,都是递归过程
3.秦九韶算法
把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如下形式:
f(x)=(…((anx+an-1)x+an-2)x+…+a1)x+a0.求多项式的值时,首先计算最内层括号内一次多项式的值,即v1=anx+an-1,然后由内向外逐层计算一次多项式的值,即v2=v1x+an-2,v3=v2x+an-3,…,vn=vn-1x+a0,这种求n次多项式f(x)的值的方法叫秦九韶算法.
1.用更相减损术求98与63的最大公约数时,需做减法的次数为( )
A.4 B.5
C.6D.7
解析:
选C (98,63)→(35,63)→(35,28)→(7,28)→(7,21)→(7,14)→(7,7),∴共进行6次减法.
2.用“辗转相除法”求得168与486的最大公约数是( )
A.3B.4
C.6D.16
解析:
选C 486=168×2+150,168=150×1+18,150=18×8+6,18=3×6,故168与486的最大公约数为6.
3.有关辗转相除法下列说法正确的是( )
A.它和更相减损之术一样是求多项式值的一种方法
B.基本步骤是用较大的数m除以较小的数n得到除式m=nq+r,直至r C.基本步骤是用较大的数m除以较小的数n得到除式m=nq+r(0≤r D.以上说法皆错 解析: 选C 辗转相除法和更相减损之术都是求最大公约数的方法,故A错,而C中0≤r 4.已知多项式f(x)=4x5+3x4+2x3-x2-x- ,用秦九韶算法求f(-2)等于( ) A.- B. C. D.- 解析: 选A ∵f(x)=((((4x+3)x+2)x-1)x-1)x- ,∴f(-2)=- . 求最大公约数 [典例] 求228与1995的最大公约数. [解] 法一: (辗转相除法)1995=8×228+171,228=1×171+57,171=3×57, 所以228与1995的最大公约数为57. 法二: (更相减损术)1995-228=1767,1767-228=1539, 1539-228=1311,1311-228=1083, 1083-228=855,855-228=627, 627-228=399,399-228=171, 228-171=57,171-57=114, 114-57=57. 所以228与1995的最大公约数为57. 辗转相除法计算次数少,步骤简捷,更相减损术计算次数多,步骤复杂,但是更相减损术每一步的计算都是减法,比做除法运算要简单一些,一般当数较小时可以考虑用更相减损术,当数较大时可以考虑用辗转相除法. [活学活用] 用辗转相除法和更相减损术求1515与600的最大公约数,需要运算的次数分别为( ) A.4,15 B.5,14 C.5,13D.4,12 解析: 选B 辗转相除法: 1515=600×2+315;600=315×1+285,315=285×1+30,285=30×9+15,30=15×2,故最大公约数为15,且需计算5次.用更相减损术: 1515-600=915,915-600=315,600-315=285,315-285=30,285-30=255,255-30=225,225-30=195,195-30=165,165-30=135,135-30=105,105-30=75,75-30=45,45-30=15,30-15=15.故最大公约数为15,且需计算14次. 秦九韶算法的应用 [典例] 用秦九韶算法求多项式f(x)=8x7+5x6+3x4+2x+1,当x=2时的值. [解] 根据秦九韶算法,把多项式改写成如下形式: f(x)=8x7+5x6+0·x5+3·x4+0·x3+0·x2+2x+1=((((((8x+5)x+0)x+3)x+0)x+0)x+2)x+1. 而x=2,所以有 v0=8, v1=8×2+5=21, v2=21×2+0=42, v3=42×2+3=87, v4=87×2+0=174, v5=174×2+0=348, v6=348×2+2=698, v7=698×2+1=1397. 所以当x=2时,多项式的值为1397. 应用秦九韶算法计算多项式的值应注意的3个问题 (1)要正确将多项式的形式进行改写. (2)计算应由内向外依次计算. (3)当多项式函数中间出现空项时,要以系数为零的齐次项补充. [活学活用] 用秦九韶算法写出当x=3时,f(x)=2x5-4x3+3x2-5x+1的值. 解: 因为f(x)=((((2x+0)x-4)x+3)x-5)x+1, v0=2,v1=2×3+0=6,v2=6×3-4=14,v3=14×3+3=45,v4=45×3-5=130,v5=130×3+1=391, 所以f(3)=391. 进位制 [典例] (1)把二进制数101101 (2)化为十进制数为________. (2)将十进制数458转化为四进制数为________. (3)比较85(9)和210(6)的大小. [解析] (1)101101 (2)=1×25+0×24+1×23+1×22+0×21+1×20=32+8+4+1=45, 所以二进制数101101 (2)转化为十进制的数为45. (2) 所以458=13022(4). 答案: (1)45 (2)13022(4) (3)解: 因为85(9)=5+8×9=77, 210(6)=0+1×6+2×62=78, 而78>77,所以210(6)>85(9). 十进制数转化为其他进制数的方法步骤 [活学活用] (1)将101111011 (2)转化为十进制的数; (2)将235(7)转化为十进制的数; (3)将137(10)转化为六进制的数; (4)将53(8)转化为二进制的数. 解: (1)101111011 (2)=1×28+0×27+1×26+1×25+1×24+1×23+0×22+1×21+1×20=379(10). (2)235(7)=2×72+3×71+5×70=124(10). (3) ∴137(10)=345(6). (4)53(8)=5×81+3×80=43(10). ∴53(8)=101011 (2). [层级一 学业水平达标] 1.用辗转相除法求294和84的最大公约数时,需要做除法运算的次数是( ) A.1 B.2 C.3D.4 解析: 选B 294=84×3+42,84=42×2,故需要做2次除法运算. 2.三位四进制数中的最大数等于十进制数的( ) A.63B.83 C.189D.252 解析: 选A 三位四进制数中的最大数为333(4),则333(4)=3×42+3×41+3=63. 3.把389化为四进制数,则该数的末位是( ) A.1B.2 C.3D.4 解析: 选A 由389=4×97+1,97=4×24+1,24=4×6+0,6=4×1+2,1=4×0+1,389化为四进制数的末位是第一个除法代数式中的余数1. 4.在对16和12求最大公约数时,整个操作如下: 16-12=4,12-4=8,8-4=4.由此可以看出12和16的最大公约数是( ) A.4B.12 C.16D.8 解析: 选A 根据更相减损术的方法判断. [层级二 应试能力达标] 1.4830与3289的最大公约数为( ) A.23 B.35 C.11D.13 解析: 选A 4830=1×3289+1541; 3289=2×1541+207; 1541=7×207+92; 207=2×92+23;92=4×23; ∴23是4830与3289的最大公约数. 2.用辗转相除法求72与120的最大公约数时,需要做除法次数为( ) A.4B.3 C.5D.6 解析: 选B 120=72×1+48, 72=48×1+24, 48=24×2. 3.用更相减损术求459与357的最大公约数,需要做减法的次数为( ) A.4B.5 C.6D.7 解析: 选B 459-357=102,357-102=255,255-102=153,153-102=51,102-51=51,所以459与357的最大公约数为51,共做减法5次. 4.下列各数,化为十进制后,最大的为( ) A.101010 (2)B.111(5) C.32(8)D.54(6) 解析: 选A 101010 (2)=1×25+0×24+1×23+0×22+1×21+0×20=42,111(5)=1×52+1×51+1×50=31,32(8)=3×81+2×80=26,54(6)=5×61+4×60=34. 故转化为十进制后,最大的是101010 (2). 5.阅读程序框图,利用秦九韶算法计算多项式f(x)=anxn+an-1xn-1+…+a1x+a0,当x=x0时,框图中A处应填入________. 解析: f(x)=anxn+an-1xn-1+…+a1x+a0,先用秦九韶算法改为一次多项式, f(x)=(…((anx+an-1)x+an-2)x+…+a1)x+a0. f1=an;k=1,f2=f1x0+an-1; k=2,f3=f2x0+an-2;…; 归纳得第k次fk+1=fkx0+an-k.故A处应填an-k. 答案: an-k 6.三进制数2012(3)化为六进制数为abc(6),则a+b+c=________. 解析: 2012(3)=2×33+0×32+1×31+2×30=59. 三进制数2012(3)化为六进制数为135(6),∴a+b+c=9. 答案: 9 7.三位七进制数表示的最大的十进制数是________. 解析: 最大的三位七进制数表示的十进制数最大,最大的三位七进制数为666(7),则666(7)=6×72+6×71+6×70=342. 答案: 342 8.10x1 (2)=y02(3),求数字x,y的值. 解: ∵10x1 (2)=1×20+x×21+0×22+1×23=9+2x, y02(3)=2×30+y×32=9y+2,∴9+2x=9y+2且x∈ ,y∈ ,所以x=1,y=1. 9.用秦九韶算法计算多项式f(x)=x6-12x5+60x4-160x3+240x2-192x+64,当x=2时的值. 解: 将f(x)改写为f(x)=(((((x-12)x+60)x-160)x+240)x-192)x+64,v0=1,v1=1×2-12=-10,v2=-10×2+60=40,v3=40×2-160=-80,v4=-80×2+240=80,v5=80×2-192=-32,v6=-32×2+64=0.所以f (2)=0,即x=2时,原多项式的值为0. (时间120分钟,满分150分) 一、选择题(本大题共12小题,每小题5分,共60分.在每小题给出的四个选项中,只有一项是符合题目要求的) 1.下列关于赋值语句的说法错误的是( ) A.赋值语句先计算出赋值号右边的表达式的值 B.赋值语句是把左边变量的值赋给赋值号右边的表达式 C.赋值语句是把右边表达式的值赋给赋值号左边的变量 D.在算法语句中,赋值语句是最基本的语句 解析: 选B 赋值语句的一般格式是: 变量名=表达式,其作用是把右边表达式的值赋给赋值号左边的变量,故B错误. 2.阅读如图所示的程序框图,下列说法正确的是( ) A.该框图只含有顺序结构、条件结构 B.该框图只含有顺序结构、循环结构 C.该框图只含有条件结构、循环结构 D.该框图包含顺序结构、条件结构、循环结构 解析: 选D 阅读程序框图,可知该程序框图含有顺序结构、循环结构、条件结构,故选D. 3.求下列函数的函数值时,其程序框图中需要用到条件结构的是( ) A.f(x)=-2x2+x B.f(x)=-2x-5 C.f(x)= D.f(x)=1-5x 解析: 选C 只有选项C中函数f(x)是分段函数,需分类讨论x的取值范围,要用条件结构来设计程序框图,A、B、D项均不需要用条件结构,故选C. 4.如果输入A=2015,B=2016,则下面一段程序的输出结果是( ) A.2016,2015B.2015,2015 C.2015,2016D.2016,2016 解析: 选D 输入A=2015,B=2016后,经过两个赋值语句,使得A,B中的值都为2016.故选D. 5.运行如图所示的程序,其结果为( ) A.192B.3840 C.384D.1920 解析: 选C 程序的功能为计算8×6×4×2的值,易知为384,故选C. 6.若运行如图所示的程序,最后输出y的值是7,那么应该输入的t的值可以为( ) A.-3B.3 C.3或-3D.3或-3或5 解析: 选D 程序中的函数为一个分段函数y= 若输出7,则 或 解得t的值为3或-3或5,故选D. 7.阅读如图所示的程序框图,运行相应的程序,则输出n的值为( ) A.7B.6 C.5D.4 解析: 选B 第一次运行: S=0+(-1)1×1=-1<3;第二次运行: n=2,S=-1+(-1)2×2=1<3;第三次运行: n=3,S=1+(-1)3×3=-2<3;第四次运行: n=4,S=-2+(-1)4×4=2<3;第五次运行: n=5,S=2+(-1)5×5=-3<3;第六次运行: n=6,S=-3+(-1)6×6=3,满足S≥3.故输出n的值为6,故选B. 8.阅读如图所示的程序框图,运行相应的程序,若输出的结果是4,则程序框图中的处理框“①”处应填写的是( ) A.n=n-1B.n=n-2 C.n=n+1D.n=n+2 解析: 选C 因为起始n=1,输出的n=4,所以排除A、B.若“①”处填n=n+1.则S= =-1,n=2,判断-1≠2,继续循环;S= = ,n=3,判断 ≠2,继续循环;S= =2,n=4,判断2=2,则输出n的值为4,故选C. 9.执行如图所示的程序框图,若输出S= ,则输入整数n=( ) A.8B.9 C.10D.8或9 解析: 选D 在条件成立的情况下,执行第一次循环后,S= ,i=4;执行第二次循环后,S= ,i=6;执行第三次循环后,S= ,i=8;执行第四次循环后,S= ,i=10.若n=8或n=9,此时10≤n不成立,退出循环,输出S= ,因此n=8或n=9,故选D. 10.用秦九韶算法计算多项式f(x)=3x6+4x5+5x4+6x3+7x2+8x+1当x=0.4时的值时,需要做乘法和加法的次数分别是( ) A.6,6B.5,6 C.5,5D.6,5 解析: 选A 由f(x)=(((((3x+4)x+5)x+6)x+7)x+8)x+1可以得知答案选A. 11.用秦九韶算法求多项式f(x)=12+35x-8x2+79x3+6x4+5x5+3x6的值,当x=-4时,v4的值为( ) A.-57B.124 C.-845D.220 解析: 选D 依据秦九韶算法有v0=a6=3,v1=v0x+a5=3×(-4)+5=-7,v2=v1x+a4=-7×(-4)+6=34,v3=v2x+a3=34
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高中数学 第一章 算法初步 12 基本算法语句教案 新人教B版必修3 算法 初步 基本 语句 教案 新人 必修