VisualBasic循环结构程序设计_第1页
VisualBasic循环结构程序设计_第2页
VisualBasic循环结构程序设计_第3页
VisualBasic循环结构程序设计_第4页
VisualBasic循环结构程序设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、 计算机软件技术基础计算机软件技术基础 计算机软件技术基础Visual BasicVisual Basic程序设计程序设计 计算机软件技术基础计算机软件技术基础 选择结构程序设计选择结构程序设计:IfThen 语句(单分支结构)语句(单分支结构)If.ThenElse 语句(双分支结构)语句(双分支结构)IfThen Else If 语句(多分支结构)结构语句(多分支结构)结构Select Case 语句(多分支结构)语句(多分支结构)回回 顾顾 计算机软件技术基础计算机软件技术基础 IfThen Else If 语句(多分支结构)结构语句(多分支结构)结构 语句格式:语句格式:If If 表

2、达式表达式1 1 Then Then 语句块语句块1 1 ElseIf ElseIf 表达式表达式2 2ThenThen 语句块语句块2 2 Else Else 语句块语句块 n+1n+1 End If End If FTTT表达式表达式1表达式表达式2表达式表达式nn语句块语句块11语句块语句块2语句块语句块nn语句块语句块n+11F图图 多分支结构多分支结构 计算机软件技术基础计算机软件技术基础 Select Case语句(多分支结构)语句(多分支结构) FTFF表达式表表达式表n语句块语句块n+1语句块语句块nT表达式表表达式表2语句块语句块2T表达式表表达式表1语句块语句块1图图 Se

3、lect Case Select Case 结构结构格式:格式:Select Case Select Case 测试变量或表达式测试变量或表达式 Case Case 表达式表表达式表1 1 语句块语句块11 Case Case 表达式表表达式表2 2 语句块语句块22 Case Case 表达式表表达式表n n 语句块语句块nn Case Else Case Else 语句块语句块n+1n+1 End Select End Select 计算机软件技术基础计算机软件技术基础 表达式表有四种形式:表达式表有四种形式: 一个表达式。一个表达式。如:如:Case 6一组用逗号隔开的枚举值。一组用逗号

4、隔开的枚举值。如:如: Case 1,3,5,7表达式表达式1 TO 表达式表达式2。如:如: Case 1 To 10Is 。如:如:Case Is=80 另外,在一个情况语句中,另外,在一个情况语句中,上述四种形式可以混合使用。上述四种形式可以混合使用。格式:格式:Select Case 测试变量或表达式测试变量或表达式 Case 表达式表表达式表1 语句块语句块1 Case 表达式表表达式表2 语句块语句块2 Case 表达式表表达式表n 语句块语句块n Case Else 语句块语句块n+1End Select 计算机软件技术基础计算机软件技术基础 3. 3 循环结构程序设计循环结构程

5、序设计在指定的条件下多次重复执行一组语句。在指定的条件下多次重复执行一组语句。VBVB中提供了两种类型的循环语句:中提供了两种类型的循环语句: 计数循环语句;计数循环语句; 条件循环语句。条件循环语句。 计算机软件技术基础计算机软件技术基础 1. Do.Loop循环循环DoLoopDoLoop循环用于事先不知道循环次数的循环结构。循环用于事先不知道循环次数的循环结构。此种语句四种语法格式:此种语句四种语法格式: Do While Loop 语句语句 Do Loop While 语句语句 Do Until Loop 语句语句 Do Loop Until 语句语句 计算机软件技术基础计算机软件技术

6、基础 格式:格式:Do While Do While 条件表达式条件表达式 循环体循环体 Loop Loop . Do While Loop语句语句TF条件条件循环体循环体图图 Do While Loop语句流程图语句流程图说明:说明: 条件表达式可以是一个逻辑表达式,也可以是一个关系表达条件表达式可以是一个逻辑表达式,也可以是一个关系表达式,其值应是逻辑型。式,其值应是逻辑型。 Do While Do While和和LoopLoop应成对出现。应成对出现。 循环体中要有控制循环的语句,以避免出现死循环。循环体中要有控制循环的语句,以避免出现死循环。 这种循环可以一次也不执行循环体。这种循环可

7、以一次也不执行循环体。 计算机软件技术基础计算机软件技术基础 例例 打印打印1到到20的整数。的整数。格式:格式:Do While Do While 条件表达式条件表达式 循环体循环体 Loop Loop Private Sub Form_Click() Dim i As Integer i = 1 Do While i = 20 Print i i = i + 1 LoopEnd Sub 计算机软件技术基础计算机软件技术基础 TF条件条件循环体循环体图图 DoLoop WhileDoLoop While语句流程图语句流程图格式:格式: Do Do 循环体循环体 Loop WhileLoop

8、While条件表达式条件表达式 . Do Loop While语句语句说明:说明: 至少要执行循环体一次。至少要执行循环体一次。 与与Do WhileDo While循环的区别:循环的区别: Do WhileDo While循环先测试条件是否成立,只有成立才执行循环;循环先测试条件是否成立,只有成立才执行循环;而该循环先执行循环体,后测试条件是否成立。而该循环先执行循环体,后测试条件是否成立。 计算机软件技术基础计算机软件技术基础 Private Sub Form_Click() Dim i As Integer i = 1 Do Print i i = i + 1 Loop While i

