VBA程序流程控制语句ppt课件_第1页
VBA程序流程控制语句ppt课件_第2页
VBA程序流程控制语句ppt课件_第3页
VBA程序流程控制语句ppt课件_第4页
VBA程序流程控制语句ppt课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本节内容及要求:本节内容及要求: 1. 1.熟练掌握行熟练掌握行ifif语句、块语句、块ifif构造、构造、Select CaseSelect Case情况选择构造有运用,掌握选择的嵌套构造;情况选择构造有运用,掌握选择的嵌套构造; 2. 2.熟练掌握实现循环构造的熟练掌握实现循环构造的For/NextFor/Next循环构造循环构造及及Exit ForExit For语句、语句、Do/LoopDo/Loop循环构造的运用,掌握多循环构造的运用,掌握多重循环。重循环。本章重点:本章重点: 选择构造及循环构造的实现及其运用选择构造及循环构造的实现及其运用本章难点:本章难点: 选择的嵌套及多重循环

2、构造选择的嵌套及多重循环构造VBAVBA程序流程控制语句程序流程控制语句执行语句分为执行语句分为3种构造:种构造:顺序构造:顺序构造是最根本的程序顺序构造:顺序构造是最根本的程序构造,按程序中语句编写的先后顺序构造,按程序中语句编写的先后顺序逐条执行。逐条执行。条件构造:根据条件选择运转的结果。条件构造:根据条件选择运转的结果。循环构造:对程序中的某段代码反复循环构造:对程序中的某段代码反复执行时,可以运用循环构造。执行时,可以运用循环构造。分支语句分支语句Goto Goto 语句语句 方式方式: Go To : Go To 标号标号| |行号行号 作用是无条件地转移到标号或行号指定的那作用是

3、无条件地转移到标号或行号指定的那行语句行语句. . 标号是一个字符序列标号是一个字符序列, ,行号是一个行号是一个数字序列。数字序列。例如:例如: Lp: Lp: goto lp goto lp 条件测试语句条件测试语句IfThenIfThen语句语句( (单分支构造单分支构造) ) If If Then Then 语句块语句块 End If End If 或或 If If Then Then 例例: :知两个数知两个数x x和和y y,比较它们的大小,比较它们的大小, 使得使得x x大于大于y.y. If xy Then If xy Then t=x : x=y: y=t t=x : x=y

4、: y=t End If End If 或或 If xy Then t=x: x=y: y=t If xy Then t=x: x=y: y=tN条件语句序列End IfY条件测试语句条件测试语句2. IfThenElse2. IfThenElse语句语句( (双分支构造双分支构造) ) If If Then Then 1 Else Else 2 End If End If If If Then Then Else Else 2 双分支选择构造执行过程双分支选择构造执行过程 条件N语句序列1End If后面的语句Y语句序列2条件测试语句条件测试语句例如:输出例如:输出x,yx,y两个中值较大的

5、一个值。两个中值较大的一个值。IF X Y ThenIF X Y Then Print X Print XElseElse Print Y Print YEnd IfEnd If也可以写成如下的单行方式:也可以写成如下的单行方式: IIF (X Y ,Print X , Print Y) IIF (X Y ,Print X , Print Y)条件测试语句条件测试语句IfThenElseIfIfThenElseIf语句语句( (多分支构多分支构造造) ) 方式方式: : If If Then1 Then 1 ElseIf ElseIf Then2Then 2 Else Else 语句块语句块

6、n+1 n+1 End If End If条件测试语句条件测试语句 例:输入一学生成果,评定其等级。方法是:例:输入一学生成果,评定其等级。方法是:90100分为分为“优秀,优秀,8089分为分为“良好,良好,7079分为分为“中等,中等,6069分分为为“及格,及格,60分以为分以为“不合格不合格运用运用IFIF语句实现的程序段如下:语句实现的程序段如下:If x=90 thenIf x=90 then Print Print 优秀优秀 ElseIf x=80 ThenElseIf x=80 Then Print Print 良好良好 ElseIf x=70 Then ElseIf x=70

7、 Then Print Print 中等中等 ElseIf x=60 Then ElseIf x=60 Then Print Print 及格及格 Else Else Print Print 不及格不及格 End IfEnd If条件测试语句条件测试语句4 . Select Case4 . Select Case语句情况语句语句情况语句方式:方式:Select Case Select Case 变量或表达式变量或表达式Case Case 表达式列表表达式列表1 1语句块语句块1 1Case Case 表达式列表表达式列表2 2语句块语句块2 2Case ElseCase Else语句块语句块n

