资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,来自中国最大的资料库下载,2.4,程序的循环结构,掌握,For,循环语句的基本格式,理解,For,循环语句的执行过程,掌握循环变量在执行过程中的变化情况,能用,For,循环结构编写简单的程序,2.4 程序的循环结构 掌握For循环语句的基本格式,实例,1,、编程求,1+2+3+10,的和,按照顺序结构编写程序如下:,Private Sub Command1_Click(),dim s as integer,s=0,s=s+1,s=s+2,s=s+10,print s,end sub,用这种方法能不能编程求出,1+2+3+100,的和,,1+2+3+1000,的和?,实际这,10,条赋值语句在重复着同一个操作,都是,将,s,加一个数和赋给,s,如果用变量,x,表示每一个加数,那么这,10,条语句就可以用一条表示:,s=s+x,,然后让,x,的取值分别为,1,到,10,这,10,个自然数,重复执行这条语句,就可以实现该程序的编写。这就要用到循环结构。,实例1、编程求1+2+3+10的和 按照顺序结构编写程,2.4.1,用,For,Next,语句建立循环结构,用循环语句编写:,Private Sub Command1_Click(),Dim s as integer,x as integer,S=0,For X=1 to 10 step 1,S=S+X,next X,print S,End sub,循环变量,初值,终值,步长,循环体,1,、,For,next,循环语句的格式:,用于建立,已知循环次数,的循环结构,For,循环变量,=,初值,To,终值,Step,步长,循环体,Next,循环变量,2,、,For,循环语句的功能:,执行,For,语句:先将初值赋给循环变量,并记住终值和步长(两数间隔)。然后进行判断,是否超出终值?如“超出”终值时,执行,Next,下一语句,否则执行循环体。,执行循环体,执行,Next,语句:循环变量加步长,返回重新判断,2.4.1 用ForNext语句建立循环结构 用循环语句编,2.4.2 For,循环语句的执行过程,2.4.2 For循环语句的执行过程,练一练,针对,for,循环语句的语句格式,设置如下练习,指出下面程序中的错误,:,1,、求,1+2+3+4+5,的和,s=0,for i=1 to 5 step 1,s=s+i,next j,print s,2,、在,VB,窗体界面上输出,110,这,10,个自然数,for I=1 to 10,print i,j-i,循环变量的名称要相同,。,For,语句与,Next,语句必须成对出现,而且仅只步长为,1,时,才可以省略,step 1,练一练针对for循环语句的语句格式,设置如下练习,指出下面程,3,、求,5+4+3+2+1,的和,s=0,for I=5 to 1,s=s+I,next I,print s,4,、求,7+5+3+1,的和:,S=0,For I=7 to 1 Step 2,S=S+I,Next I,Print S,当初值小于终值时,步长为正数;当初值大于终值时,步长为负数;,补充:,1,、循环变量必须为数值型,初值、终值:都是数值型,可以是数值表达式。,2,、循环体:在,For,语句和,Next,语句之间的语句序列。可以是一条语句,也可以是多条语句。,Step,1,2,3、求5+4+3+2+1的和4、求7+5+3+1的和:当初值,问题,2,求,S=1+2+100,和值,分析,a,、用循环产生,1,100,的自然数,b,、每产生一个自然数将其累加到求和变量中,即:,S=S+N,c,、重复执行,S=S+N,即:循环体,d,、打印和的值的语句应在程序的末尾,即:,Print S=1+2+1000=;S,程序:,Private Sub Command1_Click()Dim N as integer,S as integer S=0,For N=1 To 100 S=S+N Next N,Print S=1+2+100=;S End Sub,问题2 求 S=1+2+100和值 分析,问题,3,:一小球从,200,米高度自由下落,每次落地后反弹为原来高度的一半,然后再落下,,求该小球第十次落地时共经过了多少米的路程?,分析:设,S,表示小球经过的路程变量,S=S+2H H,表示小球反跳的高度变量,H=H/2 I,表示小球落地的次数变量,I=2 To 10,Private Sub Command1_Click(),Dim H as integer,S as integer,I as integer,S=200 H=S/2 For I=2 To 10 S=S+2*H H=H/2 Next I,Print,到第十次落地共经过的路程是:,;S;,米,end sub,问题3:一小球从 200 米高度自由下落,每次落地后反弹为原,问题,3,:一小球从,200,米高度自由下落,每次落地后反弹为原来高度的一半,然后再落下,,求该小球第十次落地时共经过了多少米的路程?,分析:设,S,表示小球经过的路程变量,S=S+H H,表示小球反跳的高度变量,H=H/2 I,表示小球落地的次数变量,I=2 To 10,Private Sub Command1_Click(),Dim H as integer,S as integer,I as integer,S=200 H=S/2 For I=2 To 10 S=S+2*H H=H/2 Next I,Print,到第十次落地共经过的路程是:,;S;,米,end sub,Private Sub Command1_Click(),Dim S as integer,I as integer,S=200,For I=2 To 10,S=S+200*2*(0.5(I-1),Next I,Print,到第十次落地共经过的路程是:,;S;,米,end sub,问题3:一小球从 200 米高度自由下落,每次落地后反弹为原,问题,4,:一小球从,200,米高度自由下落,每次落地后反弹为原来高度的一半,然后再落下,,求该小球多少次落地时经过的路程大于,600,米呢?,Private Sub Command1_Click(),Dim S as integer,I as integer,S=200 I=2,do while S600,Print“,到“,;I;”,次时落地经过的路程是超过,600,米,end sub,问题4:一小球从 200 米高度自由下落,每次落地后反弹为原,2.4.4,用,Do,语句建立循环结构,1,、,Do,语句的功能:用于建立循环,次数未知,的循环结构,2,、,Do,语句的格式:,格式一(当循环),Do While,循环体,Loop,功能:执行,Do,语句先判断条件,当条件满足,则执行循环体,然后执行,Loop,语句就回到,Do While,再判断,直到条件不满足,跳出循环,执行,Loop,下一语句。,S,0,N,0,Do While N=10,S=S+1 N=N+1 Loop,2.4.4 用 Do 语句建立循环结构 1、Do 语句的,Do,语句的第二种格式(直到循环),1,、直到形循环格式,Do,循环体,Loop while,2,、格式二功能:执行,Do,语句,就进入循环,直接执行循环体,在判断条件,当条件满足,回到上面执行循环体,直到条件不满足,跳出循环,执行,Loop,下一语句。,S=0 N=0 Do N=N+1 S=S+N Loop while N 100,Do 语句的第二种格式(直到循环)1、直到形循环格式,三种循环求解,S=1+2+100,和值,Private Sub Command1_Click(),Dim N As integer,S As integer,S=0,For N=1 To 100,S=S+N,Next N,Print“S,;S,End Sub,Private Sub Command1_Click(),Dim s As Integer,n As Integer,s=0,n=0,Do While n 100),print S,End sub,三种循环求解 S=1+2+100和值 Private,P,12,实践(,1,)“猴子摘桃”,Private Sub Command1_Click(),Dim day As Integer,S As Integer,S=1,For day=9 To 1 Step-1,S=(S+1)*2,Next day,Print s=;S,End Sub,猴子吃桃:每次吃掉一半多一个,直到第,10,天只剩一个,第一天共摘了多少个桃子?,P12 实践(1)“猴子摘桃”Private Sub Co,问题,8,要将,100,元的钞票换成等值的,10,元、,5,元、,2,元、,1,元的小钞票。要求每次换成,40,张小钞票,每种至少一张,有多少种换法?,分析:,10,元一张最多能换,9,张,,5,元一张最多能换,17,张,,2,元一张最多能换,37,张,一元只要用,40,减去,10,、,5,、,2,元的数目就可以了!,Dim i As Integer,j As Integer,k As Integer,m As Integer,sum As Integer,sum=0,For i=1 To 9,For j=1 To 17,For k=1 To 37,m=40-i-j-k,If(m=1)And(i*10+j*5+k*2+m=100)Then,sum=sum+1,Print i=;i,j=;j,k=;k,m=;m,End If,Next k,Next j,Next i,Print sum=;sum,End Sub,问题8 要将100元的钞票换成等值的10元、5元、2元、1,2.4.5,循环语句嵌套的定义,双重循环语句:在循环体内含有另一个循环语句的结构如,:For,循环变量,1=,初值,To,终值,Step,步长,For,循环变量,2=,初值,To,终值,Step,步长,循环体,Next,循环变量,2 Next,循环变量,1,多重循环:如循环体内再包含循环结构,我们将这种循环结构称作多重循环。,多重循环的原则是,:,外层循环与内层循环必须层层相套,循环体之间不能交叉。每个循环必须有一个唯一的循环控制变量。,2.4.5 循环语句嵌套的定义双重循环语句:在循环体内含,问题,5,求解,1 2+3,4+99,100,Private Sub Command1_Click(),Dim i As integer,S As integer,S=0,For i=1 To 100,s=s+(-1)(i+1)*i,Next i,Print“S,;S,End Sub,Private Sub Command1_Click(),Dim i As integer,S As integer,S=0,For i=1 To 100,If i Mod 2=0 Then,s=s i,Else,s=s+i,End If,Next i,Print“S,;S,End Sub,问题5 求解 1 2+3 4+,问题,6 1-1/2+1/3 1/4+1/99 1/100,Private Sub Command1_Click(),Dim i As integer,S As integer,S=0,For i=1 To 100,s=s+(-1)(i+1)*,(1/i),Next i,Print“S,;S,End Sub,问题6 1-1/2+1/3 1/4+,问题,7,求,1,1000,之间的素数 素数是指只能被,1,和他本身整除的数,要判断一个数,i,是否为素数,只要看,i,是否能被,2,到,i,1,范围内的数整除,若能被整除,则不是素数。,Private Sub Command1_Click(),Dim i As Integer,j As Integer,Dim prime As
展开阅读全文