高中数学必修三《基本算法语句及算法案例》名师讲义(含答案)
【精品】高中数学 必修3_算法案例_知识点讲解+巩固练习(含答案)_提高

算法案例【学习目标】1.理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析;2.基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序;3.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质;4.了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换.【要点梳理】要点一、辗转相除法也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的.利用辗转相除法求最大公约数的步骤如下:第一步:用较大的数m除以较小的数n得到一个商q0和一个余数r;第二步:若r0=0,则n为m,n的最大公约数;若r≠0,则用除数n除以余数r得到一个商q1和一个余数r1;第三步:若r1=0,则r为m,n的最大公约数;若r1≠0,则用除数r除以余数r1得到一个商q2和一个余数r2;……依次计算直至rn =0,此时所得到的rn-1即为所求的最大公约数.用辗转相除法求最大公约数的程序框图为:程序:INPUT “m=”;m INPUT “n=”;n IF m<n THEN x=mm=nn=xEND IFr=m MOD n WHILE r<>0r=m MOD nm=nn=rWEND PRINT n END 要点诠释:辗转相除法的基本步骤是用较大的数除以较小的数,考虑到算法中的赋值语句可以对同一变量多次赋值,我们可以把较大的数用变量m 表示,把较小的数用变量n 表示,这样式子)0(n r r q n m <≤+⋅=就是一个反复执行的步骤,因此可以用循环结构实现算法.要点二、更相减损术我国早期也有解决求最大公约数问题的算法,就是更相减损术.更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之.翻译出来为:第一步:任意给出两个正整数;判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.理论依据:由r b a r b a +=→=-,得b a ,与r b ,有相同的公约数 更相减损术一般算法:第一步,输入两个正整数)(,b a b a >;第二步,如果b a ≠,则执行3S ,否则转到5S ; 第三步,将b a -的值赋予r ;第四步,若r b >,则把b 赋予a ,把r 赋予b ,否则把r 赋予a ,重新执行2S ; 第五步,输出最大公约数b . 程序:INPUT “a=”,a INPUT “b=”,b WHILE a<>bIF a>=ba=a-b;ELSEb=b-aWENDENDPRINT b或者INPUT “请输入两个不相等的正整数”;a,bi=0WHILE a MOD 2=0 AND b MOD 2=0a=a/2b=b/2i=i+1WENDDOIF b<a THENt=aa=bb=tEND IFc=a-ba=bb=cLOOP UNTIL a=bPRINT a^iEND要点诠释:用辗转相除法步骤较少,而更相减损术虽然有些步骤较长,但运算简单.要点三、秦九韶计算多项式的方法12121012312102312101210()()(())((()))n n n n n n n n n n n n n n n n n n n f x a x a x a x a x a a x a x a x a x a a x a x a x a x a a x a x a x a x a --------------=+++++=+++++=+++++==+++++L L L L LL L令12(1)((()))k n n n n k n k v a x a x a x a x a -----=+++++L L ,则有01nk k n kv a v v x a --=⎧⎨=+⎩,其中n k Λ,2,1=.这样,我们便可由0v 依次求出n v v v Λ,,21;01323212101,,,a x v v a x v v a x v v a x v v n n n n n +=+=+=+=----Λ要点诠释:显然,用秦九韶算法求n 次多项式的值时只需要做n 次乘法和n 次加法运算 要点四、进位制进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值.可使用数字符号的个数称为基数,基数为n ,即可称n 进位制,简称n 进制.现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数.对于任何一个数,我们可以用不同的进位制来表示.比如:十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的.表示各种进位制数一般在数字右下角加注来表示,如111001(2)表示二进制数,34(5)表示5进制数.1.k 进制转换为十进制的方法:012211)(0121a k a k a k a k a a a a a a a n n n n k n n +⨯+⨯++⨯+⨯=---ΛΛ,把k 进制数a 转化为十进制数b 的算法程序为:INPUT “ a,k,n=”;a,k,n i=1 b=0WHILE i<=nt=GET a[i]b=b+t*k^(i-1)i=i+1WENDPRINT bEND2.十进制转化为k进制数b的步骤为:第一步,将给定的十进制整数除以基数k,余数便是等值的k进制的最低位;第二步,将上一步的商再除以基数k,余数便是等值的k进制数的次低位;第三步,重复第二步,直到最后所得的商等于0为止,各次所得的余数,便是k进制各位的数,最后一次余数是最高位,即除k取余法.要点诠释:1、在k进制中,具有k个数字符号.如二进制有0,1两个数字.2、在k进制中,由低位向高位是按“逢k进一”的规则进行计数.3、非k进制数之间的转化一般应先转化成十进制,再将这个十进制数转化为另一种进制的数,有的也可以相互转化.【典型例题】类型一:辗转相除法与更相减损术例1.分别用辗转相除法和更相减损术求378与90的最大公约数.【答案】18【解析】用辗转相除法:378=90×4+18,90=18×5.∴378与90的最大公约数是18.用更相减损术:∵378与90都是偶数,∴用2约分后得189和45.189-45=144,144-45=99,99-45=54,54-45=9,45-9=36,36-9=27,27-9=18,18-9=9.【总结升华】比较辗转相除法与更相减损术的区别(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显;(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到.由该题可以看出,辗转相除法得最大公约数的步骤较少.对比两种方法控制好算法的结束,辗转相除法是到达余数为0,更相减损术是到达减数和差相等.举一反三:【变式1】(1)用更相减损术求两个正数84与72的最大公约数.(2)利用辗转相除法求3869与6497的最大公约数与最小公倍数.【解析】(1)因为84=21×4,72=18×4,所以21-18=3,18-3=15,15-3=12,12-3=9,9-3=6,6-3=3.所以21和18的最大公约数等于3.所以84和72的最大公约数等于12.【总结升华】先约简,再求21与18的最大公约数,然后乘以约简的4得84与72的最大公约数.(2)6497=3869×1+2628,3869=2628×1+1241,2628=1241×2+146,1241=146×8+73,146=73×2+0.最小公倍数为3 869×6497÷73=344341.例2.求三个数:168,54,264的最大公约数.【思路点拨】运用更相减损术或辗转相除法,先求168和54的最大公约数a,再求a与264的最大公约数.【答案】6【解析】采用更相减损术先求168和54的最大公约数.(168,54)→(114,54)→(60,54)→(6,54)→(6,48)→(6,42)→(6,36)→(6,30)→(6,24)→(6,18)→(6,12)→(6,6).故168和54的最大公约数为6.采用辗转相除法求6和264的最大公约数.∵264=44×6+0,∴6为264与6的最大公约数,也是这三个数的最大公约数.【总结升华】求最大公约数通常有两种方法:一是辗转相除法;二是更相减损术,对于3个数的最大公约数的求法,则是先求其中两个数的最大公约数m,再求m与第三个数的最大公约数.同样可推广到求3个以上数的最大公约数.举一反三:【变式1】求三个数324,243,135的最大公约数.【答案】27【解析】∵324=243×1+81,243=81×3+0,∴324与243的最大公约数为81.又135=81×1+54,81=54×1+27,54=27×2+0,∴81与135的最大公约数为27.∴三个数324,243,135的最大公约数为27.更相减损术:∵324-243=81,243-81=162,162-81=81,∴81是324和243的最大公约数.又135-81=54,81-54=27,54-27=27,∴27是81与135的最大公约数.∴三个数324,243,135的最大公约数为27.例3.甲、乙、丙三种溶液分别重147g、343g、133g,现要将它们分别全部装入小瓶中,每个小瓶装入液体的质量相同,问每瓶最多装多少?【思路点拨】由题意,每个小瓶最多能装的溶液的质量应是三种溶液质量的最大公约数.【答案】7g【解析】先求147与343的最大公约数.343-147=196,196-147=49,147-49=98,98-49=49,∴147与343的最大公约数是49.再求49与133的最大公约数.133-49=84,84-49=35,49-35=14,35-14=21,21-14=7,14-7=7.∴147,343,133的最大公约数是7.故每瓶最多装7g.【总结升华】本题关键是分析清楚题意,找出三个数的最大公约数.求三个以上(含三个数)的数的最大公约数时,可依次通过求两个数的最大公约数与第三个数的最大公约数来求得.类型二:秦九韶算法例4.利用秦九韶算法求2345()10.50.166630.041680.00835f x x x x x x =+++++在x=0.2时的值.写出详细计算过程.【思路点拨】秦九韶算法是我国南宋的数学家秦九韶首先提出来的.(1)特点:它通过一次式的反复计算,逐步计算高次多项式的求值问题,即将一个n 次多项式的求值问题,归结为重复计算n个一次式1()i i a x a -+.即1210()((()))n n n f x a x a x a x a x a --=++++L L .(2)具体方法如下:已知一个一元n 次多项式1110()n n n n f x a x a x a x a --=++++L 0.当x=x 0,我们可按顺序一项一项地计算,然后相加,求得0()f x .【答案】1.2214024 【解析】 v 0=0.00835,v 1=v 0x+0.04168=0.00835×0.2+0.04168=0.043 35, v 2=v 1x+0.16663=0.04335×0.2+0.16663=0.1753, v 3=v 2x+0.5=0.1753×0.2+0.5=0.53506, v 4=v 3x+1=0.53506×0.2+1=1.107012, v 5=v 4x+1=1.107012×0.2+1=1.2214024. 【总结升华】秦九韶算法的原理是01(1,2,3,,)n kk n k v a v v x a k n --=⎧⎨=+=⎩L .在运用秦九韶算法进行计算时,应注意每一步的运算结果,像这种一环扣一环的运算,如果错一步,则下一步,一直到最后一步就会全部算错.同学们在计算这种题时应格外小心. 举一反三:【变式1】用秦九韶算法求多项式764()85321f x x x x x =++++当x=2时的值. 【答案】1397【解析】765432()85030021((((((85)0)3)0)0)2)1f x x x x x x x x x x x x x x x =++⋅++⋅+⋅++=+++++++. v 0=8,v 1=8×2+5=21,v 2=21×2 4-0=42,v 3=42×2 4-3=87,v 4=87×2+0=174,v 5=174×2+0=348,v 6=348×2+2=698,v 7=698×2+1=1397,所以,当x=2时,多项式的值为1397.【变式2】用秦九韶算法计算多项式65432()654327f x x x x x x x =++++++在x=0.4时的值时,需做加法和乘法的次数和是( )A .10B .9C .12D .8【答案】 C【解析】 ()(((((65)4)3)2)1)7f x x x x x x x =++++++.∴加法6次,乘法6次,∴6+6=12(次),故选C .类型三:进位制例5.(1)试把十进制数136转化为二进制数;(2)试把十进制数1 234转化为七进制数.【答案】(1)10001000【解析】 (1)由于136=2×68+0,68=2×34+0.34=2×17+0.17=2×8+1.8=2×4+0.4=2×2+0.2=2×1+0.1=2×0+1.所以136=10001000(2).(2)1234=7×176+2,176=7×25+1.25=7×3+4.3=7×0+3.所以1234=3412(7).【总结升华】(1)应注意搞清每一次除法中的被除数、除数,当商为零时停止除法,把每步所得的余数倒着排成一个数,就是相应的二进制数.(2)十进制数转化为七进制数与转化为二进制数的方法类似,要认真体会其原理.举一反三:【变式1】(1)把十进制数89转化为二进制数;(2)将十进制数2l转化为五进制数.【解析】(1)用除2取余法:∴89=2×(2×(2×(2×(2×(2×(2×0+1)+0)+1)+1)+0)+0)+1=2×(2×(2×(2×2×(22×0+2+0)+1)+1)+0)+0)+1 =……=1×26+0×25+1×24+1×23+0×22×0×21+1×20=1011001(2)(2)用除5取余法,可得.∴21=41(5)例6.把210121l转化为八进制数.(3)【答案】3326(8)【解析】先将三进制数转化为十进制数,再将十进制数转化为八进制数.2101211(3)=2×36+1×35+1×33+2×32+1×31+1×30=1458+243+27+18+3+1=1750.1750=8×218+6.218=8×27+2.27=8×3+3.∴1750=8×218+6=8(8×27+2)+6=8(8(8×3+3)+2)+6=8(3×82+3×8+2)+6=3×83+3×82+2×8+6=3326(8),∴2101211(3)=3326(8).【总结升华】从本例的解答中,大家要有两个提高.第一,把三进制数转化为八进制数,十进制数起了桥梁和纽带的作用,具体体现是2101211(3)=1750=3326(8).第二,在把1750转化为3326(8)时,我们没有列竖式,大家要从中体会一下方法的内在规律.举一反三:【变式1】在十进制中,01232004410010010210=⨯+⨯+⨯+⨯,那么在五进制中数码2 004折合成十进制为( )A .29B .254C .602D .2 004【答案】B解析:0123200445050525254=⨯+⨯+⨯+⨯=,故选B .【变式2】(1)将二进制数1611111L 123个(2)转化成十进制数;(2)将七进制数235(7)转化成八进制数.【答案】(1)2621-(2)174(8)【解析】对于(1),按照形式a n a n ―1a n ―2…a 1a 0(2)=a n ×2n+a n ―1×2n ―1+…+a 1×2+a n 计算即可;对于(2),先将七进制数转化成十进制数,再将所得十进数转化成八进制数.(1)151********(2)11111212121221=⨯+⨯++⨯+⨯=-L L 123个.(2)235(7)=2×72+3×7+5=124,利用除8取余法得124=174(8),过程如图所示,所以235(7)转化成八制数为174(8). 【巩固练习】 1.1337与382的最大公约数是( ).A .3B .382C .191D .2012.用辗转相除法求得459和357的最大公约数是( ).A .3B .9C .17D .513.下列各数中最小的是( )A.)2(111111B.)6(210C.)4(1000D.(9)814.用秦九韶算法计算多项式65432()126016024019264f x x x x x x x =-+-+-+,当2x =时,(2)f 的值为A .0B .2C .-2D .45.把67转化为二进制数为( ).A .1100001(2)B .1000011(2)C .110000(2)D .100011l (2)6.用秦九韶算法求多项式52()42f x x x =-+当x=3时的值时,需要进行的乘法运算和加减运算的次数分别为( ).A .4,2B .5,3C .5,2D .6.27.已知一个k 进制数132与十进制数30相等,那么k 等于( ).A .-7或4B .-7C .4D .都不对8. 计算机中常用的十六进制是逢16进1的计数制,采用数字0~9和字母A ~F 共16个计数符号,这些符号与十进制数的对应关系如下表:十六进制0 1 2 3 4 5 6 7 8 9 A B C D E F 十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 例如,用十六进制表示:E+D=1B ,则A ×B 等于( ).A .6EB .72C .5FD .B09.三个数72,120,168的最大公约数是.10.(1)l 011010(2)=________.(2)154(6)=________(7).11.已知a=333,b=24,则使得a=bq+r (q ,r 均为自然数,且0≤r <b )成立的q 和r 的值分别为________.12. 秦九韶的算法中有n 个一次式,若令0n v a =,我们可以得到01___(12).n k k v a v v x k n -=⎧⎨=+=⎩L ,,,,我们可以利用 结构来实现.13.用秦九韶算法求多项式x x x x x x x x f ++++++=234567234567)(当3=x 时的值.14.古时候,当边境有敌人来犯时,守边的官兵通过在烽火台上举火向国内报告,如下图,若烽火台上点火,则用数字1表示,若不点火用数字0表示,约定二进制数对应的十进制数的单位是1000,请你计算一下,这组烽火台表示边境有多少敌人入侵?15.设有甲、乙、丙三种溶液,质量分别为146kg 、334kg 、229kg .要将它们分别全部装入小瓶中,每个小瓶装入液体的质量相同.每瓶最多装多少?【答案与解析】1.【答案】C【解析】 1337=382×3+191,382=191×2+0,1337与382的最大公约数为191.2.【答案】D【解析】 ∵459=357×1+102,357=102×3+51,102=51×2+0,即51为459和357的最大公约数.3. 【答案】A【解析】把这四个数都化为十进制数63111111)2(=,78210)6(=,641000)4(=,(9)8173=,故选A.4.【答案】A【解析】 按秦九韶算法计算.5.【答案】B【解析】 利用除2取余法易得67=1000011(2).6.【答案】C【解析】52()42(((4))1))2f x x x x x x x x =-+=-+,所以需要进行5次乘法运算和2次加减运算.7. 【答案】C【解析】 ∵132(k )=1×k2+3k+2=30,∴k=-7或k=4.又∵k >0,∴k=4.故选C .8. 【答案】A【解析】A ×B 用十进制可以表示为10×11=110,而110=6×16+14,所以用十六进制表示为6E ,故选A .9. 【答案】24【解析】 12072148,7248124,48242,168247=⨯+=⨯+=⨯=⨯10.【答案】80 130【解析】(1)1011010(2)=0×20+1×21+0×22+1×23+1×24+0×25+1×26=90.(2)154(6)=4×60+5×61+1×62=4+30+36=70.将70转化为七进制数,故70=130(7).11.【答案】13,21【解析】 用333除以24,商即为q ,余数就是r .333=24×13+21.12. 【答案】n k a -;循环13. 【答案】21324【解析】()((((((76)5)4)3)2)1)f x x x x x x x =++++++012345677,73627,273586,8634262,26236789,789322369,2369317108,71083021324,V V V V V V V V ==⨯+==⨯+==⨯+==⨯+==⨯+==⨯+==⨯+=(3)21324f ∴=14.【答案】27000【解析】由题图可知,从左到右的五个烽火台,表示二进制数的自左到右的五个数位.这组烽火台表示的二进制数是11011(2),转化为十进制数为11011(2)=1×24+1×23+0×22+1×21+1×20=16+8+2+1=27.又27×1000=27000,所以,这组烽火台表示边境共有27000个敌人入侵.15.【答案】536【解析】12515046636==,31513534436==,2208029936==. 15013515363636-=,13515120363636-=,12015105363636-=, 1051590363636-=,901575363636-=,751560363636-=, 601545363636-=,451530363636-=,301515363636-=, 即146与334的最大公约数为1536. 801565363636-=,651550363636-=,501535363636-=, 351520363636-=,20155363636-=,155********-=,1055363636-=. 综上所述,146、334、229的最大公约数是536.。
高中数学北师大版必修三教学案第二章§1 算法的基本思想 Word版含答案

[核心必知].算法的概念在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这一系列步骤来解决问题,我们把这一系列步骤称为解决这个问题的一个算法..算法的作用现代算法的作用之一是使计算机能代替人完成某些工作,这是学习算法的重要原因之一.[问题思考].是不是任何一个算法都有明确结果?提示:是,因为算法的步骤是明确的和有限的,有时可能需大量重复的计算,但只要按部就班地去做,总能得到确定的结果..一个具体问题的算法唯一吗?提示:解决一个具体问题的算法可有多个,但我们可以选择其中最优的、最简单的、步骤尽量少的算法.讲一讲.下列语句中是算法的有( )①做饭需要刷锅、淘米、加水、加热这些步骤;②解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为;③方程+-=有两个实根;④求+++的值,先计算+=,再由+=+=得最终结果是..个.个.个.个[尝试解答] ①说明了做饭的步骤;②中给出了一元一次方程这一类问题的解决方式;④中给出了求+++的一个过程,最终得出结果;对于③,并没有说明如何去算,故①②④是算法,③不是算法.[答案]解答这类问题的方法为特征判断法,主要从以下三方面判断:()看是否满足顺序性.算法实际上就是顺序化的解题过程,是指可以用计算机来解决某一类问题的程序或步骤.()看是否满足明确性.算法的每一步都是确定的,而不是含糊的、模棱两可的.()看是否满足有限性.一个算法必须在有限步后结束.如果一个解题步骤永远不能结束,那么就永远得不到答案.因此,有始无终的解题步骤不是算法.此外,算法的不唯一性也要考虑到.练一练.下列语句表达中是算法的有( )①从济南到巴黎可以先乘火车到北京,再坐飞机抵达;②>+;③求()与(-,-)两点连线的方程,可先求的斜率,再利用点斜式方程求得..个.个.个.个解析:选①中说明了从济南到巴黎的行程安排,完成任务.对于②没有说明如何去做.③说明了求直线的方程的算法步骤.讲一讲.给出解方程++=(、、为实常数)的一个算法.[尝试解答] 算法步骤如下:.当=,=,=时,解集为全体实数;.当=,=,≠时,原方程无实数解;.当=,≠时,原方程的解为=-;.当≠且->时,方程有两个不等实根=,=;.当≠,-=时,方程有两个相等实根==-;.当≠且-<时,方程没有实数根.设计算法的基本要求是:()设计的算法必须能解决一类问题并且能重复使用;()算法的过程需能一步步执行,每步执行的操作必须确切,不能含糊不清,而且经过有限步运算后能得出结果;()任何算法都必须输出结果,否则是无意义的算法;()如果需要分类讨论解决的问题,那么设计的算法中,要根据条件是否成立来决定执行任务的步骤;()如果需要重复做同一种动作,那么设。
人教版高中数学必修三教学案讲义及课后作业-基本算法语句

人教版高中数学必修三教学讲义INPUT “a=”;aINPUT “h=”;hS=SQR(3)*a^2/4V=S*hC=3*aT=C*hP=T+2*SPRINT “体积:”;VPRINT “表面积:”;PEND【点评】这是一道立体几何与算法相结合的综合类题目.首先要理清解题的步骤,要求正三棱柱的体积,可以利用公式V=Sh,所以要先求出正三棱柱的底面积,然后代入公式即可;正三棱柱的表面积等于各面的面积之和,所以还需求正三棱柱的侧面面积.举一反三:【变式1】已知钱数x(不足10元),要把它用1元、5角、1角、1分的硬币表示,若要用尽量少的硬币个数表示x,设计一个算法,求各硬币的个数.【解析】其程序为:INPUT xx=x*100a=x/100b=(x―a*100)/50c=(x―a*100―b*50)/10d=(x―a*100―b*50―c*10)/1PRINT a,b,c,dEND例3.读下面的程序,根据程序画出程序框图.INPUT “x=”;xINPUT “y=”;ym=x/4n=2*yPRINT mPRINT nx=x+2y=y-1PRINT x【解析】由程序可以看出,此程序共用INPUT输入语句、赋值语句和PRINT输出语句,因此根据程序画出程序框图,只要按顺序从上到下把输入、赋值、输出语句表达内容填入相应图框内即可.故程序框图如图所示.【点评】算法语句和程序框图以不同的形式展示给我们,解决问题时要注意掌握算法语句和程序框图的相互转换.举一反三:【变式1】以下是一个用基本算法语句编写的程序,根据程序画出其相应的程序框图.INPUT “x,y=”;x,yx=x/2y=3*yPRINT x,yx=x-yy=y-1PRINT x,yEND【解析】程序框图如图所示.该程序主要利用了输入语句、赋值语句和输出语句进行算法描述,只要按顺序从上到下将输入语句、赋值语句、输出语句表达的内容填入相应的图框即可.例4.经过市场调查分析,2008年第一季度内,某地区对某件商品的需求量为12000件,为保证商品不脱销,商家决定在月初时将商品按相同的量投放市场,已知年初商品的库存量为50000件,用S表示商品的库存量,请设计一个算法,求出第一季度结束时商品的库存量,编写其程序.【解析】依题意,每月应投放市场12000÷3=4000(件).这样库存量随月份的变化情况如下表:月份一月二月三月库存S 46000 42000 38000算法的程序框图如图所示.其程序如下:S=50000S=S―4000S=S―4000S=S―400PRINT “S=”;SEND【点评】利用赋值语句可对变量多次赋值,实现代数中的四则运算.但代数中的运算很多都是方程、不等式的形式,这是赋值语句所不能实现的,要写成类似于函数y=f (x)的形式才能构造成赋值语句的形式,从而用算法程序处理.这是解决这类问题的关键.举一反三:【变式1】“鸡兔同笼”问题是我国古代著名的趣题之一.大约在1500年前,《孙子算经》中就记载了这个有趣的问题.书中这样描述:今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔几何?试设计一个算法,输入鸡兔的头和鸡兔的脚的总数,分别输出鸡、兔的数量.【解析】先假设M只都是兔子,那么就4M只脚,这比N只脚多了(4M―N)只脚,每只鸡比兔少2只脚,所以鸡的数量为42M NA-=,从而得到兔的数量为B=M―A.算法步骤如下:第一步,输入鸡和兔的总数量M.第二步,输入鸡和兔的脚的总数量N.第三步,鸡的数量为42M NA-=.第四步,兔的数量为B=M―A.第五步,输出A,B,得出结果.程序框图如图所示.程序如下:INPUT “鸡和兔的总数量为:”;M INPUT “鸡和兔的脚的总数量为:”;NA=(4*M-N)/2B=M-APRINT “鸡的数量为:”;APRINT “兔的数量为:”;B【变式2】“植树造林,防风抗沙”.某沙漠地区在2010年年底有绿化带树林20000亩,该地区每年春天会种树400亩加以绿公,但同时每年冬天又会有总绿化面积的1%被沙漠化,问2013年年底该地区总绿化面积有多少亩?画出解决此问题的算法的程序框图,并写出程序.【解析】该地区总绿化面积每年都在变化,可以设置一个变量来表示每年年底的绿化面积.程序框图如图.程序:【点评】利用赋值语句可以对同一变量进行多次赋值,程序输出变量的最后值.类型二:条件语句例5.给出三个正整a ,b ,c ,判断以这3个数为三条边边长的三角形是否存在,若存在,则求出其面积,请设计程序实现该功能,并画出相应的程序框图.【解析】 由于不是任意三条线段都能构成三角形的三边,因此必须先判断三边是否满足任意两边之和大于第三边,即a+b >c ,a+c >b ,b+c >a ,这些是保证能组成三角形的必要条件.经判断,如果满足上述条件,则按下面的公式计算三角形的面积,1()2p a b c =++,()()()S p p a p b p c =---. 程序框图如图所示.S=20000 S=(S+400)*(1―0.01) S=(S+400)*(1―0.01) S=(S+400)*(1―0.01) PRINT “2013年年底总绿化面积为”;S END程序如下:【点评】编程的一般步骤为:(1)算法分析:根据提供的问题利用数学及相关学科的知识,设计出解决问题的算法;(2)画出程序框图:依据算法分析,画出对应的程序框图;(3)写出程序:根据程序框图中的算法步骤,逐步把算法用相应的程序语句表达出来.举一反三:【变式1】根据如图所示的伪代码,当输入ba,分别为2,3时,最后输出的m的值是________【答案】3【解析】由已知可知,m为,a b中的最大值,故最后输出的m值为3.例6.已知符号函数1,00,01,0xy xx>⎧⎪==⎨⎪-<⎩,试编写程序输入x的值,输出y的值,并画出程序框图.【解析】解法一(嵌套结构),如下图:INPUT a,b,cIF a+b>c AND a+c>b AND b+c>a THENp=(a+b+c)/2S=SQR(p*(p―a)*(p―b)*(p―c)PRINT “三角形的面积为”;SELSEPRINT “不能构成三角形”END IFENDINPUT xIF x>0 THENy=1ELSEIF x=0 THENy=0ELSE解法二(叠加结构),如下图:INPUT xIF x>0 THENy=1END IFIF x=0 THENy=0END IFIF x<0 THENy=-1END IFPRINT yEND【点评】:(1)条件结构的差异,造成程序执行的不同.当输入x的值时,解法一中先判断外层的条件,依次执行不同的分支;而解法二中按程序中条件语句的先后依次判断所有的条件,满足哪个条件就执行哪个条件下的语句.(2)条件语句的嵌套可以多于两层,表达算法步骤中的多重限制条件.举一反三:【变式1】读下面的程序,并回答问题.INPUT xIF x<=2 THENy=x^2ELSEIF x<=5 THENy=2*x-3ELSEy=1/xEND IFEND IF该程序的作用是输入x的值,输出y的值.(1)画出该程序对应的程序框图;(2)若要使输入的x值与输出的y值相等,问这样的x值有几个?【解析】由程序可知这是一个求2 (2)2 3 (25)1(5)x xy x xxx⎧⎪≤⎪=-<≤⎨⎪⎪>⎩的函数值的程序.(1)程序对应的程序框图如图所示.(2)x=x2,则x=0或x=1.此时均满足x≤2.若2x-3=x,则x=3,满足2<x≤5.若1xx=,则x=±1,不满足x>5.综上可知满足题设条件的x值有3个,即x=0或x=1或x=3.【变式2】输入一个自然数N,求其被3除得到的余数,设计一个程序,并输出相应的信息.【解析】程序如下:INPUT “请输入一个自然数N;”;NM=N MOD3IF M=0 THENPRINT “能被3整除”END IFIF M=1 THENPRINT “余数为1”END IFIF M=2 THENPRINT “余数为2”例7. 某商场对顾客实行优惠措施,若购物金额x 在800元以上,则打八折;若购物金额x 在500元以上,则打九折;否则不打折.画出程序框图,要求输入购物金额x ,输出实际付款额,并写出相应的程序.【解析】 依照题意,实际付款额y 与购物金额x 的函数关系为:, (500)0.9 (500800)0.8 (800)x x y x x x x ≤⎧⎪=<≤⎨⎪>⎩,程序框图如图所示.程序:【点评】对于实际问题应先建立函数模型,然后设计算法,对自变量x 的取值进行判断,这是应用条件语句的根据.举一反三:【变式1】某市电信部门规定:拨打市内电话时,如果通话时间不超过3分钟,则收取通话费0.2元;如果通话时间超过3分钟,则超过部分以0.1形分钟收取通话费(t 以分钟计,不足1分钟按1分钟计),问:如何设计一个计算通话费用的算法,画出程序框图并写出相应的程序?【解析】我们令c (单位:元)表示通话费用,t (单位:分钟)表示通话时间,则有0.2 (03)0.20.1(3) (3)t c t t <≤⎧=⎨+->⎩. 依上面分析可知解决这一问题的算法步骤如下:第一步:输入通话时间;第二步:如果0<t ≤3,那么c=0.2,否则c=0.2+0.1(t -3);第三步:输出费用c .INPUT “x=”;x IF x >800 THEN y=0.8*x ELSE IF x >500 THEN y=0.9*x ELSE y=x END IF END IF PRINT y END程序框图如图所示.程序为:INPUT “通话时间为”;tIF t<=3 AND t>0 THENc=0.2ELSEc=0.2+0.1*(t-3)END IFPRINT “通话费用为”;cEND类型三:循环语句例8.试用两种语句写出计算1+2+3+…+2010的程序,并画出相应的程序框图.【解析】先设计出计数变量和累加变量S,依两种语句的特点分别写出,应注意各自的条件.WHILE语句如下,程序框图如图所示:S=0i=1WHILE i<=2010S=S+ii=i+1WENDPRINT SENDUNTIL语句如下,程序框图如图所示:S=0i=1DOS=S+ii=i+1LOOP UNTIL i>2010PRINT SEND举一反三:【变式1】编写一个程序,计算1×3×5×7×…×99的值.(分别用两种循环语句)【解析】方法一:利用当型循环得到如图l所示的程序框图.方法二:利用直到型循环得到如图2所示的程序图.利用当型(WHILE)循环语句编写程序如下:S=1i=3WHILE i<=99S=S*ii=i+2WENDPRINT SEND利用直到型(UNTIL)循环语句编写程序如下:S=1i=3DOS=S*ii=i+2LOOP UNTIL i>99PRINT SEND例9.某商场第一年销售计算机5000台,如果平均每年销售量比上一年增加10%,那么从第一年起,大约几年可使总销售量达到30000台?【解析】根据题意,每年销售量比上一年增加的百分率相同,设总销售量为S,n年达到30000台.第一年销售了5000台;第二年销售了5000+5000×10%=5000×(1+10%)(台);第三年销售了5000×(1+10%)+5000×(1+10%)×10%=5000×(1+10%)2(台);…第n年销售了5000×(1+10%)n-1(台).前n年的总销售量S=5000+5000×(1+10%)+5000×(1+10%)2+…+5000×(1+10%)n-1(台).程序框图如图所示.程序:m=5000S=0i=0WHILE S<30000S=S+mm=m*(1+0.1)i=i+1WENDPRINT iEND【点评】(1)循环条件是总销售量小于30000台.(2)本题中第n年销售量为5000×(1+10%)n-1台.(3)S表示总销售量,即前n年销售量之和.举一反三:【变式1】 一个小球从100 m 的高度落下,每次落地后又反跳回原高度的一半,再落下,在第10次落地时,小球共经过多少路程?【解析】第1次下落的高度h 1=100 m ;第2次下落的高度21150m 2h h ==; 第3次下落的高度32125m 2h h ==; ……第10次下落的高度10912h h =. 所以递推关系是h 1=100,112n n h h +=⋅,n=1,2,3,…,9.到第10次落地时,共经过的路程为s=h 1+2h 2+2h 3+…+2h 10=2(h 1+h 2+…+h 10)-h 1,故可将s 作为累加变量,i 作为计数变量.程序框图如图所示.根据以上程序框图,可设计程序如下:s=0 h=100 i=1 WHILE i <=10 s=s+2h h=h/2 i=i+1 WEND s=s -100 PRINT s END12.【答案】(1)7 (2)6【解析】(1)第一次运算后S=0,i=1;第二次S=1,i=2;第三次S=3,i=3;第四次S=6,i=4;第五次S=10,i=5;第六次S=15,i=6;第七次S=21>20,结束,i=7.(2)由于第一次运算后S=1,只需6次即可.∴i=6.13.【解析】从程序可以看出,这是求一个学生五门课平均成绩的程序,我们只要把输入语句、输出语句、赋值语句转化到程序框图中,就很容易把框图画出来.程序框图如下图.14.【解析】程序框图如图所示.程序如下:15.【解析】根据题意知顾客要缴纳的金额c是购买唱片数量a的分段函数,函数关系式为25 (05)22.5 (510)21.25 (10)a ac a aa a<<⎧⎪=≤<⎨⎪≥⎩,因为条件不同,结果不同,所以程序框图中需要用到条件结构,程序中需要用到条件语句.程序如下;程序框图如图.INPUT “a=”;aIF a>0 AND a<5 THENc=25*aELSEIF a<10 THENc=22.5*aS=0i=1WHILE i<=99S=S+1/(i*(i+1))i=i+1WENDPRINT SEND。
人教版高中数学必修三第一章算法初步12基本算法语句教师版个性化辅导含答案 教学文档

基本算法语句____________________________________________________________________________________________________________________________________________________________________ 1.理解学习基本算法语句的意义.2.学会输入语句、输出语句和赋值语句,条件语句和循环语句的基本用法.3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.1. 赋值、输入和输出语句(1)赋值语句:在表述一个算法时,经常要引入变量,并赋给该变量一个值。
用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句。
在算法语句中,赋值语句是最基本的语句。
?表达式。
赋值语句的一般格式为:变量名?”号,称作赋值号,赋值语句的作用是先计算出赋值号右边表达式的值,然赋值语句中的“后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值。
说明:①赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式; ?”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号②赋值语句中的赋值号“左边的变量;③不能利用赋值语句进行代数式(或符号)的演算(如化简、因式分解等)。
在赋值语句中的赋值号右边的表达式中的每一个“变量”都必须事先赋给确定的值。
在一个赋值语句中只能给一个变?”;量赋值,不能出现两个或多个“④赋值号与数学中的等号的意义不同。
赋值号左边的变量如果原来没有值,则在执行赋值语句后,获得一个值。
如果原已有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”;⑤对于一个变量可以多次赋值。
(2)输入语句在某些算法中,变量的初值要根据情况经常地改变。
一般我们把程序和初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可。
最新高中数学人教A版必修三教学案:第一章 第3节 算法案例含答案

最新人教版数学精品教学资料[核心必知]1.预习教材,问题导入根据以下提纲,预习教材P34~P45,回答下列问题.(1)小学学过的求两个正整数的最大公约数的方法是什么?提示:先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来.(2)辗转相除法的操作步骤是什么?提示:两个数中用较大的数除以较小的数,求得商和余数,再用除数除以余数,如此重复,直到所得余数为0,即可求得两个数的最大公约数.(3)更相减损术的操作步骤什么?提示:第一步,任意给定两个正整数,判定它们是否都是偶数.若是,用2约简;若不是,执行第二步.第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.(4)应用秦九韶算法求多项式的值时应怎样操作?提示:求多项式的值时,先计算最内层括号内一次多项式的值,即v1=a n x+a n-1,再由内向外逐层计算一次多项式v k(k=2,3,4,…,n)的值.(5)将k进制数转化为十进制的方法是什么?提示:“除k取余法”.2.归纳总结,核心必记(1)辗转相除法与更相减损术①辗转相除法:又叫欧几里得算法,是一种求两个正整数的最大公约数的古老而有效的算法.②更相减损术:我国古代数学专著《九章算术》中介绍的一种求两个正整数的最大公约数的算法.(2)秦九韶算法求多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0的值时,常用秦九韶算法,这种算法的运算次数较少,是多项式求值比较先进的算法,其实质是转化为求n个一次多项式的值,共进行n次乘法运算和n次加法运算.其过程是:改写多项式为:f(x)=a n x n+a n-1x n-1+…+a1x+a0=(a n x n-1+a n-1x n-2+…+a1)x+a0=((a n x n-2+a n-1x n-3+…+a2)x+a1)x+a0=…=(…((a n x+a n-1)x+a n-2)x+…+a1)x+a0.设v1=a n x+a n-1,v2=v1x+a n-2,v3=v2x+a n-3,……v n=v n-1x+a0.(3)进位制①进位制进位制是人们为了计数和运算方便而约定的记数系统,“满几进一”就是几进制,几进制的基数就是几.②其他进位制与十进制间的转化(ⅰ)其他进位制化成十进制其他进位制的数化成十进制时,表示成不同位上数字与基数的幂的乘积之和的形式.(ⅱ)十进制化成k进制的方法——“除k取余法”.[问题思考](1)辗转相除法与更相减损术有什么联系?提示:①都是求两个正整数的最大公约数的方法.②二者的实质都是递推的过程.③二者都是用循环结构来实现.(2)辗转相除法与更相减损术有什么区别? 提示:什么?提示:所缺的项写成系数为零的形式,即写成0·x n 的形式.[课前反思]通过以上预习,必须掌握的几个知识点:(1)辗转相除法是什么?;(2)更相减损术是什么?;(3)秦九韶算法是什么?; (4)进位制及进位制间的互化: .观察如图所示的内容:[思考1] 辗转相除法的算理是什么?名师指津:所谓辗转相除法,就是对于给定的两个数,用较大的数除以较小的数.若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数.[思考2]更相减损术的算理是什么?名师指津:所谓更相减损术,就是对于给定的两个数,用较大的数减去较小的数,然后将差和较小的数构成新的一对数,再用较大的数减去较小的数,反复执行此步骤,直到差数和较小的数相等,此时相等的两数便为原来两个数的最大公约数.讲一讲1.用辗转相除法求612与468的最大公约数,并用更相减损术检验所得结果.[尝试解答]用辗转相除法:612=468×1+144,468=144×3+36,144=36×4,即612和468的最大公约数是36.用更相减损术检验:612和468为偶数,两次用2约简得153和117,153-117=36,117-36=81,81-36=45,45-36=9,36-9=27,27-9=18,18-9=9,所以612和468的最大公约数为9×2×2=36.求最大公约数的两种方法步骤(1)利用辗转相除法求给定的两个数的最大公约数,即利用带余除法,用数对中较大的数除以较小的数,若余数不为零,则将余数和较小的数构成新的数对,再利用带余除法,直到大数被小数除尽,则这时的较小数就是原来两个数的最大公约数.(2)利用更相减损术求两个正整数的最大公约数的一般步骤是:首先判断两个正整数是否都是偶数.若是,用2约简,也可以不除以2,直接求最大公约数,这样不影响最后结果.练一练1.用辗转相除法求840与1 785的最大公约数;解:因为1 785=840×2+105,840=105×8.所以840和1 785的最大公约数是105.观察如图所示的内容:[思考] 秦九韶算法的原理是什么?名师指津:秦九韶算法是按从内到外的顺序依次计算求值的. 设f (x )=a n x n +a n -1x n -1+…+a 1x +a 0,将其改写为 f (x )=(a n x n -1+a n -1x n -2+…+a 1)x +a 0 =((a n x n -2+a n -1x n -3+…+a 2)x +a 1)x +a 0 =…=(…((a n x +a n -1)x +a n -2)x +…+a 1)x +a 0令v 0=a n ,则有公式⎩⎪⎨⎪⎧v 0=a n ,v k =v k -1x +a n -k ,其中k =1,2,…,n .这样我们便可由v 0依次求出v 1,v 2,…,v n : v 1=v 0x +a n -1,v 2=v 1x +a n -2,v 3=v 2x +a n -3,…, v n =v n -1x +a 0. 讲一讲2.利用秦九韶算法求多项式f (x )=x 6-5x 5+6x 4+x 2+3x +2当x =-2时的值为( ) A .320 B .-160 C .-320 D .300[尝试解答] 将多项式变式为f (x )=(((((x -5)x +6)x +0)x +1)x +3)x +2,v 0=1,v 1=-2+(-5)=-7,v 2=-7×(-2)+6=20,v 3=20×(-2)+0=-40,v 4=-40×(-2)+1=81,v 5=81×(-2)+3=-159,v 6=-159×(-2)+2=320,即x =-2时,多项式的值为320.答案:A利用秦九韶算法计算多项式的值的关键是能正确地将所给多项式改写,然后由内向外逐次计算,由于后项计算需用到前项的结果,故应认真、细心,确保中间结果的准确性.练一练2.用秦九韶算法计算多项式f (x )=12+35x -8x 2+6x 4+5x 5+3x 6在x =-4时的值时,v 3的值为( )A .-144B .-136C.-57 D.34解析:选B根据秦九韶算法多项式可化为f(x)=(((((3x+5)x+6)x+0)x-8)x+35)x+12.由内向外计算v0=3;v1=3×(-4)+5=-7;v2=-7×(-4)+6=34;v3=34×(-4)+0=-136.观察如图所示的内容:[思考1]进位制应如何表示?名师指津:若一个数为十进制数,其基数可以省略不写,若是其他进位制,在没有特别说明的前提下,其基数必须写出,常在数的右下角标明基数.[思考2]常见的进位制有哪些?名师指津:(1)二进制:①只使用0和1两个数字;②满二进一,如1+1=10(2).(2)八进制:①使用0,1,2,3,4,5,6,7八个不同数字;②满八进一,如7+1=10(8);(3)十六进制:①使用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F这十六个不同的数码,其中A,B,C,D,E,F分别代表十进制中的10,11,12,13,14,15;②满十六进一,如F+1=2+E=10(16).讲一讲3.(1)把二进制数101 101(2)化为十进制数;(2)把十进制数458转化为四进制数.[尝试解答](1)101 101(2)=1×25+0×24+1×23+1×22+0×21+1×20=32+8+4+1=45,所以二进制数101 101(2)转化为十进制数为45.(2)458=13 022(4).进位制的转换方法(1)将k进制转化为十进制的方法是:先将这个k进制数写成各个数位上的数字与k的幂的乘积之和的形式,再按照十进制的运算规则计算出结果.(2)十进制转化为k进制,采用除k取余法,也就是除基数,倒取余.练一练3.(1)二进制数算式1 010(2)+10(2)的值是()A.1 011(2)B.1 100(2)C.1 101(2)D.1 000(2)(2)下列各组数中最小的数是()A.1 111(2)B.210(6)C.1 000(4)D.101(8)解析:(1)选B二进制数的加法是逢二进一,所以选B.(2)选A统一化为十进制数为1 111(2)=15;210(6)=78;1 000(4)=64;101(8)=65.——————————————[课堂归纳·感悟提升]——————————————1.本节课的重点是会用辗转相除法与更相减损术求两个数的最大公约数,会用秦九韶算法求多项式的值,会在不同进位制间进行相互转化.难点是会用秦九韶算法求多项式的值.2.本节课要掌握以下几类问题:(1)掌握求最大公约数的两种方法步骤,见讲1.(2)掌握秦九韶算法步骤,见讲2.(3)进位制的转换方法,见讲3.3.本节课的易错点有两个:(1)弄不清秦九韶算法的原理而致错,如讲2;(2)进位制之间转换的方法混淆而致错,如讲3.课下能力提升(八)[学业水平达标练]题组1辗转相除法与更相减损术1.下列关于利用更相减损术求156和72的最大公约数的说法中正确的是()A.都是偶数必须约简B.可以约简,也可以不约简C.第一步作差为156-72=84;第二步作差为72-84=-12D.以上都不对解析:选B约简是为了使运算更加简捷,故不一定要约简,A错.C中第二步应为84-72=12,故选B.2.用更相减损术求294和84的最大公约数时,需做减法运算的次数是()A.2 B.3 C.4 D.5解析:选C294-84=210,210-84=126,126-84=42,84-42=42,共做4次减法运算.3.1 624与899的最大公约数是________.解析:1 624=899×1+725,899=725×1+174,725=174×4+29,174=29×6,故1 624与899的最大公约数是29.答案:294.用两种方法求210与98的最大公约数.解:用辗转相除法:210=98×2+14,98=14×7.∴210与98的最大公约数为14.用更相减损术:∵210与98都是偶数,用2约简得105和49,105-49=56,56-49=7,49-7=42,42-7=35,35-7=28,28-7=21,21-7=14,14-7=7.∴210与98的最大公约数为2×7=14.题组2秦九韶算法5.用秦九韶算法求多项式f(x)=7x6+6x5+3x2+2当x=4时的值时,先算的是() A.4×4=16 B.7×4=28C.4×4×4=64 D.7×4+6=34解析:选D因为f(x)=a n x n+a n-1x n-1+…+a1x+a0=(…((a n x+a n-1)x+a n-2)x+…+a1)x+a0,所以用秦九韶算法求多项式f(x)=7x6+6x5+3x2+2当x=4的值时,先算的是7×4+6=34.6.用秦九韶算法计算多项式f(x)=3x6+4x5+5x4+6x3+7x2+8x+1当x=0.4时的值时,需要做乘法和加法的次数分别是()A.6,6 B.5,6C.5,5 D.6,5答案:A7.利用秦九韶算法求多项式f(x)=3x6+12x5+8x4-3.5x3+7.2x2+5x-13当x=6时的值,写出详细步骤.解:f(x)=(((((3x+12)x+8)x-3.5)x+7.2)x+5)x-13.v0=3,v1=v0×6+12=30,v2=v1×6+8=188,v3=v2×6-3.5=1 124.5,v4=v3×6+7.2=6 754.2,v5=v4×6+5=40 530.2,v6=v5×6-13=243 168.2.所以f(6)=243 168.2.题组3进位制及其转化8.以下各数有可能是五进制数的是()A.15 B.106C.731 D.21 340解析:选D五进制数中各个数字均是小于5的自然数,故选D. 9.完成下列进位制之间的转化.(1)1 034(7)=________(10);(2)119(10)=________(6).解析:(1)1 034(7)=1×73+0×72+3×7+4×70=368.(2)∴119(10)=315(6).答案:(1)368(2)31510.若k进制数123(k)与十进制数38相等,则k=________.解析:由k进制数123可知k≥4.下面可用验证法:若k=4,则38(10)=212(4),不合题意;若k=5,则38(10)=123(5)成立,所以k=5.答案:511.若1 0b1(2)=a02(3),求数字a,b的值及与此相等的十进制数.解:∵1 0b1(2)=a02(3),∴1×23+b×2+1=a×32+2,且a只能取1,2,b只能取0,1.整理得9a-2b=7.当b=0时,a=79(不合要求,舍去);当b=1时,a=1.∴a=b=1.∴102(3)=1 011(2),转化为十进制数为1×32+2=11.[能力提升综合练]1.用秦九韶算法求多项式f(x)=x3-3x2+2x-11当x=x0时的值时,应把f(x)变形为()A.x3-(3x-2)x-11B.(x-3)x2+(2x-11)C.(x-1)(x-2)x-11D.((x-3)x+2)x-11解析:选D f(x)=x3-3x2+2x-11=(x2-3x+2)x-11=((x-3)x+2)x-11,故选D.2.45和150的最大公约数和最小公倍数分别是()A.5,150 B.15,450C.450,15 D.15,150解析:选B利用辗转相除法求45和150的最大公约数:150=45×3+15,45=15×3,45和150的最大公约数为15.45和150的最小公倍数为15×(45÷15)×(150÷15)=450,故选B.3.下列各数中,最小的是()A.101 010(2)B.111(5)C.32(8)D.54(6)解析:选C101 010(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.又42>34>31>26,故最小的是32(8).4.(2016·福州高一检测)三进制数2 022(3)化为六进制数为abc(6),则a+b+c=________.解析:2 022(3)=2×33+0×32+2×31+2×30=62.三进制数2 022(3)化为六进制数为142(6),∴a+b+c=7.答案:75.用秦九韶算法求多项式f(x)=1-5x-8x2+10x3+6x4+12x5+3x6当x=-4时的值时,v0,v1,v2,v3,v4中最大值与最小值的差是________.解析:多项式变形为f(x)=3x6+12x5+6x4+10x3-8x2-5x+1=(((((3x+12)x+6)x+10)x-8)x-5)x+1,v0=3,v1=3×(-4)+12=0,v2=0×(-4)+6=6,v3=6×(-4)+10=-14,v4=-14×(-4)-8=48,所以v4最大,v3最小,所以v4-v3=48+14=62.答案:626.有甲、乙、丙三种溶液分别重147 g、343 g、133 g,现要将它们分别全部装入小瓶中,每个小瓶装入液体的质量相同,问每瓶最多装多少?解:先求147与343的最大公约数.343-147=196,196-147=49,147-49=98,98-49=49.所以147与343的最大公约数是49.再求49与133的最大公约数.133-49=84,84-49=35,49-35=14,35-14=21,21-14=7,14-7=7.所以147,343,133的最大公约数为7.所以每瓶最多装7 g.7.古时候,当边境有敌人来犯时,守边的官兵通过在烽火台上举火向国内报告,如图,烽火台上点火,表示数字1,不点火表示数字0,约定二进制数对应的十进制的单位是1 000,请你计算一下,这组烽火台表示约有多少敌人入侵?解:由图可知从左到右的五个烽火台,表示二进制数的自左到右五个数位,依题意知这组烽火台表示的二进制数是11 011,改写为十进制为:11 011(2)=1×24+1×23+0×22+1×21+1×20=16+8+2+1=27(10).又27×1 000=27 000,所以这组烽火台表示边境约有27 000个敌人来犯.。
高中数学必修三《基本算法语句及算法案例》名师讲义(含答案)

基本算法语句与算法案例
开篇语
算法是实践性很强的内容,只有通过自身的实践解决几个算法设计问题,才能体会到算
法思想,学会一些基本逻辑结构和语句.因此尽可能地通过实例体会和理解算法的含义,通
过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程,了解算法语言的基本构
成,理解几种基本算法语句.但并非必须使用信息技术才能学习算法,在数学中的算法更注
重设计算法的过程,体验算法的思想,培养有条理地思考表达能力,提高逻辑思维能力.本节课我们来复习几种基本的算法语句——赋值语句、输入和输出语句、条件语句、循环语句,在此基础上再了解几个算法案例,进一步体会算法的思想.
重难点易错点解析
题一:运行下面程序,输出结果为().
a=3
b=5
a=a+b
b=a b
PRINT a,b
A.3,5B.8,5
3
C.8,1D.8,
8
5
题二:运行下列程序,当输入数值-2时,输出结果是().
A.7 B. 3 C.0D.16
题三:下边程序运行后输出的结果分别是___________,____________.。
高中数学必修三算法初步复习(含答案)
算法初步章节复习一.知识梳理1、算法的特征:①有限性:算法执行的步骤总是有限的,不能无休止的进行下去②确定性:算法的每一步操作内容和顺序必须含义确切③可行性:算法的每一步都必须是可执行的,即每一步都可以通过手工或者机器在一定时间内可以完成2、程序框图的三种基本逻辑结构:顺序结构、条件结构和循环结构。
3、基本语句:输入语句:INPUT “提示内容”;变量,兼有赋值功能输出语句:PRINT “提示内容”;表达式,兼有计算功能赋值语句:变量=表达式,兼有计算功能条件语句:IF 条件 THEN IF 条件 THEN语句体 语句体ELSE END IF语句体END IF循环语句:(1)当型(WHILE 型)循环: (2)直到型(UNTIL 型)循环:WHILE 条件 DO循环体 循环体WEND LOOP UNTIL 条件4.常用符号运算符号:加____,减____,乘____,除____,乘方______,整数取商数____,求余数_______. 逻辑符号:且AND ,或OR ,大于>,等于=,小于<,大于等于>=,小于等于<=,不等于<>. 常用函数:绝对值ABS(),平方根SQR()5.算法案例(1) 辗转相除法和更相减损术: 辗转相除法和更相减损术都是求两个正整数的最大公约数的方法(2) 秦九韶算法 :是求多项式值的优秀算法.算法初步 算法与程序框图算法语句 算法案例 算法概念框图的逻辑结构输入语句 赋值语句循环语句 条件语句输出语句顺序结构 循环结构 条件结构INPUT t IF t<= 4 THEN c=0.2 ELES c=0.2+0.1(t -3) END IF PRINT c END 2题 i=1WHILE i<8i=i+2s=2※I+3 WENDPRINT sEND4题(3)进位制: 将十进制的数转化为k 进制数的方法是除k 取余法.二、习题精练1.将两个数A =9,B =15交换使得A =15,B =9下列语句正确的一组是( )A. B. C. D.2、如图所示程序,若输入8时,则下图程序执行后输出的结果是 ( )A 、0.5B 、0.6C 、0.7D 、0.83. 上图程序运行后输出的结果为 ( )A. 50B. 5C. 25D. 04、上图程序运行后的输出结果为 ( )A.17B.19C.21D.235、如右图所示,对甲乙两程序和输出结果判断正确的是 ( )A .程序不同结果不同 B.程序不同,结果相同 C .程序相同结果不同 D .程序同,结果6.下列各数中最小的数是 ( )A .(9)85B .(6)210C .(4)1000D .(2)1111117.二进制数111011001001 (2)对应的十进制数是 ( )A .3901B .3902C .3785D .39048、下面的问题中必须用条件结构才能实现的个数是 ( )(1)已知三角形三边长,求三角形的面积;(2)求方程ax+b=0(a,b 为常数)的根;(3)求三个实数a,b,c 中的最大者;(4)求1+2+3+…+100的值。
高中数学必修三基本算法语句和算法分析案例课后练习(含答案)
基本算法语句与算法案例课后练习题一:阅读下列程序.INPUT“A=”;AA=A*2A=A*3A=A*4A=A*5PRINT AEND若输入的A的值为1,则输出的结果A的值为().A.5B.6 C.15 D.120题二:请写出下面程序运算输出的结果.(1) a=5b=3c=(a+b)/2d=c*cPRINT d;(2)a=1b=2c=a+bb=a+c-bPRINT a,b,c;(3)a=10b=20c=30a=bb=cc=aPRINT a,b,c().B.3 C.10 D.6题四:下面程序在开始运行后,通过键盘输入三个值a=3,b=24,c=7,则输出结果是().程序:,24C.24,7,3 D.7,3,24题五:(1) (2)程序运行后输出的结果是().(1)(2)A.9917B.100 21C.101 18 D.102 23题六:下面程序的功能是输出1~100间的所有偶数.程序:(1)试将上面的程序补充完整;(2)改写为WHILE型循环语句.题七:程序Ⅰ程序Ⅱx=1x=x*2x=x*3 PRINT x END INPUT x y=x*x+6 PRINT y END(1)程序Ⅰ的运行结果为________;(2)若程序Ⅱ与程序Ⅰ运行结果相同,则程序Ⅱ输入的值为________.题八:在一次数学考试中,小明、小亮、小强的成绩分别为a,b,c,后来发现统计错了.小亮的成绩记在了小明的名下,小强的成绩记在了小亮的名下,而小明的成绩记在小强的名下了.请设计程序更正成绩单,并输出.().A.-1 B.4或-1C.4 D.2或-2x的值为________.,b=-1,n=5,则输出的是________.).C.21、17 D.14、21题十三:2010年温哥华冬奥短道速滑1000米决赛中,中国选手王濛以1分29秒213的成绩夺金,成就个人在本届冬奥会上的三冠王,现在已知王濛在50次训练中的成绩,请画出程序框图,要求求出成绩优秀分数的平均分,并输出(规定时间少于1分31秒为优秀).程序如下:S=0m=0i=1DOINPUT“x=”;xIF x<91/60THENS=S+xm=m+1END IFi=i+1LOOP UNTIL i>50P=S/mPRINT PEND题十四:青年歌手电视大奖赛共有10名选手参加,并请了12名评委,在计算每位选手的平均分数时,为了避免个别评委所给的极端分数的影响,必须去掉一个最高分和一个最低分后再求平均分数.要求画出程序框图(假定分数采用10分制,即每位选手的分数最低为0分,最高为10分).程序如下:题十五:用更相减损术求81与135的最大公约数时,要进行________次减法运算.题十六:用辗转相除法求下面两数的最大公约数,并用更相减损术检验你的结果:(1)80, 36;(2)294, 84题十七:用秦九韶算法求多项式f (x)=7x3+3x2-5x+11在x=23时的值,在运算过程中下列数值不会出现的是().A.164 B.3 767C.86 652 D.85 169题十八:用秦九韶算法计算多项式f (x)=x6-12x5+60x4-160x3+240x2-192x+64,当x=2时的值.基本算法语句与算法案例课后练习参考答案题一:D.详解:执行赋值语句后A的值依次为2, 6, 24, 120,故最后A的值为120.题二:(1) 16;(2) 1,2,3;(3) 20, 30, 20.详解:(1)因为a=5,b=3,c=(a+b)/2=4,所以d=c2=16,输出d的值为16.(2)因为a=1,b=2,c=a+b,所以c=3,b=a+c-b,即b=1+3-2=2.所以输出1,2,3.(3)由b=20及a=b知a=20,由c=30及b=c知b=30,再由c=a及a=20知c=20.所以a=20,b=30,c=20,输出a,b,c的值是20, 30, 20.题三:D.详解:由程序知a=3时,y=2×3=6.题四:C.详解:当a=3,b=24,c=7时,此时b>a,首先是a、b交换数值,即a=24,b=3,c=7,又此时c>b,执行的程序是b、c交换数值,即b=7,c=3,所以a=24,b=7,c=3.题五:B.详解:只要a<100,a的值就加1,a=99时,执行循环体a=a+1后,a的值为100.此时结束循环,故结束循环后a的值为100.当i=7时最后执行一次循环体此时i=7+2=9,S=2×9+3=21题六:(1)①m=0②i=i+1;(2)见详解.详解: (1)①m=0②i=i+1;(2)改写为WHILE型循环程序如下:题七:(1)6;(2)0.详解:(1)Ⅰ中,x=x*2=2,x=x*3=2×3=6,故输出x的值是6.(2)Ⅱ的功能是求y=x2+6的函数值,由题意Ⅱ中y=6,∴x2+6=6,即x=0.输入的值为0.题八:见详解.详解:程序如下:INPUT “更正前的成绩”;a ,b ,cx =aa =cc =b b =xPRINT “更正后的成绩”;a ,b ,cEND题九: B .详解:该程序执行的功能是给出x ,求分段函数y =⎩⎨⎧x 2-3x +5 (x <0)(x -1)2 (x ≥0)的相应y 的值. 当y =9时,可得x =4或x =-1.题十: 1或-1.详解:本程序执行的功能是求函数y =⎩⎨⎧(x -1)2 (x ≥0)(x +1)2 (x <0)的函数值. 由函数的性质知当x =1或x =-1时,y 有最小值为0.题十一: 3.详解:当i =1时,c =3+(-1)=2,a =-1,b =2;当i =2时,c =-1+2=1,a =2,b =1;当i =3时,c =2+1=3,a =1,b =3,此时i =4.因为n =5,故n -2=3,此时循环结束,输出c =3.题十二: C .详解:第一个程序中,i =7时执行循环体i =i +2,此时i 为9,S =2×9+3=21.结束循环.第二个程序中,i =7时,S =2×7+3=17.然后,执行i =i +2,此时i =9,结束循环.题十三: 见详解.详解:程序框图如图题十四:见详解.详解:由于共有12名评委,所以每位选手会有12个分数,我们可以用循环结构来完成这12个分数的输入,同时设计累加变量求出这12个分数之和.本问题的关键在于从这12个输入的分数中找出最大数与最小数,以便从总分中减去这两个数.由于每位选手的分数都介于0分和10分之间,故我们可以先假设其中的最大数为0,最小数为10,然后每输入一个评委的分数,就进行一次比较.若输入的数大于0,就将其代替最大数,若输入的数小于10,就用它代替最小的数,依次比较下去,就能找出这12个数中的最大数与最小数.循环结束后,从总和中减去最大数与最小数,再除以10,就得到该选手最后的平均分数.程序框图如图所示.题十五:3.详解:辗转相减的过程如下:135-81=54,81-54=27,54-27=27.要进行3次减法运算.题十六:(1)4;(2)42.详解:(1)80=36×2+8,36=8×4+4,8=4×2+0,即80与36的最大公约数是4.验证:80-36=44,44-36=8,36-8=28,28-8=20,20-8=12,12-8=4,8-4=4,∴80与36的最大公约数为4.(2)294=84×3+42,84=42×2.即294与84的最大公约数是42.验证:∵294与84都是偶数可同时除以2,即取147与42的最大公约数后再乘2.147-42=105,105-42=63,63-42=21,42-21=21,∴294与84的最大公约数为21×2=42.题十七:D.详解:f (x)=((7x+3)x-5)x+11,按由内到外的顺序依次计算一次多项式x=23时的值v0=7;v1=v0·23+3=164;v2=v1·23-5=3 767;v3=v2·23+11=86 652.故不会出现D项.题十八:0.详解:将f (x)改写为f (x)=(((((x-12)x+60)x-160)x+240)x-192)x+64,由内向外依次计算一次多项式当x=2时的值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.。
2019-2020年苏教版数学必修三讲义:第1章+1.3+基本算法语句及答案
1.3基本算法语句1.伪代码伪代码是介于自然语言和计算机语言之间的文字和符号.2.赋值语句在伪代码中,赋值语句用符号“←”表示,“x←y”表示将y的值赋给x,其中x是一个变量,y是一个与x同类型的变量或表达式.思考1:赋值语句两边的量可以互换吗?[提示]赋值符号“←”左右两边不能对换,如A←B和B←A的含义及运行结果是不同的.A←B表示用B的值替换A原来的值,B←A表示用A的值替换B 原来的值.思考2:赋值语句可以给代数式赋值吗?[提示]赋值语句不能给代数式赋值,如“a2b-ab2←0”是错误的,赋值语句只能给变量赋值.如果赋值符号左边的变量原来没有值,则执行赋值语句后获得一个值;如果已有值,则执行赋值语句后赋值符号右边的值将代替该变量原来的值,即将原来的值“冲掉”.思考3:赋值语句能进行代数式演算吗?如化简、因式分解等.[提示]不能用赋值语句进行代数式的演算(如化简、因式分解等).如y←x2-1←(x-1)(x+1)是不能实现的.在一个赋值语句中,只能给一个变量赋值,不能出现两个或多个“←”.但一个变量可以多次赋值.3.输入、输出语句输入语句“Read a,b”表示输入的数据依次送给a,b,输出语句“Print_x”表示输出运算结果x.4.条件语句(1)条件语句表达算法的选择结构.(2)条件语句的一般形式为:If A ThenBElseCEnd If其中A表示判断的条件,B表示满足条件时执行的操作内容,C表示不满足条件时执行的操作内容,End_If表示条件语句结束.(3)数学中的分类讨论、分段函数在算法中一般用条件语句.5.循环语句(1)循环语句的定义循环语句用来实现算法中的循环结构.(2)当型循环语句它表示当所给条件中成立时,执行循环体部分,然后再判断条件p是否成立.如果p仍成立,那么再次执行循环体,如此反复,直到某一次条件p不成立时退出循环,其一般格式为:While p循环体End while,其特点是先判断,后执行.(3)直到型循环语句它表示先执行循环体部分,然后再判断所给条件p是否成立,如果p不成立,那么再次执行循环体部分,如此反复,直到所给条件p成立时退出循环,其一般格式为Do循环体Until pEnd Do,其特点是先执行,后判断.(4)“For”语句当循环的次数已经确定时用“For”语句,其一般形式为For I from“初值”To“终值”step“步长”循环体End For.思考4:三种循环语句的区别与联系是什么?[提示]1.赋值语句“x←x+1”的正确解释为________.①x的值与x+1的值可能相等;②将原来x 的值加上1后,得到的值替换原来x 的值;③这是一个错误的语句;④此表达式经过移项后,可与x ←x -1功能相同.② [赋值符号与数学中的等号的意义是不完全相同的.x ←x +1在数学中不成立,但在赋值语句中将x 的原值加1,再赋给x .②正确.①③④不正确.]2.下面这个伪代码的输出结果是________. A ←10A ←A +15Print A25 [将A 的原值10加15后再赋给A,10+15=25.]3.下列语句,当输入x ←- 3.2时,输出的结果为________.Read xIf x <0 Thenx ←-x Print x3.2 [因为x =- 3.2<0,所以执行“Then ”引导的语句,故输出-(-3.2)=3.2.]4.下面伪代码输出的结果是________.n ←S ←While S <15S ←S +nn ←n -EndPrint n0 [当S ←5+4+3+2=14时,n ←2-1=1,此时S <15继续执行循环体,则S ←5+4+3+2+1=15,n ←1-1=0,此时S =15,循环结束,输出0.]a ←1b ←2a ←a +bPrint a(2)阅读下列两个伪代码,回答问题:①x ←3y ←4x ←y ②x ←3y ←4y ←x上述两个伪代码最后输出的x 和y 值分别为________.(1)3 (2)4,4 3,3 [(1)a ←1,b ←2,把1与2的和赋给a ,即a ←3,输出的结果为3.(2)伪代码①中的x ←y 是将y 的值4赋给x ,赋值后x 的值变为4,y 为4;②中y ←x是将x 的值3赋给y ,赋值后y 的值为3,x 为3.]赋值号与数学中的等号的意义是不完全相同的,赋值号左边的变量如果原来没有值,则执行赋值语句后,获得一个值,如果已有值,则执行该语句,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”.如:N ←N +1,在数学中是不成立的,但在赋值语句中,意思是将N 的原值加1再赋给N .1.设A ←10,B ←20,则可以实现A ,B 的值互换的伪代码是________.①A ←10B ←20B ←A A ←B ②A ←10B ←20C ←A B ←C ③A ←10B ←20C ←A A ←B B ←C ④A ←10B ←20C ←A D ←B B ←C A ←B③ [①中伪代码执行后A =B =10;②中伪代码执行后A =B =10;③中伪代码执行后A =20,B =10;④中伪代码执行后A =B =10.]2.执行下面的伪代码的结果是X =________,Y =________,Z=________. X ←Y ←Z ←X ←Y Y ←XZ ←YPrint X ,Y ,Z2 2 2 [X ,Y ,Z 的初值分别为1,2,3,执行语句X ←Y 后,X =2,执行语句Y ←X 后,Y =2,执行语句Z ←Y 后,Z =2,所以X ,Y ,Z 的值都是2.]①输入语句Read a ;b ;c ;②输入语句Read x =3;③输出语句Print A =4;④输出语句Print20,3 2.④[①Read 语句可以给多个变量赋值,变量之间用“,”隔开;②Read 语句中只能是变量,而不能是表达式;③Print 语句中不用赋值号“=”;④Print 语句可以输出常量、表达式的值.]1.输入语句要求输入的值只能是具体的常数,不能是变量或表达式(输入语句无计算功能),若输入多个数,各数之间应用逗号“,”隔开.2.输出语句可以输出常量,变量或表达式的值(输出语句有计算功能)或字符,伪代码中引号内的部分将原始呈现.3.写出下列伪代码的结果. Read a ,b Print a 2+1/b若输入2,1,则输出的结果为________.5 [若输入2,1,即a ←2,b ←1.所以22+11=4+1=5.输出的结果为a 2+1b =5.]4.下面算法的功能是求所输入的两个正数的平方和,已知最后输出的结果为3.46,试据此将算法补充完整.Print S b 1.5 x 21+x 22 [由于算法的功能是求所输入的两个正数的平方和,所以S =x 21+x 22,又由最后输出的结果是3.46,所以3.46=1.12+x 22,所以x22=2.25.又x 2是正数,所以x 2=1.5.]【例3】 已知函数f (x )=⎩⎨⎧x -1,x ≥0,3x 2-8,x <0.编写一个伪代码,对每输入的一个x 值,都得到相应的函数值,并画出其对应的流程图.[解] 解决分段函数求值的问题,编写伪代码要用条件语句,画流程图要用选择结构,可以先用自然语言,设计解决问题的算法,再转化为流程图和伪代码.用变量x ,y 分别表示自变量和函数值.步骤如下:S1 输入x 值.S2 判断x 的范围,若x ≥0,则用函数y ←x 2-1求函数值,否则用y ←3x 2-8求函数值.S3 输出y 的值.流程图如图所示:伪代码如下图所示:Readx If x ≥0 Theny ←x 2-1Elsey ←3x 2-8End IfPrint y1.书写条件语句时,为了清晰和方便阅读,通常将Then 部分和Else 部分缩进书写.2.在条件语句中,Then 部分和Else 部分是可选的,但语句的出口“End If”不能省.提醒:(1)条件语句的执行顺序与流程图中的选择结构的执行顺序一致,首先对条件进行判断,满足条件则执行该条件下的语句,不满足条件则执行下一步.(2)If 代表条件语句的开始,End If 代表条件语句的结束,这两点是判断一个语句是否为条件语句的关键.5.根据如下所示的伪代码,当输入的a ,b 分别为log 23,log 32时,最后输出的c 的值为________.Read a ,bIf a <b Thenc ←ac ←bPrint clog 32 [本伪代码的算法功能是输出a ,b 中较小的数.因为a =log 23>1,b =log 32<1,所以b <a ,所以c =b =log 32.]6.根据下面的算法语句,画出其对应的流程图.伪代码:Read xIf x >0 Theny ←1Else y ←EndPrint y[解] 伪代码中有条件语句,相应流程图用选择结构,解决的是一个两段函数求值的问题,用一个判断框就可以了.流程图如图所示:[1.循环结构流程图有几种形式?它们有何区别?可以相互转化吗?[提示]循环结构流程图有两种形式;当型循环和直到型循环,它们可以相互转化,先判断后执行的是当型循环,先执行后判断的是直到型循环.2.循环语句有几种形式?它们可以相互转化吗?[提示]循环语句有三种形式,如下表所示,当型循环语句和直到型循环语句可以相互转化,一般地,“For”语句可以改写成“While”语句,但“While”语句不一定能够改写成“For”语句.i ←p ←While i ≤99p ←p +ii ←i +Print p(1)伪代码中的循环语句是________型的循环语句;(2)将伪代码用另一类型的循环语句来实现.思路点拨:用“While ”语句描述的循环语句是当型循环语句,用“Do ”语句描述的循环语句是直到型循环语句,从上面的伪代码可以看出,这是一个用当型循环语句写的伪代码,此伪代码输出的是1+3+5+…+99的值.[解] (1)当(2)改成直到型循环语句如下: i←1p ←0Dop ←p +ii ←i +2Until i >99End DoPrint p1.本例中的伪代码能用“For”语句实现吗?思路点拨:本例中伪代码输出的是1+3+5+…+99的值,循环次数用步长确定,故可以用“For”语句实现.[解] 本例中的伪代码能用“For ”语句实现,用“For ”语句表示如下:S ←1For I From 3 To 99 Step 2S ←S +IPrint S2.设计算法,求1-3+5-7+…-99+101的值,用伪代码表示.[解] 循环语句有While 语句、Until 语句和For 语句,采用不同语句,其算法描述不同.用“For ”语句表示:S ←a ←For Ia ←a ×(-1)S ←S +a ×IPrint S用“While ”语句表示:S ←1I←3a ←1While I ≤101a ←a ×(-1) S ←S +a ×II ←I +Print S1.累加求和、累乘求积问题一般都要应用循环语句来设计伪代码,应用循环语句时,关键是设计循环条件及循环体.2.用循环语句编写伪代码的步骤(1)给循环语句中的变量赋初始值.(2)找出在伪代码中反复执行的部分,即循环体.(3)找出控制循环的条件:其中直到型循环是直到条件符合,即判断“Y”时,退出循环,条件不符合,即判断“N”时,继续循环;当型循环是当条件符合,即判断“Y”时,继续循环,条件不符合,即判断“N”时,退出循环.提醒:(1)“For ”语句中的I 是用于控制算法中循环次数的变量,起计数作用,它有初值和终值,是循环开始和结束时循环变量的值.(2)在“For ”语句中,如果省略“Step 步长”,那么重复循环时,I 每次增加1.1.本节课的重难点是用三种语句书写算法.2.(1)条件结构的适用范围:已知分段函数的解析式求函数值的问题,须用条件语句书写伪代码,当条件的判断有两个以上的结果时,可以选择条件结构嵌套去解决.(2)解此类问题的步骤:①构思出解决问题的一个算法(可用自然语言).②画出流程图,形象直观地描述算法.③根据流程图编写伪代码,即逐步把框图中的算法步骤用算法语句表达出来.3.两种循环语句的相同点是:(1)进入循环前的语句相同;(2)循环体相同;(3)输出部分相同.不同点是:(1)循环条件的位置不同;(2)循环条件不同.1.下面的伪代码输出的结果是( ) x ←6y ←3x ←x /3y ←4x +1Print x +yA .25B .27C .9D .11D[由题意知,x←6,y←3,x←6÷3=2,y←4×2+1=9,x+y=2+9=11.所以输出11.]2.判断输入的数x是否为正数,若是,输出它的平方,若不是,输出它的相反数,则横线上应填()y←-xy←x2Print yA.x<0 B.x≤0C.x>0 D.x≥0B[由题意知,x为正数时,输出x2,x 不是正数,即x≤0时,输出-x.观察伪代码知“If”执行的是输出相反数,故应填x≤0.]3.下列伪代码输出的结果为________.A←1B←1While BA←A+BB←A+BEnd WhileC←A+BPrint “C=”;CC=34[循环结构中,循环体的作用是将前两个数相加,得到后一个数;如果没有循环条件的限制,伪代码中的循环结构将依次给A ,B 赋值为:1,1,2,3,5,8,13,21,34,…,其中第1,3,5,…个数为A 的值,第2,4,6,…个数为B 的值,可见B =21时,循环结束,此时,A =13,所以C =A +B =34.]4.下面的语句运行后输出的结果为________.x ←0Dox ←x +x ←x 2Until x ≥20Print x25 [第一次循环:x =1,x =12;第二次循环:x =2,x =22;第三次循环:x =5,x =52=25,25≥20,循环终止.故输出x 的值为25.]5.给出如图所示的流程图,写出相应的伪代码.[解] 这是一个顺序结构的流程图,过程清楚,用输入,输出语句和赋值语句,编写伪代码即可.相应的伪代码如下所示.Readx,yx←x/2y←3×y Print x,y x←x-y y←y-1 Print x,y。
【人教版】数学必修三《算法常考题型与综合应用》名师讲义(含答案)
算法常考题型与综合应用主讲教师:熊丹北京五中数学教师开篇语前面两讲我们复习了算法的概念、算法的三种逻辑结构,用框图和语句两种形式表现出来,还体会了三种经典的算法案例.今天我们来对这一章的知识进行一个总结和更进一步的应用.重难点易错点解析题一:某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为:不超过50kg按0.53元/kg 收费,超过50kg的部分按0.85元/kg收费.相应收费系统的流程图如图所示,则①处应填().A.y=0.85x B.y=50×0.53+(x-50)×0.85C.y=0.53x D.y=50×0.53+0.85x题二:如果执行如图的程序框图,那么输出的C=().A.3 B.5 C.8 D.13题三:运行下面的程序,当输入n =840和m =1764时,输出结果是______.金题精讲题一:如果执行如图的程序框图,那么输出的值是().A .2010 B .- 1 C .12D .2题二:如图是求样本x 1,x 2,…,x 10的平均数x -的程序框图,图中空白框中应填入的内容为().A .S =S +x n B .S =S +x n n C .S =S +n D .S =S +1n题三:一个算法的程序框图如图所示,若该程序输出的结果为56,则判断框中应填入的条件是().A.i<4 B.i<5 C.i≥5 D.i<6题四:求使1+2+3+…+n>100的最小整数n的值,下面算法语句正确的为().题五:下面程序框图运行后,(1)若*处表达式为S=2S+1,则输出结果为________;(2)若输出结果为8,则处理框*处可填________.学习提醒本讲展现了算法一章的主要考查方式和考点,重点放在算法的三种逻辑结构的程序框图。
重中之重的是循环结构,老师再一次强调追踪变量的方法是理解循环结构的最好方法,读懂算法功能,检验算法功能都可以用这种方法,算法案例考试的要求是了解,在正规大型考试中考查并不是重点,但是可能会出现在必修3的模块考试中,只需要知道4种算法的基本操作就可以了.算法常考题型与综合应用讲义参考答案重难点易错点解析题一:B 题二:B 题三:84金题精讲题一:D 题二:A 题三:D题四:B 题五:(1)15;(2)S=2S (答案不惟一)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本算法语句与算法案例
开篇语
算法是实践性很强的内容,只有通过自身的实践解决几个算法设计问题,才能体会到算法思想,学会一些基本逻辑结构和语句.因此尽可能地通过实例体会和理解算法的含义,通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程,了解算法语言的基本构成,理解几种基本算法语句.但并非必须使用信息技术才能学习算法,在数学中的算法更注重设计算法的过程,体验算法的思想,培养有条理地思考表达能力,提高逻辑思维能力.
本节课我们来复习几种基本的算法语句——赋值语句、输入和输出语句、条件语句、循环语句,在此基础上再了解几个算法案例,进一步体会算法的思想.
重难点易错点解析
题一:运行下面程序,输出结果为( ).
a =3
b =5
a =a +b
b =a \b
PRINT a ,b
A .3,5
B .8,53
C .8,1
D .8,85
题二:运行下列程序,当输入数值-2时,输出结果是( ).
A .7
B .-3
C .0
D .-16
题三:下边程序运行后输出的结果分别是___________,____________.
金题精讲
题一:已知函数f(x)=x2-1,g(x)=2x+3,下面程序是求f(g(0))+g(f(0))的值的算法语句:x=0
g=2* x +3
f =①
y1=f
f=x*x-1
g=____②____
y2=g
y=y1+y2
PRINT y
END
则①、②处应填入的表达式为().
A.①x*x-1 ②2*x+3 B.①g*g-1 ②2*f +3
C.①2*g+3 ②f*f-1 D.①f*f-1 ②2*g+3
题二:若运行如下程序,最后输出y的值为-20,那么输入的t值为().
A.10或-6 B.10或-2
C.-6 D.10或-2或-6
题三:有如下两个程序().
A.两个程序输出结果相同
B.程序(1)输出的结果比程序(2)输出的结果大
C.程序(2)输出的结果比程序(1)输出的结果大
D.两个程序输出结果的大小不能确定,谁大谁小都有可能
题四:分析下面程序的算法功能,画出其算法的程序框图.
题五:下列程序运行后的输出结果为().
INPUT“输入正整数a,b=”;a,b
m=a*b
WHILE a<>b
IF a>b THEN
a=a-b
ELSE b=b-a
END IF
WEND
PRINT m=m/a
END
运行时,从键盘输入48,36.
A.36 B.12 C.144 D.48
题六:用秦九韶算法求多项式f(x)=12+35x-8x2+79x3+6x4+5x5+3x6的值,当x=-4时,f (x)=_____.
基本算法语句与算法案例
讲义参考答案
重难点易错点解析
题一:C 题二:D 题三:0;0
金题精讲
题一:B 题二:A 题三:B
题四:
题五:C
题六:3392。