-VB课件第4章循环结构-PPT.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《-VB课件第4章循环结构-PPT.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 课件 循环 结构 PPT
- 资源描述:
-
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
4、1可以省略。可以省略。说明说明: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+i采用采用Print直接在窗体上输
5、出结果直接在窗体上输出结果 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 t=1 For c=1
6、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 For i=2.6 To 4.9 Step 0.6 s=s+1 Next i思考:思考:Private Sub Form_Click()x=5:k=5 For k=
7、1 To 10 Step-2 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 下面采用下面采用“穷举法穷举法”来解此题。来解此题。其做法是:从所有可能解中,逐个进行试验,若其做法是:从所有可能解中,逐个进行试验,若满足条件,就得到一个解,否则不是。直到条件满满足条件,就得到一个解,否则不是。直到条件满足或判别出无解为止。足或判别出无解为止。令母鸡
8、为令母鸡为x只,小鸡为只,小鸡为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_Lo
9、ad()Dim x As Integer,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
11、.Loop语句的功能:语句的功能:当条件不成立当条件不成立(为假为假)时,执行循环体,直到条件时,执行循环体,直到条件成立成立(为真为真)时,终止循环。时,终止循环。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
12、 10 b=2*a+b Loop 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
13、 Sub Form_Click()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
15、p 0 Text3.Text=m End Sub 若输入的若输入的m和和n的值为的值为85和和68,则运行结果如上图,则运行结果如上图 用于提前退出循环用于提前退出循环 格式:格式:Exit For|Do 功能:功能:直接从直接从For循环或循环或Do循环中退出。循环中退出。当程序运行时遇到当程序运行时遇到Exit语句时,就不再执行循语句时,就不再执行循环体中的任何语句而直接退出,转到循环语句环体中的任何语句而直接退出,转到循环语句(Next、Loop)的下面继续执行。的下面继续执行。4.3.3 4.3.3 循环出口语句循环出口语句 示例示例5的循环语句可改为的循环语句可改为:Do p=m M
展开阅读全文