vba程序流程控制语句.ppt_第1页
vba程序流程控制语句.ppt_第2页
vba程序流程控制语句.ppt_第3页
vba程序流程控制语句.ppt_第4页
vba程序流程控制语句.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、1,本节内容及要求: 1.熟练掌握行if语句、块if结构、Select Case情况选择结构有使用,掌握选择的嵌套结构; 2.熟练掌握实现循环结构的For/Next循环结构及Exit For语句、Do/Loop循环结构的使用,掌握多重循环。,本章重点: 选择结构及循环结构的实现及其应用 本章难点: 选择的嵌套及多重循环结构,VBA程序流程控制语句,2,执行语句分为3种结构:,顺序结构:顺序结构是最基本的程序结构,按程序中语句编写的先后顺序逐条执行。 条件结构:根据条件选择运行的结果。 循环结构:对程序中的某段代码重复执行时,可以使用循环结构。,3,分支语句,Goto 语句 形式: Go To

2、标号|行号 作用是无条件地转移到标号或行号指定的那行语句. 标号是一个字符序列,行号是一个数字序列。 例如: Lp: goto lp,4,条件测试语句,IfThen语句(单分支结构) If Then 语句块 End If 或 If Then ,例:已知两个数x和y,比较它们的大小, 使得x大于y. If xy Then t=x : x=y: y=t End If 或 If xy Then t=x: x=y: y=t,5,条件测试语句,2. IfThenElse语句(双分支结构) If Then Else End If If Then Else ,双分支选择结构执行过程,6,条件测试语句,例如:

3、输出x,y两个中值较大的一个值。 IF X Y Then Print X Else Print Y End If 也可以写成如下的单行形式: IIF (X Y ,Print X , Print Y),7,条件测试语句,IfThenElseIf语句(多分支结构) 形式: If Then ElseIf Then Else 语句块 n+1 End If,8,条件测试语句,例:输入一学生成绩,评定其等级。方法是:90100分为“优秀”,8089分为“良好”,7079分为“中等”,6069分为“及格”,60分以为“不合格”,使用IF语句实现的程序段如下: If x=90 then Print 优秀 El

4、seIf x=80 Then Print 良好 ElseIf x=70 Then Print 中等 ElseIf x=60 Then Print 及格 Else Print 不及格 End If,9,条件测试语句,4 . Select Case语句(情况语句) 形式: Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case Else 语句块n+1 End Select,数值型或字符串表达式,10,条件测试语句,例如:将例 使用select case.语句来实现的程序段如下: Select Case x Case 90 to 100 P

5、rint 优秀 Case 80 to 89 Print 良好 Case 70 to 79 Print 中等 Case 60 to 69 Print 及格 Case Else Print 不及格 End Select,11,条件测试语句,5. 选择结构的嵌套 下面是两种正确的嵌套形式: (1) IF Then . IF Then Else . End If . Else . IF Then . Else . End If . End IF,(2) IF Then . Select Case Case IF Then Else . End If Case. . End Select . End I

