VB教程---循环结构ppt课件

上传人:我*** 文档编号:148527569 上传时间:2020-10-20 格式:PPT 页数:27 大小:283KB
返回 下载 相关 举报
VB教程---循环结构ppt课件_第1页
第1页 / 共27页
VB教程---循环结构ppt课件_第2页
第2页 / 共27页
VB教程---循环结构ppt课件_第3页
第3页 / 共27页
VB教程---循环结构ppt课件_第4页
第4页 / 共27页
VB教程---循环结构ppt课件_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《VB教程---循环结构ppt课件》由会员分享,可在线阅读,更多相关《VB教程---循环结构ppt课件(27页珍藏版)》请在金锄头文库上搜索。

1、,循环结构,在Visual Basic程序的三种结构中,循环结构是一种重要结构。,循环的本质:不断地重复某种动作。,对计算机程序而言,循环必须具备两个重要因素:,1. 在一定的条件下,重复执行一组语句,2. 必然出现不满足条件的情况,使循环终止,思考题,编写程序实现计算:0+1+2+3+4+n的值,前后两项之差都为1,是一个等差数列,Sum=0 Sum=sum+1 Sum=sum+2 Sum=sum+3 Sum=sum+n,Sum=sum+i i=i+1,i是从1到n递增1的数列,重复执行n次,一、循环程序设计结构,VB中提供了两种类型的循环语句:一种是计数循环语句;另一种是条件循环语句。Vi

2、sual Basic 支持的循环结构有: For.Next结构 DoLoop 结构 WhileWend goto 重点掌握: DoLoop、 For.Next、 WhileWend等前三种循环,1、ForNext循环结构,循环体,Exit For,循环体,循环变量增加步长,循环变量获得初值,F,T,循环变量在终值内,For循环的执行过程,语法格式: For 循环变量 = 初值 To 终值 Step 步长 Exit For Next 循环变量,编程计算:S=1+2+3+100,Dim S%, i% S=0 For i=1 to 100 S=S+i Next i Print i,S,思考: 求10

3、0以内的奇数和、偶数和怎样改程序? 求10!怎样改程序?,注意执行过程! 循环结束后循环变量i的值为多少,说明, 格式中的参数说明: 循环的初值、终值和步长都是数值表达式,其值不一定是 整数,可以是实数。 增量参数可正可负。如果增量为正,则初值必须小于等于 终值,否则不能执行循环体内的语句;如果增量为负,则 初值必须大于等于终值。如果没有设置step,则增量默认 为1。 当初值等于终值时,不管步长是正数还是负数,都执行一次循环体。,循环次数由初值、终值和步长决定,计算公式为: 循环次数=INT(终值 初值)/步长+1), For语句和Next语句必须成对出现,不能单独使用。 Next是循环终端

4、语句,在Next后面的循环变量与For中的循 环变量必须相同。当循环是单层循环时,Next后面的循环变量 可以不写。, 如果要在循环变量到达终值前退出循环,可用Exit For语句来实现。该语句可以在For循环中出现多次,且位置不限。,如:前例中加入条件“当sum超过400时跳出循环”。 For i=1 to 500 step 100 S=S+I If s400 then Exit for Next i Print i,S,2、DoLoop循环结构,DoLoop循环用于事先不知道循环次数的循环结构。此种语句四种语法格式: . Do While Loop 语句 先判断条件值,如果为真,执行循环体

5、,否则退出 . Do Until Loop 语句 先判断条件值,如果为假,执行循环体,直到为真时退出 . Do Loop While 语句 先执行循环体,后判断条件值,为真继续循环,否则退出 . Do Loop Until 语句 先执行循环体,后判断条件值,为假继续,直到为真退出,. Do While Loop语句,Dim S%, i% S=0 For i=1 to 100 S=S+I If s400 then Exit for Next i Print S=,S,Dim S%, i% S=0 i=1 Do while s=400 S=S+i i=i+1 Loop Print S=,S,语法格

6、式: Do Until条件表达式 循环体 Exit Do 循环体 Loop,(2) Do Until Loop语句,语法格式: Do While 条件表达式 循环体 Exit Do 循环体 Loop,Dim S%, i% S=0 i=1 Do until s400 S=S+i i=i+1 Loop Print S=,S,说明: 条件表达式可以是一个逻辑表达式,也可以是一个关系表达式,其值应是逻辑型。 Do While/Until和Loop应成对出现。 循环体中要有控制循环的语句,以避免出现死循环。 由于该循环的特点是先判断条件,然后再决定是否要执行循环体里的语句。所以,这种循环可以一次也不执行

7、循环体。 Exit Do 表示当遇到该语句时,强制退出循环,执行Loop后的下一条语句,注意: 至少要执行循环体一次。 与Do While循环的区别: Do While循环先测试条件是否成立,只有成立才执行循环;而该循环先执行循环体,后测试条件是否成立。,(3)Do Loop While语句, . Do Loop Until语句,语法格式: Do 循环体 Exit Do 循环体 Loop Until条件表达式,语法格式: Do 循环体 Exit Do 循环体 Loop While条件表达式,例:输入有效位数,按下述公式计算圆周率的有效值。,m=val(text1.text) pai=2:p=0