9、20 Print i i = i + 1 LoopEnd Sub 计算机软件技术基础计算机软件技术基础 Private Sub Form_Click() Dim i As Integer i = 1 Do Print i i = i + 1 Loop Until i 20End Sub . Do Loop Until语句语句格式:格式:Do Do 循环体循环体 Loop UntilLoop Until条件表达式条件表达式TF条件条件循环体循环体图图 Do Loop UntilDo Loop Until语句流程图语句流程图打印打印1到到20的整数。的整数。 计算机软件技术基础计算机软件技术基础

10、例例 DoLoop循环编程计算下式的值循环编程计算下式的值( (两种方法当型和直到型两种方法当型和直到型) )。 10012111X方法一、方法一、用用当型循环当型循环实现,程序如下:实现,程序如下:Private Sub Form_Click()s = 0: i = 1Do While i 100 s = s + 1 / i i = i + 1LoopPrint s=; sEnd Sub 计算机软件技术基础计算机软件技术基础 方法二、用直到型循环实现: Private Sub Form_Click()s = 0: i = 1Dos = s + 1 / ii = i + 1Loop Until

11、 i 100 也可写为也可写为Loop While i = 100Print s=; sEnd Sub 计算机软件技术基础计算机软件技术基础 2. For Next循环循环循环体循环体Exit For循环体循环体循环变量增加步长循环变量增加步长循环变量获得初值循环变量获得初值FT循环变量在终值内循环变量在终值内图图 ForFor循环的执行过程循环的执行过程格式:格式:For For 循环变量循环变量 = = 初值初值 To To 终值终值 Step Step 步长步长 Next Next 循环变量循环变量 计算机软件技术基础计算机软件技术基础 For For 循环变量循环变量 = = 初值初值

12、 To To 终值终值 Step Step 步长步长 Next Next 循环变量循环变量 For i = m To n Step x s = s * i Print sNext im = 1: n = 10: s = 1: x = 2 计算机软件技术基础计算机软件技术基础 说明:说明: 格式中的参数说明:格式中的参数说明: 循环变量必须为数值型。循环变量必须为数值型。 循环的初值、终值和步长都是数循环的初值、终值和步长都是数值表达式,其值不一定是整数,可值表达式,其值不一定是整数,可以是实数,以是实数,VB自动取整。自动取整。增量参数可正可负。增量参数可正可负。如果增量为正,则初值必须小于等

13、如果增量为正,则初值必须小于等于终值于终值如果增量为负,则初值必须大于等如果增量为负,则初值必须大于等于终值。于终值。如果没有设置如果没有设置step,则增量默认为,则增量默认为1。m = 1: n = 10: s = 1For i = m To n Step 2 s = s * i Print sNext i 计算机软件技术基础计算机软件技术基础 在在For语句和语句和Next语句之间语句之间的语句序列称为的语句序列称为循环体循环体,可,可以是一个或多个语句。以是一个或多个语句。 Next是循环终端语句,在是循环终端语句,在Next后面的循环变量与后面的循环变量与For中的循环变量必须相同。

14、中的循环变量必须相同。 当循环是单层循环时,当循环是单层循环时,Next后面的循环变量可以后面的循环变量可以不写。不写。m = 1: n = 10: s = 1For i = m To n Step 2 s = s * i Print sNext i 计算机软件技术基础计算机软件技术基础 ForFor循环语句的执行过程循环语句的执行过程1)1)把初值赋给循环变量把初值赋给循环变量2)2)检查循环变量的值是否超过终值检查循环变量的值是否超过终值3)3)如果超过就不执行循环体,跳出如果超过就不执行循环体,跳出循环,执行循环,执行NextNext后面的语句后面的语句4)4)否则执行一次循环体,然后把

15、循否则执行一次循环体,然后把循环变量增加步长,再赋给循环变量环变量增加步长,再赋给循环变量重复上述过程。重复上述过程。m = 1: n = 10: s = 1For i = m To n Step 2 s = s * i Print sNext i 计算机软件技术基础计算机软件技术基础 当初值等于终值时,不管当初值等于终值时,不管步长是正数还是负数,都执步长是正数还是负数,都执行一次循环体。行一次循环体。m = 1: n = 10: s = 1For i = m To n Step 2 s = s * i Print sNext i 循环次数由初值、终值和步长决定,计算公式为:循环次数由初值、

16、终值和步长决定,计算公式为:循环次数循环次数=INT(终值(终值 初值)初值)/步长步长+1) 计算机软件技术基础计算机软件技术基础 For语句和语句和Next语句必须成对出现,不能单独使用。语句必须成对出现,不能单独使用。在循环体中可以使用循环变量,但一般不再对循环在循环体中可以使用循环变量,但一般不再对循环变量赋值。变量赋值。 ForFor 循环变量循环变量 = = 初值初值 To To 终值终值 Step Step 步长步长 NextNext 循环变量循环变量 计算机软件技术基础计算机软件技术基础 例例 3.18 求求N的阶乘的阶乘 N!=1*2*3*(N-1)*NPrivate Sub