6、F,12,(1)IIf函数 函数形式: Iif(表达式,当条件为True时的值,当条件为False时的值 例:求X、Y中大的数,并放入变量Tmax中: Tmax=Iif(XY, X, Y) (2)Choose函数 函数形式:Choose(整数表达式,选项列表) 如果整数表达式的值是1,则选择列表中的第1项,依次类推;如果小于1或大于列表项数时,则返回NULL。 例: 根据nub为1 -4的值,换算成不同的运算符: OP= Choose(nub,“”,“”,“”,“”),13,条件测试语句,注意:只要在一个分支内嵌套,不出现交叉,满足结 构规则,其嵌套的形式将有很多种,嵌套层次也可以任意 多。对

7、于多层IF嵌套结构中,要特别注意IF与Else的配对 关系,一个Else必须与IF配结,配对的原则是:在写含有 多层嵌套的程序时,建议使用缩进对齐方式,这样容易阅 读和维护。,14,循环语句,循环结构 1. For循环语句 (一般用于循环次数已知) 形式: For 循环变量初值 to 终值 Step 步长 语句块 Exit For 语句块 Next 循环变量,15,循环语句,循环次数,例: For I=2 To 13 Step 3 Print I , Next I Print “I=“, I,循环执行次数 : 4 输出I的值分别为: 2 5 8 11 出了循环输出为: I=14,16,循环语句

8、,例 编程计算:S=1+2+3+100,Dim S%, I% S=0 累加前变量S为0 For I=1 to 100 S=S+I Next I Print S=,S,17,【例】求阶乘n!,循环语句,18,编写程序代码。 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*

9、i Next i Label2.Caption=Str(n)+!=+Str(result) End Sub,循环语句,19,循环语句,DoLoop循环语句,形式1:(当型循环) Do While|Until 语句块 Exit Do 语句块 Loop,20,循环语句,形式2:(直到循环) Do 语句块 Exit Do 语句块 Loop While|Until ,21,循环语句,Do UntilLoop执行过程 DoLoop Until执行过程,22,循环语句,说明: (1)当使用While构成循环时,当条件为“真”,则反复执行循环体,当条件为“假”,则退出循环。 (2)当使用Until 构成循环

10、时,当条件为“假”,则反复执行循环体,直到条件成立,即为“真”时,则退出循环。,(3)在循环体内一般应有一个专门用来改变条件表达式中变量的语句,以使随着循环的执行,条件趋于不成立(或成立),最后达到退出循环。 (4)语句Exit Do的作用是退出它所在的循环结构,它只能用在DO/Loop结构中,并且常常是同选择结构一起出现在循环结构中,用来实现当满足某一条件时提前退出循环。,23,【例】用DoLoop循环结构实现求和sum=1+2+3+100。,编写代码如下:,24,解法一:采用当型循环Do WhileLoop Private Sub Command1_Click() Dim i As Int

11、eger,sum As Integer i=1 计数器初值置为1 sum=0 累加器初值置为0 Do While i=100 当型循环 sum=sum+i i=i+1 每次循环变量加1 Loop Label2.Caption=Str(sum) End Sub,25,解法二:采用直到型循环DoUntilLoop Private Sub Command1_Click() Dim i As Integer,sum As Integer i=1 计数器初值置为1 sum=0 累加器初值置为0 Do Until i100 sum=sum+i i=i+1 Loop Label2.Caption=Str(s

12、um) End Sub,26,循环结构(续3),【例】利用Do循环求1+2+100和。 Dim sum As Integer, i As Integer sum = 0 i = 1 Do Until i 100 Sum = Sum + i i = i + 1 Loop Debug.Print sum,27,循环语句,WhileWend语句 使用格式如下: While Wend 说明:该语句的功能与Do While .Loop实现的循环完全相同。,28,循环语句,例(补充) 求两个整数的最大公约数、最小公倍数,Dim n%,m%,nm%,r% m=Val(InputBox(m=) n=Val(I

13、nputBox(n=) nm=n*m If m 0) m=n n=r r= m mod n Loop Print 最大公约数=, n Print 最小公倍数=, nm/n,算法流程图,29,循环语句,循环的嵌套多重循环结构 如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套,嵌套的层数可以根据需要而定,嵌套一层称为二重循环,嵌套二层称为三重循环。 上面介绍的几种循环控制结构可以相互嵌套,下面是几种常见的二重嵌套形式:,30,循环语句,(1)For I=. . For J=. . Next J . Next I,(2)For I=. . Do While/Until . . L

14、oop . Next I,(3)Do While. . For J=. . Next J . Loop,(4)Do While/Until. . Do While/Until . . Loop . Loop,31,循环语句,例如:打印九九乘法表. For i = 1 To 9 For j = 1 To 9 se = i Next j Picture1.Print Next i,32,【例】求130间的全部素数。,分析:素数是只能被1和它本身整除的正整数。例如,17是一个素数,它只能被1和17整除。素数又成为质数。,注:文本框可根据需求改变颜色、移动位置;文字可编辑,POWERPOINT模板 适

15、用于简约清新及相关类别演示,1,2,3,4,点击添加文本,点击添加文本,点击添加文本,点击添加文本,目录,点击添加标题,点击添加标题,点击添加标题,点击添加标题,点击添加文本,点击添加文本,点击添加文本,点击添加文本,添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点击添加文本,点

温馨提示

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

评论

0/150

提交评论