8、 Do t=s:p=spr(2+p):pai=t*2/p Loop Until abs(t-s)0.1m,功能:当While的条件表达式的值是True时执行循环体内的 代码,直到While后的条件表达式的值为False。 说明:它与Do Loop语句的差别是: While Wend语句中不能使用Exit语句跳出循环。,语法格式: While 条件表达式 ) 等价于 do While(条件表达式) 循环体 循环体 Wend LOOP,3、WhileWend循环结构,几种循环语句比较,使循环结束,F,or,语句中无,需专门语句,必须用专门语句,必须使用专门语句,使用场合,循环次数容易,确定,条件件

9、易给出,条件件易给出,练习: 1、求100200之间不能被3整除的数。 2、判断一个数是否为质数。,解2: Value = Val(Text1.Text) Counter = 2 Do Until Value Mod Counter = 0 Or Counter = Value Counter = Counter + 1 Loop If Counter = Value Then Print 质数,解1: value=val(Text1.text) For counter = 2 To value - 1 If value Mod counter = 0 Then Exit For Next I

10、f counter = value Then Print 质数,4、验证哥德巴赫猜想:任意一个大于等于6的偶数都可以分解为两个质数之和。 基本思想:n为大于等于6的任一偶数,可分解为n1和n2两个数, 分别检查n1和n2是否为素数,如都是,则为一组解。 如n1不是素数,就不必再检查n2是否素数。先从n1=3开始, 检验n1和n2(n2=N-n1)是否素数。然后使n1+2 再检验n1、n2是否素数, 直到n1=n/2为止。,3、输入两个正整数,求它们的最大公约数。 输入两个自然数m, n r=m mod n 若r=0,则n为m的最大公约数 若r0,则m=n,n=r 重复执行第二步,m,n,m =

11、 Text1.Text n = Text2.Text Do t = m Mod n m = n: n = t Loop Until n = 0 Print m,二、循环的嵌套多重循环结构,1、如果在一个循环内完整地包含另一个循环 结构,则称为多重循环,或循环嵌套, 2、嵌套的层数可以根据需要而定,嵌套一层 称为二重循环,嵌套二层称为三重循环。 上面介绍的几种循环控制结构可以相互嵌套, 下面是几种常见的二重嵌套形式:,(1)For I=. . For J=. . Next J . Next I,(2)For I=. . Do While/Until . Loop . Next I,(3)Do W

12、hile. . For J=. . Next J . Loop,(4)Do While/Until. . Do While/Until . Loop . Loop,例题:在窗体上输出100以内质数。 Private Sub Command1_Click() Dim value As Integer Dim counter As Integer Dim num As Integer Me.Cls For value = 2 To 100 For counter = 2 To value - 1 If value Mod counter = 0 Then Exit For End If Next

13、If counter = value Then Print value; Tab; num = num + 1 If num Mod 3 = 0 Then Print End If Next Print Print 100以内的质数有 & num & 个 End Sub,例题:在文本框内输出水仙花数。 Private Sub command1_Click() Dim x%, y%, z%, n% For x = 0 To 9 For y = 0 To 9 For z = 1 To 9 If x 3 + y 3 + z 3 = x + y * 10 + z * 100 Then text1.te

14、xt=x 3 + y 3 + z 3 End If Next Next Next End sub,Private Sub command1_Click() List1.Clear Dim x%, y%, z%, n% For n = 100 To 999 x = n Mod 10 y = n 10 Mod 10 z = n 100 If x 3 + y 3 + z 3 = n Then text1.text=x 3 + y 3 + z 3 End If Next End sub,我国古代数学家章丘建在“算经”里提出一个 世界数学史上有名的百钱百鸡问题:鸡翁 一,值钱五,鸡母一,值钱三,鸡雏一,

15、值 钱一。百钱买百鸡,问鸡翁、母、雏各几 何?,找出1999之间所有的同构数 同构数:该数出现在它的平方数的右边,如:525,25625 输入一个整数,判断其是否是“完全数” 完全数:该数的因子之和等于其本身,如28=1+2+4+7+14,练习:,例题:打印九九乘法表 For i = 1 To 9 For j = 1 To 9 e = i Next j Print Next i,例题:打印九九乘法表 For i = 1 To 9 For j = 1 To i e = j Next j Print Next i,练习,实验教程:实验5,对于循环的嵌套,要注意以下事项: (1) 内循环变量与外循环变量不能同名; (2) 外循环必须完全包含内循环,不能交叉; 正 确错 误,6.5 跳转语句,格式: GoTo 行标签| 行号,GoTo语句可以改变程序执行的顺序,跳过程序的某

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号