《Visual Basic循环结构程序设计(精品).ppt》由会员分享,可在线阅读,更多相关《Visual Basic循环结构程序设计(精品).ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机软件技术基础计算机软件技术基础Visual BasicVisual Basic程序设计程序设计 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计选择结构程序设计选择结构程序设计:IfThen 语句(单分支结构)语句(单分支结构)If.ThenElse 语句(双分支结构)语句(双分支结构)IfThen Else If 语句(多分支结构)结构语句(多分支结构)结构Select Case 语句(多分支结构)语句(多分支结构)回回 顾顾 计算机软件技术基础计算机软件技术基
2、础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计IfThen Else If 语句(多分支结构)结构语句(多分支结构)结构 语句格式:语句格式:If If 表达式表达式1 1 Then Then 语句块语句块1 1 ElseIfElseIf 表达式表达式2 2ThenThen 语句块语句块2 2 Else Else 语句块语句块 n+1n+1 End If End If FTTT表达式表达式1表达式表达式2表达式表达式nn语句块语句块11语句块语句块2语句块语句块nn语句块语句块n+11F图图 多分支结
3、构多分支结构 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计Select Case语句(多分支结构)语句(多分支结构)FTFF表达式表表达式表n语句块语句块n+1语句块语句块nT表达式表表达式表2语句块语句块2T表达式表表达式表1语句块语句块1图图 Select Case Select Case 结构结构格式格式:Select Case Select Case 测试变量或表达式测试变量或表达式 Case Case 表达式表表达式表1 1 语句块语句块11 Case C
4、ase 表达式表表达式表2 2 语句块语句块22 Case Case 表达式表表达式表n n 语句块语句块nn Case Else Case Else 语句块语句块n+1n+1 End Select End Select 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计表达式表有四种形式:表达式表有四种形式:一个表达式。一个表达式。如:如:Case 6一组用逗号隔开的枚举值。一组用逗号隔开的枚举值。如:如:Case 1,3,5,7表达式表达式1 TO 表达式表达式2。如
5、:如:Case 1 To 10Is。如:如:Case Is=80 另另外外,在在一一个个情情况况语语句句中中,上述四种形式可以混合使用上述四种形式可以混合使用。格式:格式:Select Case 测试变量或表达式测试变量或表达式 Case 表达式表表达式表1 语句块语句块1 Case 表达式表表达式表2 语句块语句块2 Case 表达式表表达式表n 语句块语句块n Case Else 语句块语句块n+1End Select 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设
6、计3.3 循环结构程序设计循环结构程序设计在指定的条件下多次重复执行一组语句。在指定的条件下多次重复执行一组语句。VBVB中提供了两种类型的循环语句:中提供了两种类型的循环语句:计数循环语句;计数循环语句;条件循环语句。条件循环语句。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 1.Do.Loop循环循环DoLoopDoLoop循环用于事先不知道循环次数的循环结构。循环用于事先不知道循环次数的循环结构。此种语句四种语法格式:此种语句四种语法格式:Do While L
7、oop 语句语句 Do Loop While 语句语句 Do Until Loop 语句语句 Do Loop Until 语句语句 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计格式:格式:Do While Do While 条件表达式条件表达式 循环体循环体 Loop Loop .Do While Loop语句语句TF条件条件循环体循环体图图 Do While Loop语句流程图语句流程图说明:说明:条条件件表表达达式式可可以以是是一一个个逻逻辑辑表表达达式式,也也
8、可可以以是是一一个个关关系系表表达达式,其值应是逻辑型。式,其值应是逻辑型。Do While Do While和和LoopLoop应成对出现。应成对出现。循环体中要有控制循环的语句,以避免出现死循环。循环体中要有控制循环的语句,以避免出现死循环。这种循环可以一次也不执行循环体。这种循环可以一次也不执行循环体。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计例例 打印打印1到到20的整数。的整数。格式:格式:Do While Do While 条件表达式条件表达式 循环体
9、循环体 Loop Loop Private Sub Form_Click()Dim i As Integer i=1 Do While i=20 Print i i=i+1 LoopEnd Sub 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计TF条件条件循环体循环体图图 DoLoop WhileDoLoop While语句流程图语句流程图格式:格式:Do Do 循环体循环体 Loop While Loop While条件表达式条件表达式 .Do Loop While
10、语句语句说明:说明:至少要执行循环体一次。至少要执行循环体一次。与与Do WhileDo While循环的区别:循环的区别:Do Do WhileWhile循循环环先先测测试试条条件件是是否否成成立立,只只有有成成立立才才执执行行循循环环;而该循环先执行循环体,后测试条件是否成立。而该循环先执行循环体,后测试条件是否成立。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计Private Sub Form_Click()Dim i As Integer i=1 Do Pri
11、nt i i=i+1 Loop While i 20 Print i i=i+1 LoopEnd Sub 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计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 Until Loop Until条件表达式条件表达式TF条件条件循环
12、体循环体图图 Do Loop UntilDo Loop Until语句流程图语句流程图打印打印1到到20的整数。的整数。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计例例 DoLoop循环编程计算下式的值循环编程计算下式的值(两种方法当型和直到型两种方法当型和直到型)。方法一、方法一、用用当型循环当型循环实现,程序如下:实现,程序如下:Private Sub Form_Click()s=0:i=1Do While i 100 s=s+1/i i=i+1LoopPrin
13、t s=;sEnd Sub 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计方法二、用直到型循环实现:Private Sub Form_Click()s=0:i=1Dos=s+1/ii=i+1Loop Until i 100 也可写为也可写为Loop While i=100Print s=;sEnd Sub 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设
14、计程序设计 2.For Next循环循环循环体循环体Exit For循环体循环体循环变量增加步长循环变量增加步长循环变量获得初值循环变量获得初值FT循环变量在终值内循环变量在终值内图图 ForFor循环的执行过程循环的执行过程格式:格式:For For 循环变量循环变量 =初值初值 To To 终值终值 Step Step 步长步长 Next Next 循环变量循环变量 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计For For 循环变量循环变量 =初值初值 To
15、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 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计说明:说明:格式中的参数说明:格式中的参数说明:循环变量必须为数值型。循环变量必须为数值型。循循环环的的初初值值、终终值值和和步步长长都都是是数数值值表表达达式式,其其值值不不一一定定是是整整数数,可可以是实数,以是实数,VB自动
16、取整。自动取整。增量参数可正可负。增量参数可正可负。如如果果增增量量为为正正,则则初初值值必必须须小小于于等等于终值于终值如如果果增增量量为为负负,则则初初值值必必须须大大于于等等于终值。于终值。如如果果没没有有设设置置step,则则增增量量默默认认为为1。m=1:n=10:s=1For i=m To n Step 2 s=s*i Print sNext i 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计在在For语句和语句和Next语句之间语句之间的语句序列称为的语
17、句序列称为循环体循环体,可,可以是一个或多个语句。以是一个或多个语句。Next是循环终端语句,在是循环终端语句,在Next后面的循环变量与后面的循环变量与For中的循环变量必须相同。中的循环变量必须相同。当循环是单层循环时,当循环是单层循环时,Next后面的循环变量可以后面的循环变量可以不写。不写。m=1:n=10:s=1For i=m To n Step 2 s=s*i Print sNext i 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 ForFor循环语句
18、的执行过程循环语句的执行过程1)1)把初值赋给循环变量把初值赋给循环变量2)2)检查循环变量的值是否超过终值检查循环变量的值是否超过终值3)3)如果超过就不执行循环体,跳出如果超过就不执行循环体,跳出循环,执行循环,执行NextNext后面的语句后面的语句4)4)否则执行一次循环体,然后把循否则执行一次循环体,然后把循环变量增加步长,再赋给循环变量环变量增加步长,再赋给循环变量重复上述过程。重复上述过程。m=1:n=10:s=1For i=m To n Step 2 s=s*i Print sNext i 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic
19、 Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 当初值等于终值时,不管当初值等于终值时,不管步长是正数还是负数,都执步长是正数还是负数,都执行一次循环体。行一次循环体。m=1:n=10:s=1For i=m To n Step 2 s=s*i Print sNext i 循环次数由初值、终值和步长决定,计算公式为:循环次数由初值、终值和步长决定,计算公式为:循环次数循环次数=INT(终值(终值 初值)初值)/步长步长+1)计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Ba
20、sic 程序设计程序设计程序设计程序设计 For语句和语句和Next语句必须成对出现,不能单独使用。语句必须成对出现,不能单独使用。在在循循环环体体中中可可以以使使用用循循环环变变量量,但但一一般般不不再再对对循循环环变量赋值。变量赋值。ForFor 循环变量循环变量 =初值初值 To To 终值终值 Step Step 步长步长 NextNext 循环变量循环变量 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计例例 3.18 求求N的阶乘的阶乘 N!=1*2*3*(
21、N-1)*NPrivate Sub 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 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计3、循环的强制退出Exit ForExit Do常和If、Select Ca
22、se配合使用,使循环中的程序不再继续进行 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计3-19 求从1001000之间所有3的倍数的数之和,当和大于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 S
23、ub 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计4、WhileWend循环格式:格式:While Wend例例 打印打印1到到20的整数的整数功能:和功能:和Do While循环循环的功能完全相同的功能完全相同Private Sub Form_Click()Dim I As Integer I=1 While I=20 Print I I=I+1 WendEnd Sub 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Vi
24、sual Basic Visual Basic 程序设计程序设计程序设计程序设计允许将一个循环语句完整地放到另一个循环语句中,形成循环的嵌套或多层嵌套。被包含的循环称为内循环,包含循环的循环称为外循环。如果嵌套层数较多,也可以从外到内依次称之为第一层循环,第二层循环,。Visual Basic循环嵌套的层数没有限制注意:外循环必须完全包含内循环,不得交叉。For i=1 To 9 For j=1 to 9 Next i Next j 5.循环的嵌套多重循环结构 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Ba
25、sic 程序设计程序设计程序设计程序设计(2)(2)循环语句的开始关键字和终端关键字必须成对出现ForNext语句,内外层循环有相同终点时,允许共用一个关键字Next,各层中的循环控制变量不能省略,内层在前,外层在后For i=1 To 9 For j=1 to 9 Next jNext i For i=1 To 9For j=1 to 9 Next j,i可以写成可以写成 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计ForNext循环语句构成的嵌套来说,各层的循环
26、变量名(成员名)不能相同。For i=1 To 9 For j=1 to 9 Next j Next i(4)为了便于阅读和维护,编程时每层循环建议采用缩排方式书写。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计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
27、 Then Print x,y,z End If Next y,xEnd Sub100元钱买元钱买100只鸡只鸡公鸡公鸡5元一只元一只母鸡母鸡3元一只元一只小鸡小鸡1元三只元三只 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计循环结构程序设计循环结构程序设计VB中提供了两种类型的循环语句:中提供了两种类型的循环语句:计数循环语句;计数循环语句;条件循环语句。条件循环语句。要求掌握的循环结构:要求掌握的循环结构:DoLoop For.NextDoLoop语句有四种语法格
28、式:语句有四种语法格式:Do While Loop 语句语句 Do Loop While 语句语句 Do Until Loop 语句语句 Do Loop Until 语句语句小小 结结 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 For 循环变量循环变量=初值初值 To 终值终值 Step 步长步长 Next 循环变量循环变量小小 结结循环次数计算公式为:循环次数计算公式为:循环次数循环次数=INT(终值(终值 初值)初值)/步长步长+1)计算机软件技术基础计算机
29、软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计习 题 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计3-23 用下面公式计算的近似值,直到最后一项的绝对值小于10-6为止 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计Private Sub
30、 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 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计5-2 编程求ex的近似值展开式。要求最后一项的值小于等于0.000001为止。计算机软件技术基础计算
31、机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计Private Sub Form_Click()Dim x As Single,y As Single,f1 As Single Dim f2 As Single,k As Integer x=InputBox(输入x的值,求exp(x)的值)y=1 f1=x For k=2 To 1000 y=y+f1 f2=f1*x/k If Abs(f2)0.000001 Then Exit For Else f1=f2 End If Next k Pr
32、int exp(;x;)=;yEnd Sub5-3 求一个数,它除3余2,除5余3,除7余2,求满足上面要求的最小正整数Private Sub Form_Click()Dim a As Integer If a Mod 3=2 And a Mod 5=3 And a Mod 7=2 Then Print a End IfEnd Sub Exit For For a=2 To 1000 Next a5-4 求所有的3位数,它满足该数中某两位有相同数字,且该数是一个完全平方数,并求出所有这些数的和。Private Sub Form_Click()Dim a As Integer Dim b As
33、Integer Dim sum As Integer For a=10 To 31 b=a*a sum=sum+b Next a Print sumEnd Sub Dim b3 As Integer,b2 As Integer Dim b1 As Integer b3=b 100 b2=(b 10)Mod 10 b1=b Mod 10 If b1=b2 Or b1=b3 Or b2=b3 Then Print a,b End If 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计习题三习题三 三、编程题三、编程题 5-9实验题实验题