1.3.4循环语句1.3.4循环语句江阴市祝塘中学李昊(苏教版必修三1.3.4)(1)赋值语句:变量←表达式、变量或常数.(2)输入语句:Reada,b(3)输出语句:(4)条件语句:Printa,bIfAThenBElseCEndIf复习回顾:请你运用已学知识设计一个计算1×3×5×7×9的算法.并画出流程图问题情境:问题1、问题2、如何设计一个计算1×3×5×7×…×99的算法?问题:设计计算1×3×5×7×…×99的一个算法.分析:我们用变量T存放乘积的结果,变量I作为计数变量.每循环一次,将乘积T×I的结果仍存放在变量T中,同时使I的值增加2.解:S2I←3;S1T←1;S3如果I≤99,那么转S4,否则转S6;S4T←T×I;S5I←I+2,转S3;S6输出T.数学探究:循环语句流程图:如图所示,从流程图可以看出这是一个循环结构,我们可以运用循环语句来实现上述过程.当型循环可用下面的语句形式来描述:Whilep循环体EndWhile其中p表示判断执行循环的条件.开始T←1I←3I≤99输出T结束T←T×II←I+2YN它表示当所给条件p成立时,执行循环体部分,然后再判断条件p是否成立.如果p仍成立,那么再次执行循环体.如此反复,直到某一次条件p不成立时退出循环.上述算法用当型语句“While…EndWhile”表示如下:T←1I←3WhileI≤99T←T×II←I+2EndWhilePrintT当型语句的特点是先判断,后执行.条件成立执行循环体“While”语句的特点【提升总结】1.“While”语句的特点是:“前测试”,即先判断,后执行.2.若初始条件不成立,则一次也不执行循环体中的内容.3.任何一种需要重复处理的问题都可以用这种前测试循环来实现.S5如果I>99,那么转S6,否则转S3;S2I←3;S1T←1;S3T←T×I;S4I←I+2;S6输出T;前面的算法也可以改写为直到型循环:其中p表示判断退出循环的条件.T←1,I←1NI>99开始结束T←T×II←I+2YPrintTT←1I←3直到型循环可用下面的语句形式来描述:Do循环体UntilpEndDo流程图它表示先执行循环体部分,然后再判断所给条件p是否成立.如果p不成立,则再次执行循环体部分,如此反复,直到所给条件p成立时退出循环.T←1I←3DoT←T×II←I+2UntilI>99EndDoPrintT直到型语句的特点是先执行,后判断.条件不成立时执行循环体【提升总结】1.“Do”语句的特点是:“后测试”,即先执行,后判断.2.循环体中的内容至少执行一次.3.任何一种需要重复处理的问题也都可以用这种后测试循环来实现.“Do”语句的特点如果循环结构中的循环次数已知,那么还可采用“For”语句来描述.“For”语句的一般形式为:ForIFrom“初值”To“终值”Step“步长”循环体EndForFor语句1.For循环是当型循环,即当变量I满足“初值”≤I≤“终值”时,就执行循环.2.当知道循环的次数时,可优先考虑用For语句.3.注意省略“Step‘步长’”语句的情况.T←1ForIFrom3To99Step2T←T×IEndForPrintT例如,前面的问题用For语句可表示为:说明:在上面的“For”语句中,如果省略“Step2”,那么重复循环时,I的值每次增加1.例1、已知T=12+32+52+…+992,分别用当型和直到型结构画出求T的流程图,并分别用While语句、Do-Until语句和For语句写出求T的算法开始T=0,n=1T=T+n2n=n+2PrintT结束n≤99YNTPrintWhileEnd2nnnTT99nWhile1n0T2解:例1、已知T=12+32+52+…+992,分别用当型和直到型结构画出求T的流程图,并分别用While语句、Do-Until语句和For语句写出求T的算法开始T←T+n2结束解:TPrintForEndnTTStep299To1FromnFor0,T2T←0n←1n←n+2PrintTn≤99YN开始结束T=0,n=1T←T+n2n←n+2Nn>99YPrintTTPrintDoEnd99nUntil2nnnTTDO1n0,T2TPrintForEndnTTStep299To1FromnFor0,T2的流程图的算法,并画出对写出求中,、已知数列例应算法100n1n2n21naa2aa2,a1,aa2aPrintWhileEnd1nnayyxx2ya98nWhile1n0,a2y1,x解:由题,设定x的初值a1,y的初值为a2,a的初值为0,当n=1时,a=a3,当n=98时,a=a100此时n只是循环计数变量,不参与数值计算解决问题的语句为:还可以用“For”语句和“Do”语句写出算法例3、求使S=12+22+32+…+n2>80的最小值n,画出流程图变、求使S=12+22+32+…+n2<100的最大值n,画出流程图解:例3nPrint1nn...