8、+1n+1End SelectEnd Select数值型或字符串表达式数值型或字符串表达式条件测试语句条件测试语句例如:将例例如:将例 运用运用select case.select case.语句来实现的程序段如下:语句来实现的程序段如下:Select Case x Select Case x Case 90 to 100 Case 90 to 100 Print Print 优秀优秀 Case 80 to 89 Case 80 to 89 Print Print 良好良好 Case 70 to 79 Case 70 to 79 Print Print 中等中等 Case 60 to 69 C

9、ase 60 to 69 Print Print 及格及格 Case Else Case Else Print Print 不及格不及格 End SelectEnd Select条件测试语句条件测试语句5. 5. 选择构造的嵌套选择构造的嵌套下面是两种正确的嵌套方式:下面是两种正确的嵌套方式:1 1 IF IF Then 1 Then . . IF IF 2 ThenThen Else Else . . End If End If . . Else Else . . IF IF Then3 Then . . Else Else . . End If End If . . End IF End

10、IF2IF Then . Select Case Case IF Then Else . End If Case. . End Select .End IF1IIf函数函数方式:Iif表达式,当条件为True时的值,当条件为False时的值例:求X、Y中大的数,并放入变量Tmax中:Tmax=IifXY,X,Y2Choose函数函数方式:Choose整数表达式,选项列表假设整数表达式的值是1,那么选择列表中的第1项,依次类推;假设小于1或大于列表项数时,那么前往NULL。例:根据nub为1-4的值,换算成不同的运算符:OP=Choosenub,“,“,“,“条件测试语句条件测试语句 留意:只需