17、 Form_Click() Dim s As Single Dim n As Integer s = 1 n = Val(InputBox(输入自然数n) If n 34 Then Exit Sub End If For i = 1 To n s = s * i Print s Next i Print n=; n, s=; sEnd Sub 计算机软件技术基础计算机软件技术基础 3、循环的强制退出 Exit For Exit Do 常和If、Select Case配合使用,使循环中的程序不再继续进行 计算机软件技术基础计算机软件技术基础 3-19 求从1001000之间所有3的倍数的数之和,

18、当和大于3000时,停止计算并输出和。Private Sub Command1_Click() Dim i As Integer Dim sum As Integer sum = 0 i = 100 Do While i 3000 Then Exit Do End If End If i = i + 1 Loop Print i, sumEnd Sub 计算机软件技术基础计算机软件技术基础 4、WhileWend循环格式:格式:While Wend例例 打印打印1到到20的整数的整数功能:和功能:和Do While循环循环的功能完全相同的功能完全相同Private Sub Form_Click

19、() Dim I As Integer I = 1 While I = 20 Print I I = I + 1 WendEnd Sub 计算机软件技术基础计算机软件技术基础 允许将一个循环语句完整地放到另一个循环语句中,形成循环的嵌套或多层嵌套。被包含的循环称为内循环,包含循环的循环称为外循环。如果嵌套层数较多,也可以从外到内依次称之为第一层循环,第二层循环,。Visual Basic循环嵌套的层数没有限制注意:外循环必须完全包含内循环,不得交叉。 For i=1 To 9 For j=1 to 9 Next i Next j 5.循环的嵌套多重循环结构 计算机软件技术基础计算机软件技术基础

20、 (2)(2) 循环语句的开始关键字和终端关键字必须成对出现ForNext语句,内外层循环有相同终点时,允许共用一个关键字Next,各层中的循环控制变量不能省略,内层在前,外层在后For i=1 To 9 For j=1 to 9 N e x t jNext i For i=1 To 9For j=1 to 9 Next j,i可以写成可以写成 计算机软件技术基础计算机软件技术基础 ForNext循环语句构成的嵌套来说,各层的循环变量名(成员名)不能相同。For i=1 To 9 For j=1 to 9 Next j Next i (4)为了便于阅读和维护,编程时每层循环建议采用缩排方式书写

21、。 计算机软件技术基础计算机软件技术基础 3.21 百元买百鸡问题百元买百鸡问题Private Sub Form_click() Cls Rem 百元买百鸡问题 Print 公鸡, 母鸡, 小鸡 For x = 0 To 20 For y = 0 To 33 z = 100 - x - y If 5 * x + 3 * y + z / 3 = 100 Then Print x, y, z End If Next y, xEnd Sub100元钱买元钱买100只鸡只鸡公鸡公鸡5元一只元一只母鸡母鸡3元一只元一只小鸡小鸡1元三只元三只 计算机软件技术基础计算机软件技术基础 循环结构程序设计循环结构

22、程序设计 VB中提供了两种类型的循环语句:中提供了两种类型的循环语句: 计数循环语句;计数循环语句; 条件循环语句。条件循环语句。 要求掌握的循环结构:要求掌握的循环结构: DoLoop For.Next DoLoop语句有四种语法格式:语句有四种语法格式: Do While Loop 语句语句 Do Loop While 语句语句 Do Until Loop 语句语句 Do Loop Until 语句语句小小 结结 计算机软件技术基础计算机软件技术基础 For 循环变量循环变量 = 初值初值 To 终值终值 Step 步长步长 Next 循环变量循环变量小小 结结循环次数计算公式为:循环次数

23、计算公式为:循环次数循环次数=INT(终值(终值 初值)初值)/步长步长+1) 计算机软件技术基础计算机软件技术基础 习 题 计算机软件技术基础计算机软件技术基础 3-23 用下面公式计算的近似值,直到最后一项的绝对值小于10-6为止.71513114 计算机软件技术基础计算机软件技术基础 Private Sub Form_Click()Dim s As IntegerDim n As Single, t As Single, pi As Singlen = 1pi = 0s = 1t = 1Do While Abs(t) = 0.000001 pi = pi + t n = n + 2 s = -s t = s / nLooppi = pi * 4Print pi=; piEnd Sub.71513114 计算机软件技术基础计算机软件技术基础 5-2 编程求ex的近似值展开式。要求最后一项的值小于等于0.000001为止。kxkxkxkk)!1(!1!.! 3! 2! 1132nxxxxenx 计算机软件技术基础计算机软件技术基础 Private Sub Form_Click() Dim x As Single, y As Single, f1 As Single Dim f2 As Single, k As In

温馨提示

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

评论

0/150

提交评论