您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 高中教育 > 循环语句课件北师大版必修
3.2循环语句问题引航1.两种循环语句的一般格式特点是什么,它们各自的使用范围如何?2.两种循环语句的联系与区别是什么?循环语句的两种形式适用范围一般形式For语句For语句是表达_____结构最常见的语句之一,它适用于__________循环次数的循环结构For循环变量=_____________________Next循环预先知道初始值To终值循环体适用范围一般形式DoLoop语句在一些循环结构中,____________循环的次数,要根据其他形式的_________停止循环,在这种情况下,一般用DoLoop语句来描述Do_______LoopWhile__________预先不知道终止条件循环体条件为真1.判一判(正确的打“√”,错误的打“×”)(1)For语句适用于任何循环结构.()(2)循环语句中循环体是反复执行的.()(3)For语句与“DoLoop”语句之间可以相互转化.()2.做一做(请把正确的答案写在横线上)(1)循环语句可与算法框图中的________结构相对应.(2)对于DoLoop语句中只有当条件为______时,才执行循环体.(3)下列算法运行后的结果为__________.S=1Fori=1To5S=S*iNext输出S.【解析】(1)错误.For语句只适用于预先知道循环次数的循环结构.(2)正确.由定义知循环体在循环语句中是反复执行的.(3)错误.For语句与DoLoop语句之间相互转化是要看条件的,只有知道了循环次数后才可以转化.答案:(1)×(2)√(3)×【解析】(1)循环语句可与算法框图中循环结构相对应.答案:循环(2)由DoLoop语句的一般格式知,只有当满足条件时,才执行循环体.答案:真(3)由For语句的格式可知,该算法运行之后的结果为1×2×3×4×5=120.答案:120【要点探究】知识点循环语句1.关于循环语句的理解(1)循环语句主要用来实现算法中的循环结构.处理具有规律性的重复计算.(2)循环语句中的判断条件只是为了控制循环的次数和一些特殊的规定,不同于条件语句中的判断条件.(3)循环需要有结束的机会,循环语句不能出现死循环.2.两种循环语句的联系与区别(1)联系:两种循环语句都是用来解决具有规律性的重复计算的相关问题,实现算法中的循环结构的.有时,这两种循环语句可以进行互化.两种循环语句在循环流程中都必须具备三个要素第一,需要进行初始化操作,限定约束条件.第二,循环需要有结束的机会,不能出现死循环的情况.第三,在循环中,每执行一次循环体,变量就会发生改变,并逐渐接近满足跳出循环的条件.(2)区别:For语句,首先确定了循环的次数,然后执行循环体,而DoLoop语句是先执行循环体,再设定循环结束的条件.【微思考】(1)For语句与DoLoop语句可以相互转化的条件是什么?提示:当知道循环体被执行的次数时,两者可以相互转化.(2)循环语句与条件语句的关系是什么?提示:循环语句中一定有条件语句,条件语句是循环语句的一部分,离开条件语句,循环语句无法循环;但条件语句可以脱离循环语句单独存在,可以不依赖循环语句独立地解决问题.【即时练】1.下列关于循环语句的说法中,不正确的是()A.循环语句与算法框图中的循环结构相对应B.For语句与DoLoop语句都是循环语句C.求1+3+32+…+39的和的算法可用循环语句来描述D.比较a,b两个数的大小的算法可用循环语句来描述【解析】选D.比较a,b两个数的大小的算法可以用条件语句来描述,其中没有需要重复执行的过程,因此不需循环语句来描述.而求1+3+32+…+39的和的过程是一个有规律的重复计算过程,可用循环语句来描述.2.下列情况下,适合用For语句的有________,适合用DoLoop语句的有________.①求S=1×2×3×…×2014;②输出使1×2×3×…×n2048成立的最小自然数n.③用二分法求方程x2-5=0的根.④使用基本语句,写出解一元二次不等式n2-10n+90的算法.【解析】可以用For语句的有①,对于②③,因为不知道循环次数,可以用DoLoop语句,至于④,用赋值语句就可以了.答案:①①②③【题型示范】类型一For语句及其应用【典例1】(1)下列语句执行后输出的结果是__________.S=1Fori=1To4S=S*iNext输出S.(2)画出计算1+3+5+…+999的算法框图,并写出For语句.【解题探究】1.题(1)中循环体是什么?执行了几次?2.题(2)中如何设计循环体?循环的次数如何计算出来?【探究提示】1.循环体是S=S*i,i从1变到4,执行了4次.2.设计循环体应是S=S+i,i的次数是取决于开始时S的赋值,如当S=0时,执行500次.【自主解答】(1)由题意知S=1×2×3×4=24.答案:24(2)算法框图为:For语句:S=0Fori=1To500S=S+(2i-1)Next输出S.【延伸探究】在本例(2)中,若S=1,则For语句又如何?【解析】S=1Fori=1To499S=S+(2i+1)Next输出S.【方法技巧】1.利用for语句实现循环结构的三个关键点第一,确定变量的初值,即进行初始化操作.第二,确定循环的次数.第三,确定循环体的内容.2.利用for语句编写程序的注意点(1)循环体要正确,尤其要注意循环体中的变量是否齐全.(2)循环条件要正确,条件与初始值要对应.(3)程序语句的格式要正确,循环结束时要有Next.【变式训练】以下语句是计算10×11×12×…×100值的一个算法,其中①和②处应分别填写________和________.t=1Fori=10To____①__t=____②__Next输出t.【解析】由题意知,求10×11×12×…×100的值.i=10,t=1所以i应从10到100,所以①处填100,②处填t=t*i.答案:100t=t*i【补偿训练】编写一个计算1+21+22+23+…+210的算法语句.【解析】用For语句描述为:S=1Fori=1To10S=S+2iNext输出S.类型二DoLoop语句及其应用【典例2】(1)(2013·雅安高一检测)如果下边算法语句执行后输出的结果是990,那么在程序中While后面的“条件”应为()i=11s=1Dos=s*ii=i-1LoopWhile“条件”输出s.A.i10B.i8C.i≥9D.i9(2)求12+22+32+…+n21000成立的n的最大正整数值,用算法语句表示其算法.【解题探究】1.题(1)中该程序的功能是什么?2.题(2)中在算法语句中当满足什么条件时就执行循环体?【探究提示】1.该程序的功能是计算s=1×11×10×9×….2.因为求的是使12+22+32+…+n21000成立的最大正整数,所以只要累加的和S1000就执行循环.【自主解答】(1)选C.因为输出的结果是990,即s=1×11×10×9,需执行3次,则算法语句中While后面的“条件”应为i≥9.(2)S=1i=2DoS=S+i2i=i+1LoopWhileS1000i=i-2输出i.【方法技巧】利用DoLoop语句的两个关注点(1)在利用DoLoop语句解决相关问题时,要熟练掌握DoLoop语句的一般格式.在运行语句的时候,先执行循环体,然后再判断条件是否成立.(2)DoLoop语句可以不知道循环的次数,但是结束循环的条件必须确定.【变式训练】设计算法求的值,要求画出算法框图,写出用基本语句编写的算法语句.【解析】算法框图.111112233499100算法语句如下:s=0k=1Dos=s+1/[k*(k+1)]k=k+1LoopWhilek≤99输出s.【一题多解】算法框图如下.算法语句如下:s=0k=1Fork=1To99s=s+1/[k*(k+1)]Next输出s.【补偿训练】画出求满足1+2+3+…+n2013的最小的自然数n的算法框图,并用基本语句描述这一算法.【解析】算法框图如图:用算法语句描述为:S=0n=1DoS=S+nn=n+1LoopWhileS≤2013输出n-1.类型三循环语句的综合应用【典例3】(1)根据下列算法语句画出算法框图.S=1n=1DoS=S*nn=n+1LoopWhileS5000输出n-2.(2)某商场第一年销售平板电脑5000台,如果平均每年销售量比上一年增加10%,那么从第一年起,大约几年可使总销售量达到30000台?画出解决此问题的算法框图,并写出算法语句.【解题探究】1.题(1)中的循环体是什么?控制变量是什么?2.题(2)中第n年的销量如何?控制条件是什么?【探究提示】1.循环体是,控制变量是S5000.2.第n年销量为5000×(1+10%)n-1,控制条件是总和小于30000.SS*nnn1【自主解答】(1)算法框图:(2)算法框图如图所示:算法语句:m=5000S=0i=0DoS=S+mm=m*(1+0.1)i=i+1LoopWhileS30000输出i-1.【方法技巧】应用循环语句编写程序时应注意的问题(1)在循环体中一定要改变控制条件的变量的值,否则会出现“死循环”,并且循环体每执行一次,控制条件中的变量就应更逼近满足跳出循环体的条件.(2)与条件语句一样,循环语句也可以嵌套,但应注意内层与外层的对应关系.(3)程序编写时应注意跳出循环时对边界数值的检查,防止漏项或多项,可通过几次循环加以验证.【变式训练】猴子第一天摘下若干桃子,当即吃掉一半,还不过瘾,又多吃了一个,第二天又将第一天剩下的桃子吃掉一半且又多吃了一个,以后每天都吃掉前一天剩下的一半多一个,到第10天早上时,只见剩下了一个桃子,求猴子第一天共摘了多少个桃子?写出求解该问题的程序.【解析】依题意,第10天桃子数为S10=1;第9天桃子数为S9=(1+1)×2=4;第8天桃子数为S8=(4+1)×2=10;……第1天桃子数为S1=(S2+1)×2.得到公式:S10=1,Sn=(Sn+1+1)×2,n=1,2,3,…,9.因此可用循环语句编写算法程序,程序如下:i=1S=1DoS=(S+1)*2i=i+1LoopWhilei10输出S.【补偿训练】编写算法语句,求S=22×42×62×82×…×20122的值.【解析】用For语句描述为:S=1Fori=1To1006S=S×(2*i)2Next输出S.用DoLoop语句描述为:S=1i=1DoS=S×(2*i)2i=i+1LoopWhilei≤1006输出S.【易错误区】对控制条件理解不到位致误【典例】下面是描述求满足1×3+2×4+3×5+4×6+…+n(n+2)4028的最大自然数n的算法语句,试补充完整.【解析】根据题意(1)处是循环体,应填S=S+i*(i+2)i=i+1(2)处是所求的最大自然数,即累计变量,在满足条件时i的值已经加上1.所以输出的应是i-1,故应填i=i-1.答案:(1)(2)i=i-1S=S+i*(i+2)i=i+1【常见误区】错解错因剖析在①处填i=i+1S=S+i*(i+2)没有很好地明确S=1×3+2×4+3×5+…的首项是1×3与i的初始值是1,而导致S=2×4+…丢失1×3这一项漏掉②处这一步在这个循环中,先计算S,后i变成i+1,当S≥4028时,此时i=i+1,应去掉1后输出【防范措施】1.保持前后一致在循环语句中,初始值决定了循环体及后面赋值语句.如本例i=1,若i=0,循环体中两赋值语句应颠倒一下.2.进行必要的检验对循环的过程要分析清楚,适当进行检验,可以避免不必要的错误.【类题试解】下面是求满足1+106的最小正整数n的算法,请补充完整.S=0i=1Do____①________②____LoopWhileS≤106i=i-1输出i.22211123n【解析】题目所给的是DoLoop语句,①②处是循环体,根据所给式子的特点可知①处应填S=S+,②处为累计变量,应填i=i+1.答案:①S=S+②i=i+121i21i
本文标题:循环语句课件北师大版必修
链接地址:https://www.777doc.com/doc-4433364 .html