资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第六章 循环结构,一、,循环结构概述,二、,WhileWend,语句,三、,DoLoop,语句,四、,ForNext,语句,五、,循环的嵌套和退出,一、循环结构概述,依据循环条件,重复执行某段程序的一种语句。,如:在一行上输出,60,个“*”号,print“*”60,个*号,或,print“*”;,print“*”;,print“*”,60,个,Print,语句,I=0,Print“*”,I=I+1,I=60,true,false,循环结构的控制流程图,变量,I,记录输出*号个数的计数器,二、,WhileWend,语句,语法格式如下:,While,循环体,Wend,条件:逻辑表达式,指定循环的条件。当条件为,true,,,执行语句块,遇到,Wend,语句,再次测试条件,为,true,,,继续执行语句块;条件为,false,,,退出循环,执行,Wend,后面的语句。,开始,条件,=true,循环体,结束,yes,no,Dim i As Integer,While i=60,Print*;,i=i+1,Wend,输出,60,个“*”,Dim n as integer,s as integer,k as integer,n=,Val(InputBox(Input,n),s=1,k=1,While k=n,s=s*2,k=k+1,Wend,FontSize,=18,Print s=;s,计算,2,n,Dim n as integer,s as integer,k as integer,n=,Val(InputBox(Input,n),s=0,k=1,While k=n,s=s+k,k=k+1,Wend,FontSize,=18,Print s=;s,计算,1+2+3+n,Dim n as integer,s as integer,k as integer,n=,Val(InputBox(Input,n),s=1,k=1,While k=0.0000001,k=k+1,t=t*(-x*x)/(2*k-2)*(2*k-1),s=s+t,Wend,FontSize,=18,Print sin(;x;)=;s,Sin(x)=x-,三、,DoLoop,语句,先判断再执行,先执行再判断,1.,先判断再执行,语法格式:,Do While|Until,语句块,Loop,当条件为真,进入循环;条件为假,退出循环。,While,指定循环条件,,Until,指定循环结束条件。,1.,先判断再执行,计算,2,n,Dim n,s,k,n=,Val(InputBox(Input,n),s=1,k=1,Do While k n,s=s*2,k=k+1,Loop,FontSize,=18,Print s=;s,2.,先执行再判断,语法格式:,Do,语句块,Loop While|Until,先执行语句块,然后测试条件,决定是否继续循环。,Dim x As Long,y As Long,C As Long,Do,c=x+y,x=x+1,Y=2*x+1,Print x;”+”;y;”=;c,Loop While x=10,四、,ForNext,语句,用于循环次数已知的情况。语法格式:,For,循环变量,=,初值,To,终值,Step,步长,循环体,Next,循环变量,循环变量用作循环计数器,控制循环的次数;初值是循环变量的起始值,终值是循环变量的结束值;步长是循环变量的增值,为,1,可以省略;循环体是重复执行的语句序列;,Next,语句是循环的终端语句。,For,循环变量,=,初值,To,终值,Step,步长,循环体,Next,循环变量,先把“初值”赋给“循环变量”,接着检查“循环变量”的值是否超过终值,如果超过就跳出循环,执行,(ForNext),后面的语句;否则执行一次循环体,遇到,Next,语句时把“循环变量,+,步长”的值赋给“循环变量”,重复上述过程。,下面是一个从,1,加到,100,的例子,Private Sub Command1_Click(),Dim x As Integer,sum As Integer,For x=1 to 100 Step 1,sum=sum+x,Next x,Print 1+2+3+100=,sum,End Sub,X=1,X=100,Sum=1x=2,X=100,Sum=1+2x=3,X100,X=100,执行,ForNext,后面的语句,下面是一个求阶乘的程序,n!,Private Sub Command1_Click(),Dim k As Long,Dim n As Integer,x As Integer,n=,InputBox,(,输入求阶乘数:,),If n=Then End,k=1,For x=1 To n,k=k*x,Next x,Print n;!=;k,End Sub,五、循环的嵌套和退出,循环的嵌套:循环语句块中包含另一个循环结构。,95,页上机实践题,1,每行的“*”号数:,2*,行号,-1,空格数:总行数,-,行号,Dim i as integer,j as integer,Row_Num As Integer,FontSize,=18,Row_Num=7,For i=1 To Row_Num,Print,Spc(Row_Num,-i);,For j=1 To 2*i-1,Print*;,Next j,Print,Next I,五、循环的退出,循环条件不满足或超过循环次数时能正常退出循环,强制退出循环:,Exit Do/Exit For,死循环:不能退出循环,程序反复执行循环体,出现死机。,计算,1+1*2+1*2*3+1*2*3*n,思考:,1,2,+2,2,+3,2,+4,2,+n,2,
展开阅读全文