VB课件第4章循环结构.ppt





《VB课件第4章循环结构.ppt》由会员分享,可在线阅读,更多相关《VB课件第4章循环结构.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 采采用用循循环环程程序序可可以以解解决决一一些些按按一一定定规规则则重重复复执执行行的的问问题题。例例如如,统统计计一一个个班班几几十十名名学学生生,甚甚至至全全校校几几千千名名学学生生的的学学期期成绩,如求平均分、不及格人数等。成绩,如求平均分、不及格人数等。本章主要内容 循环语句循环语句 For.Next/Do.Loop/While.Wend 循环出口语句循环出口语句(Exit)多重循环多重循环 程序举例程序举例 4.3 4.3 循环结构设计循环结构设计 循环循环是指在指定的条件下多次重复执行一组是指在指定的条件下多次重复执行一组语句。被重复执行的一组语句称为语句。被重复执行的一组语句称
2、为循环体循环体。VB提供的循环语句有提供的循环语句有:For.Next Do.Loop While/Until Do While/Until.Loop While.Wend 最常用的是最常用的是For.Next和和Do.Loop语句语句 按指定次数执行循环体按指定次数执行循环体 4.3.1 For.Next4.3.1 For.Next循环循环循环变量超过终值?循环变量超过终值?FT循环变量增加步长循环变量增加步长循环体循环体循环变量获得初值循环变量获得初值 格式:格式:For 循环变量初值循环变量初值 To 终值终值 Step 步长值步长值 循环体循环体 Next 循环变量循环变量功能:功能:
3、当循环变量的值在初值到终值范围内时,执行当循环变量的值在初值到终值范围内时,执行一次循环体的语句代码,并使初值增加一个步长。当一次循环体的语句代码,并使初值增加一个步长。当循环变量的值不在初值到终值范围内时,就退出循环,循环变量的值不在初值到终值范围内时,就退出循环,执行执行Next后面的语句。后面的语句。说明:说明:循环变量是一个数值变量,初值、终值和步长循环变量是一个数值变量,初值、终值和步长值都是数值表达式,步长值可以是正数值都是数值表达式,步长值可以是正数(称为递增循环称为递增循环),也可以是负数,也可以是负数(称为递减循环称为递减循环);若步长值为;若步长值为1,则,则Step 1可
4、以省略。可以省略。说明说明:G循环次数的一般计算公式:循环次数的一般计算公式:Int(终值-初值)/步长)+1G事先已知事先已知循环次数,则可使用,则可使用For-Next循循环结构语句环结构语句计数循环 Private Sub Form_Load()ShowDim sum As Integer计算计算1 1至至100100的和,存放在的和,存放在sum中中显示结果显示结果 Print sum=;sum End Subsum=sum+1 sum=sum+1 sum=sum+2 sum=sum+2 sum=sum+100sum=sum+100sum=sum+ii=1 100i=1 100采用采用
5、Print直接在窗体上输出结果直接在窗体上输出结果 Private Sub Form_Load()Show Dim sum As Integer Dim i As Integer For i=1 To 100 sum=sum+i Next i Print sum=;sum End SubYesNosum=sum+ii=1i=100i=i+1执行过程执行过程:For i=1 To 100 sum=sum+i Next i示例示例2 2:求求T=8!=1238 采用采用Print直接在窗体上输出结果,程序代码:直接在窗体上输出结果,程序代码:Private Sub Form_Load()Show
6、t=1 For c=1 To 8 t=t*c Next c Print T=;t End Sub 程序运行结果是:程序运行结果是:T40320 语句语句t=t*c也称累乘器。先将也称累乘器。先将t置置1(不能置不能置0)。在循环程序中,常用累加器和累乘器来完成各种计算任务。在循环程序中,常用累加器和累乘器来完成各种计算任务。如如果果要要求求N!呢呢?思考:思考:x=5 For i=1 To 20 Step 5 x=x+i5 Next i思考:思考:s=5 s=s+1 Next i思考:思考:Private Sub Form_Click()x=5:k=5 For k=1 To 10 Step-2
7、 x=x+k Next k Print k;x End Sub思考:思考:Private Sub Form_Click()Dim sum As Double,x As Double sum=0 n=0 For i=1 To 5 x=n/i n=n+1 sum=sum+x Next i End Sub 下面采用下面采用“穷举法穷举法”来解此题。来解此题。其做法是:从所有可能解中,逐个进行试验,若其做法是:从所有可能解中,逐个进行试验,若满足条件,就得到一个解,否则不是。直到条件满满足条件,就得到一个解,否则不是。直到条件满足或判别出无解为止。足或判别出无解为止。令母鸡为令母鸡为x只,小鸡为只,小
8、鸡为y只,根据题意可知只,根据题意可知 y=100 x 开始先让开始先让x初值为初值为1,以后逐次加,以后逐次加1,求,求x为何值时,为何值时,条件条件3x+y/3=100成立。如果当成立。如果当x达到达到33时还不能使条时还不能使条件成立,则可以断定此题无解。件成立,则可以断定此题无解。示例示例3 3:100 100 元买元买100 100 只鸡,母鸡只鸡,母鸡3 3元元1 1只,小鸡只,小鸡1 1元元3 3只,问各应买多少只只,问各应买多少只?采用采用Print直接在窗体上输出结果,程序代码:直接在窗体上输出结果,程序代码:Private Sub Form_Load()Dim x As I
9、nteger,y As Integer Show For x=1 To 33 y=100-x If 3*x+y/3=100 Then Print 母鸡只数为母鸡只数为:;x,Print 小鸡只数为小鸡只数为:;y End If Next x End Sub 运行结果:运行结果:母鸡只数为:母鸡只数为:25 小鸡只数为:小鸡只数为:75 For.Next循循环环主主要要是是用用在在知知道道循循环环次次数数的的情情况况下,若事先不知道循环次数,可以使用下,若事先不知道循环次数,可以使用Do.Loop 循环。循环。Do.Loop两两种种格格式式:前前测测型型循循环环结结构构和和后后测测型型循循环结构
10、环结构。两者区别在于判断条件的先后次序不同。两者区别在于判断条件的先后次序不同。4.3.2 Do.Loop 4.3.2 Do.Loop循环语句循环语句循环体循环体F条件条件T先先判判断断循循环环条条件件,再再执行循环体语句。执行循环体语句。1.1.前测型前测型Do.LoopDo.Loop循环循环 格式:格式:Do While|Until 条件条件 循环体循环体 Loop Do While.Loop语句的功能:语句的功能:当条件成立当条件成立(为真为真)时,执行循环体;当条件不成立时,执行循环体;当条件不成立(为假时为假时),终止循,终止循环。环。Do Until.Loop语句的功能:语句的功能
11、:当条件不成立当条件不成立(为假为假)时,执行循环体,直到条件时,执行循环体,直到条件成立成立(为真为真)时,终止循环。时,终止循环。1.1.前测型前测型Do.LoopDo.Loop循环循环Private Sub Form_Load()Dim sum As Integer,i As Integer Show i=1 Do While i=30 Print Number;sEnd SubA)0 1 B)30 30 C)4 30 D)3 182运行下列程序,单击窗体,则执行结果是()Private Sub Form_Click()b=1 a=2 Do While b 10 b=2*a+b Loop
12、 Print bEnd SubA)13 B)17 C)21 D)33 运行下列程序,单击窗体,则执行结果是()Private Sub Form_Click()E=1:F=1 For j=1 To 3 E=E+F:F=F+E Next j print E;F End Sub A)6 6 B)5 8 C)13 21 D)34 55l分析:本题可用分析:本题可用“累加累加”的方法来完成,设累加的和为的方法来完成,设累加的和为变量变量s,累加项为累加项为i2,则累加的语句可写为:则累加的语句可写为:s=s+i2l采用采用Do WhileLoop语句:语句:Private Sub Form_Click(
13、)Dim i As Integer,s As Long i=1 s=0 Do while i=10 s=s+i 2 i=i+1 Loop Print“s=”;s End Sub 示例示例5 5:用用DoloopDoloop语句求语句求s=1s=12 2+2+22 2+10+102 2 “辗转相除法辗转相除法”算法:算法:求出求出m/n余数余数p,若,若p0,n即为即为最大公约数;若最大公约数;若p非非0,则把原来的分母,则把原来的分母n作为新的分子作为新的分子m,把,把余数余数p作为新的分母作为新的分母n继续求解。继续求解。设计步骤如下:设计步骤如下:(1)创建应用程序的用户界面和设置对象属性
14、创建应用程序的用户界面和设置对象属性示例示例6 6:输入两个正整数,求它们的最大公约数输入两个正整数,求它们的最大公约数 编写的编写的“计算计算”按钮按钮Click事件过程代码如下:事件过程代码如下:Private Sub Command1_Click()Dim m As Integer,n As Integer,p As Integer m=Val(Text1.Text):n=Val(Text2.Text)If m=0 Or n=0 Then MsgBox 数据错误数据错误!End End If Do p=m Mod n m=n n=p Loop While p 0 Text3.Text=m
15、 End Sub 若输入的若输入的m和和n的值为的值为85和和68,则运行结果如上图,则运行结果如上图 用于提前退出循环用于提前退出循环 格式:格式:Exit For|Do 功能:功能:直接从直接从For循环或循环或Do循环中退出。循环中退出。当当程程序序运运行行时时遇遇到到Exit语语句句时时,就就不不再再执执行行循循环环体体中中的的任任何何语语句句而而直直接接退退出出,转转到到循循环环语语句句(Next、Loop)的下面继续执行。的下面继续执行。4.3.3 4.3.3 循环出口语句循环出口语句 示例示例5的循环语句可改为的循环语句可改为:Do p=m Mod n If p=0 Then E
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 课件 循环 结构

限制150内