32循环语句北师大版.ppt
3.2 循环语句循环语句否否开始开始n=1a=15n输出an=n+1n66结束是是变量变量n控制着循环的开控制着循环的开始和结束始和结束,称为称为循环变量循环变量反复执行的部分,反复执行的部分,称为称为循环体循环体此用于判断是否继续执此用于判断是否继续执行循环体,称为行循环体,称为循环的循环的终止条件终止条件1. 指出下图中的循环变量指出下图中的循环变量,循环体循环体,循环终止条件循环终止条件2. 循环结构的流程图的基本循环结构的流程图的基本模式模式循环变量循环变量=初始值初始值循环体循环体循环变量循环变量=循环变量的后继值循环变量的后继值终止条件是否成立终止条件是否成立是是否否为了将循环结构转化为算法语句,为了将循环结构转化为算法语句,我们需要学习循环语句我们需要学习循环语句,首先我首先我们来学习们来学习For语句,它是表达循语句,它是表达循环结构最常见的语句之一环结构最常见的语句之一,它适它适用于用于预先知道循环次数预先知道循环次数的的循环结构循环结构.一一 For语句语句1 For语句的一般格式语句的一般格式For 循环变量循环变量 = 初始值初始值 To 终值终值 循环体循环体 Next注:注:在在For语句里,我们默认循环变量每语句里,我们默认循环变量每次的增量为次的增量为1,增量不为,增量不为1的情况,需用参的情况,需用参数数Step,即即“For 循环变量循环变量 = 初始值初始值 To 终终值值Step 增量增量”.循环变量循环变量=初始值初始值循环体循环体循环变量循环变量=循环变量的后继值循环变量的后继值终止条件是否成立终止条件是否成立是是否否2 For语句执行流程语句执行流程 当程序执行时,遇到当程序执行时,遇到For语句,首先把初语句,首先把初始值赋予循环变量,然后与循环变量的始值赋予循环变量,然后与循环变量的终值比较,若初始值小于或等于终值,终值比较,若初始值小于或等于终值,则执行循环体,然后循环变量加则执行循环体,然后循环变量加1并且与并且与终值比较,若还小于或等于终值,再执终值比较,若还小于或等于终值,再执行循环体,循环行循环体,循环 变量的值再加变量的值再加1,依此类,依此类推,直到循环变量的值大于终值,则退推,直到循环变量的值大于终值,则退出循环。出循环。菲波那契数列是这样的一列数:菲波那契数列是这样的一列数:0,1,1,2,3,5,8,13,21,34,55,后一后一项等于前两项的和项等于前两项的和.设计一个算设计一个算法法,输出菲波那契数列的前输出菲波那契数列的前50项项,使用使用For语句描述该算法语句描述该算法.例例1i=3i=3i50i50i=i+1i=i+1结束结束是是否否A=0 B=1开始开始C=A+BC=A+BA=B B=C 输出输出A,B输出输出CA=0 B=1 1. 设计算法,输出设计算法,输出1000以内能被以内能被3和和5整除的所有正整数,使用整除的所有正整数,使用For语句语句描述该算法描述该算法.解解:For n=1 to 66a=15n Next 输出输出a否否开始开始n=1a=15n输出an=n+1n66结束是是 2.阅读下列用阅读下列用for语句写出的算法语句写出的算法,说明该算法的处理功能说明该算法的处理功能.S=0T=1 For i=1 to 20S=S+iT=T*i输出输出S输出输出TNext这个算法实际上是求这个算法实际上是求和和S=1+2+3+20及求积及求积T=12320这两件事情这两件事情.在一些循环结构中在一些循环结构中,预先不知道循预先不知道循环的次数环的次数,要根据其它形式的终止要根据其它形式的终止条件停止循环条件停止循环,在这种情况下一般在这种情况下一般用用Do Loop 语句。语句。二二 Do Loop 语句语句1 Do Loop 语句的一般格式语句的一般格式 Do 循环体 Loop While 条件为真是是循环体循环体条件成立条件成立否否2Do Loop 语句的执行流程语句的执行流程当程序执行时,遇到当程序执行时,遇到Do Loop 语句,语句,先执行一次循环体,然后检查先执行一次循环体,然后检查While 后面的条件是否成立,后面的条件是否成立,“是是”则继续执行循环体,则继续执行循环体,“否否”则退出循环。则退出循环。例2 设区间0,1是方程的有解区间二分法算法求方程 在区间0,1上的一个近似解的框图如下图所示,其中精度为请用Do Loop 语句描述这个算法。f( ) 0 x f( )0 x, Do 循环体 Loop While 条件为真解:算法用Do Loop语句描述为:输入a=0 b=1Do If Then 跳出循环 Else If Then Else End If End IfLoop While输出( )() 02a bf a f2abb2aba2abba() 02a bf 注:1 应用Do Loop语句时,一定注意条件表达式的写法,当不满足While后面的条件表达式时停止循环,若满足则继续循环。 2 例2运用了循环语句和条件语句来描述算法,其中循环语句和算法中的循环结构相对应,条件语句和算法中的条件结构相对应,最好利用框图写出基本语句。练习练习.用用Do Loop语句语句描述判断一个数描述判断一个数P是否为是否为素数素数的算法的算法.解解: i=2Do If i整除整除p Then 输出输出“p不是素数不是素数” Else i=i+1 End IfLoop While 输出输出“p是素数是素数”开始开始输入输入pi=2i整除整除p输出输出“p不是素数不是素数”i=i+1是是是是否否否否输出输出“p是素数是素数”结束结束pi pi 思考交流:比较For语句与Do Loop语句的异同。 1 相同点: 它们都是循环语句,对应于算法基本结构中的循环结构。 2 不同点: A 书写形式不同。 B 作用不同:For语句主要适用于预先知道循环次数的循环结构,如果预先不知道循环次数,则使用Do Loop语句。 C For语句先判断条件是否满足,再执行循环体; Do Loop语句先执行循环体,再判断条件是否满足. 1.两种循环语句两种循环语句(1)for语句语句(2) Do Loop语句语句2 用基本语句描述算法的一般用基本语句描述算法的一般步骤步骤(1)算法分析)算法分析(2)画出算法框图()画出算法框图(3)写出算法语句)写出算法语句