11、在一个分支内嵌套,不出现交叉,满足结留意:只需在一个分支内嵌套,不出现交叉,满足结构规那么,其嵌套的方式将有很多种,嵌套层次也可以恣意构规那么,其嵌套的方式将有很多种,嵌套层次也可以恣意多。对于多层多。对于多层IF嵌套构造中,要特别留意嵌套构造中,要特别留意IF与与Else的配对的配对关系,一个关系,一个Else必需与必需与IF配结,配对的原那么是:在写含有配结,配对的原那么是:在写含有多层嵌套的程序时,建议运用缩进对齐方式,这样容易阅多层嵌套的程序时,建议运用缩进对齐方式,这样容易阅读和维护。读和维护。循环语句循环语句循环构造循环构造 1. For 1. For循环语句循环语句 ( (普通用

12、于普通用于循环次数知循环次数知) )方式:方式: For For 循环变量初值循环变量初值 to to 终值终值 Step Step 步长步长 语句块语句块Exit ForExit For 语句块语句块 Next Next 循环变量循环变量 0 初值初值终值终值 =1 时时,可省略可省略终值终值=0 死循环死循环 步长步长 循 环 变 量 在 终值内 图 1-3-13 For 循 环 语 句 语 句 块 Exit For 语 句 块 循 环 变 量 加 步 长 T F 循 环 变 量 得 初值 循环语句循环语句循环次数循环次数) 1(步长初值终值Int例例: For I=2 To 13 Ste

13、p 3 : For I=2 To 13 Step 3 Print I , Print I , Next I Next I Print Print “I=I=“, I , I 循环执行次数循环执行次数 : 4 4输出输出I I的值分别为的值分别为: : 2 5 8 11 2 5 8 11 出了循环输出为出了循环输出为: I=14: I=14循环语句循环语句例例 编程计算:编程计算:S=1+2+3+100S=1+2+3+100Dim S%, I%Dim S%, I%S=0 S=0 累加前变量累加前变量S S为为0 0For I=1 to 100 For I=1 to 100 S=S+I S=S+I

14、Next INext IPrint S=,S Print S=,S 当N=100N=N+1打印SS=0,N=1S=S+N【例】求阶乘【例】求阶乘n n!循环语句循环语句 编写程序代码。Private Sub Command1_Click() Dim n As Integer,i As Integer Dim result As Long result=1 n=CInt(text1.text) If n=0 Then Label2.Caption=请输入正整数! Exit Sub 终了过程 End if For i=1 To n result=result*i Next i Label2.Cap

15、tion=Str(n)+!=+Str(result)End Sub循环语句循环语句循环语句循环语句DoLoopDoLoop循环语句循环语句 方式方式1 1:当型循环:当型循环 Do While|Until Do While|Until 语句块语句块 Exit Do Exit Do 语句块语句块 Loop Loop 条 件 F T F T E x it D o 语 句 块 语 句 块 E x it D o 语 句 块 语 句 块 表 达 式 列 表 1 图 1 -3 -1 6 D o L o o p W h ile D o W h ile L o o p执 行 过 程 循环语句循环语句方式方式2

16、 2:( (直到循环直到循环Do Do 语句块语句块 Exit Do Exit Do 语句块语句块Loop While|Until Loop While|Until 表 达 式 列 表 1 F T F T E x it D o 语 句 块 语 句 块 E x it D o 语 句 块 语 句 块 条 件 D o L o o p W h ile的 执 行 过 程 图 1 -3 -1 5 D o W h ile L o o p 循环语句循环语句条 件语句块语句块TFExit Do条 件语句块语句块TFExit Do Do UntilLoop执行过程执行过程 DoLoop Until执行过程执行过程

17、 循环语句循环语句阐明:阐明: 1 1当运用当运用WhileWhile 构成循环时,当条件构成循环时,当条件为为“真,那么反复执行循环体,当条件为真,那么反复执行循环体,当条件为“假,那假,那么退出循环。么退出循环。 2 2当运用当运用Until Until 构成循环时,当条件构成循环时,当条件为为“假,那么反复执行循环体,直到条件成立,即假,那么反复执行循环体,直到条件成立,即为为“真时,那么退出循环。真时,那么退出循环。 3在循环体内普通应有一个专门用来改动条件表达式中在循环体内普通应有一个专门用来改动条件表达式中变量的语句,以使随着循环的执行,条件趋于不成立或成变量的语句,以使随着循环的

18、执行,条件趋于不成立或成立,最后到达退出循环。立,最后到达退出循环。 4语句语句Exit Do的作用是退出它所在的循环构造,它只能的作用是退出它所在的循环构造,它只能用在用在DO/Loop构造中,并且经常是同选择构造一同出如今循环构造中,并且经常是同选择构造一同出如今循环构造中,用来实现当满足某一条件时提早退出循环。构造中,用来实现当满足某一条件时提早退出循环。 【例】用【例】用DoLoopDoLoop循环构造实现求和循环构造实现求和sum=1+2+3+100sum=1+2+3+100。 编写代码如下:编写代码如下: 解法一:采用当型循环Do WhileLoopPrivate Sub Comm

19、and1_Click() Dim i As Integer,sum As Integer i=1 计数器初值置为1 sum=0 累加器初值置为0 Do While i100 Do Until i100 sum=sum+i sum=sum+i i=i+1 i=i+1 Loop Loop Label2.Caption=Str(sum) Label2.Caption=Str(sum)End SubEnd Sub循环构造续3【例】利用Do循环求1+2+100和。DimsumAsInteger,iAsIntegersum=0i=1DoUntili100Sum=Sum+ii=i+1LoopDebug.Pr

20、intsum循环语句循环语句WhileWendWhileWend语句语句运用格式如下:运用格式如下:While While WendWend 阐明:该语句的功能与阐明:该语句的功能与Do While Do While .Loop.Loop实现的循环完全一样。实现的循环完全一样。循环语句循环语句例补充例补充 求两个整数的最大公约数、最小公倍数求两个整数的最大公约数、最小公倍数Dim n%,m%,nm%,r%Dim n%,m%,nm%,r%m=Val(InputBox(m=)m=Val(InputBox(m=)n=Val(InputBox(n=)n=Val(InputBox(n=)nm=nnm=n

21、* *m mIf mn Then t=m: m=n: n=tIf mn Then t=m: m=n: n=t r=m mod n r=m mod n Do While (r 0) Do While (r 0) m=n m=n n=r n=r r= m mod n r= m mod n Loop LoopPrint Print 最大公约数最大公约数=, n =, n Print Print 最小公倍数最小公倍数=, nm/n =, nm/n 算法流程图算法流程图循环语句循环语句循环的嵌套循环的嵌套多重循环构造多重循环构造 假设在一个循环内完好地包含另一个循环假设在一个循环内完好地包含另一个循环构造,那么称为多重循环,或循环嵌套,嵌套的构造,那么称为多重循环,或循环嵌套,嵌套的层数可以根据需求而定,嵌套一层称为二重循环,层数可以根据需求而定,嵌套一层称为二重循环,嵌套二层称为三重循环。嵌套二层称为三重循环。 上面引见的几种循环控制构造可以相互嵌上面引见的几种循环控制构造可以相互嵌套,下面是几种常见的二重嵌套方式:套,下面是几种常见的二重嵌套方式:循环语句循环语句1 1For I=.For I=. . . For J=. For J=. . . Next

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论