vb循环结构资料

上传人:go****e 文档编号:137422651 上传时间:2020-07-08 格式:PPT 页数:39 大小:347.50KB
返回 下载 相关 举报
vb循环结构资料_第1页
第1页 / 共39页
vb循环结构资料_第2页
第2页 / 共39页
vb循环结构资料_第3页
第3页 / 共39页
vb循环结构资料_第4页
第4页 / 共39页
vb循环结构资料_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《vb循环结构资料》由会员分享,可在线阅读,更多相关《vb循环结构资料(39页珍藏版)》请在金锄头文库上搜索。

1、程序设计语言的三种基本结构流程图:,顺序结构,选择结构,循环结构,循环结构,用于在一定的条件下多次重复执行一组语句.,例如:在一行上输出60个“*”号。用Print方法 方法一:可以用60个“*”号组成一个字符串: Print “*” 方法二 :使用60个语句: Print *; Print *”; Print *,流程图,2. 条件型循环(未知循环次数),1. 计数型循环(已知循环次数),分类:,学习要点:,2. 实现循环的算法,1.进入循环的条件,3.退出循环的条件,一:For循环语句:计数型 (一般用于循环次数已知),形式如下:,For 循环变量初值 to 终值 Step 步长 语句块

2、Exit For 语句块 Next 循环变量,Exit for :当遇到该语句,退出循环,执行该循环的下一条语句。,步长 (也可为实数),循环次数int(终值-初值)/步长)+1,循环变量:必须是数值型,语句块:可以是一条或多条语句,【说明】,For 循环流程图,循环变量得到初值,循环变量在终值内,T,语句块,循环变量加步长,F,有Exit For,F,T,ForNext流程图,循环执行次数:,思考1:计算下列循环语句的次数。,(1) for I=-3 to 20 step 4 (2) for I=-3.5 to 5.5 step 0.5 (3) for I=-3.5 to 5.5 step

3、0.5 (4) for I=-3 to 20 step 0,结果分别为: 6 19 0 无数次,思考2:如果事先不知道循环次数,如何用For.Next?,For 循环变量=1 to 非常大的数 if 达到循环结束条件 then exit for . Netxt 循环变量,例4.9 改变循环控制变量对循环的影响 Private Sub Command1_Click() j = 0 For i = 1 To 20 Step 2 i = i + 3 “有无此句结果有什么不同? j = j + 1 Print 第; j; 次循环i=; i Next i Print 退出循环后i=; i End Sub

4、,正常情况:i=1,3,5,7,9,11,13,15,17,19 现在: i=4,9,14,19,:常用算法:累加,连乘,算法:是对某个问题求解过程的描述,例:累加求1-100的偶数和。,Private Sub Form_Load() Dim i As Integer, s As Integer Show s = 0 For i = 2 To 100 Step 2 s = s + I 赋值语句实现 Next i Print s=; s End Sub,例:连乘求自然数1-30的乘积(即30的阶乘),Private Sub Form_Click() s = 1 For i = 1 To 10 s

5、 = s * I 赋值语句实现 Print i; 的阶乘是:; s Next i End Sub,思考?若把循环体前面置各变量初值的语句放在循环体内,程序运行时会产生什么情况?,Private Sub Form_Click() For i = 3 To 100 step 3 sum=0 sum = sum+ I Next I Print sum End Sub,结论;在一重循环中,存放累加,连乘结果的变量初值设置应该放在循环体外。,二: DoLoop循环语句:条件型 (用于控制循环次数未知),形式1:先判断后循环,形式2:先做后判断,Do While|Until 语句块 Exit Do 语句块

6、 Loop,Do 语句块 Exit Do 语句块 Loop While|Until ,【说明】:,1)形式1先判断后执行,有可能一次也不执行 形式2先执行后判断,最少执行一次循环体,2)While用于指明条件为真时执行循环体; Until刚好相反。,3)当省略了While|Until子句,表示 无条件循环,循环体中应有Exit Do语句, 否则为死循环。,4)遇到Exit Do语句时退出循环,执行Loop下一 条语句。,Do While Loop 流程图,Do While Loop 流程图,条件,语句块,语句块,T,F,语句块,语句块,条件,T,F,有Exit Do,F,T,有Exit Do,

7、F,T,Do While|Until. Loop流程图,例4.11:我国有13.2亿人口,按出生率为0.5%的增长率,多少年后超过20亿?,Private Sub Form_Load() Dim m As Double Dim yearr As Integer Show m = 1320000000#: yearr = 0 Do While m = 2000000000# m = m + m * 0.005 yearr = yearr + 1 Loop Print yearr; 年后我国的人口为:; m End Sub,若将While改为Until,条件表达式怎么修改?,Do Until m

8、200000000000#,例:迭代法求a的立方根。X=a1/3 迭代公式:Xn+1= 1/3(2Xn+a/Xn2) 当 Xn+1- Xne (一个很小的数)则Xn+1为 a1/3的近似值。 迭代思想:是一个反复用新值取代旧值的过程。,Private sub command1_click() Const eps=1e-5 A=val(inputbox(“entera:”) V=a 以u代表Xn,v代表Xn+1, Do u=v V=(2*u+a/u2)/3 Loop while abs(v-u)eps Print v End sub,若将While改为Until,条件表达式怎么修改?,Do Un

9、til abs(v-u)=eps,例4.12演示:求两自然数m,n的最大公约数和最小公倍数。,方法一:用辗转相除法求最大公约数,分析:,(1)对于已知两数m,n,使得mn; (2) m除以n得余数r; (3)若r=0,则n为最大公约数结束; 否则执行(4); (4)mn,nr,再重复执行(2),常用算法:求最大公约数和最小公倍数,求 m=14 ,n=6 的最大公约数和最小公倍数。,z=m*n If m 0) m=n n=r r= m mod n Loop Print 最大公约数=, n Print “最小公倍数=, z/n,若r=0,则n为最大公约数结束,方法二:辗转相减法求最大公约数,z=m

10、*n Do While m n If m n Then m = m - n Else n = n - m End If Loop Print m Print z/m,m=m-n mn,n=n-m nm,m、n为公约数 m=n,若m=n,则m为最大公约数结束 若不相等,谁大替换谁。,例4.14:求自然对数e的近似值,要求其误差小于0.00001,近似公式为: e=1+1/1!+1/2!+1/3!+1/n!+ 该例题涉及两个问题: (1)用循环结构求级数和的问题。本例根据某项值的精度来控制循环的结束与否。 (2)累加:e=e+t ( 循环体外对累加和的变量清零 e=0) (3)连乘:n=n*i (

11、循环体外对连乘积变量置1 n=1),( 三)循环的嵌套,一个循环体内又包含了一个完整的循环结构称为循环的嵌套,也叫多重循环。,例4.13演示:打印九九乘法表。,For i = 1 To 9 For j = 1 To 9 se = i Next j Picture1.Print Next i,打印上三角或下三角程序如何改动,思考:,下列30-90为语句标号,分别标记该语句,第40句执行了几次循环?第50句执行了几次循环?第90句输出结果是多少?,For j=1 to 12 step 3 For k=6 to 2 step 2 mk=k Print j,k Next k 80 next j 90

12、print j,k,mk,3 12 13,0,2,For ii =1 To 10 For jj=1 To 20 Next ii Next jj,For ii =1 To 10 For ii=1 To 20 Next ii Next ii,For ii =1 To 10 For jj=1 To 20 Next jj Next ii,For ii =1 To 10 Next ii For ii =1 To 10 Next ii,【注意】 (1)内循环变量与外循环变量不能同名; (2)外循环必须完全包含内循环,不能交叉; (3)不能从循环体外转向循环体内,反之则可以。 正确错误,循环总结,四 常 见

13、 错 误 1. 不循环或死循环的问题 主要是循环条件、循环初值、循环终值、循环步长的设置有问题。 例如: For I=10 to 20 step 1 For I=20 to 10 Do while false For I=10 to 20 step 0 Do while 1 2. 循环结构中缺少配对的结束语句 For 少 配对的Next ,do 语句没有loop结束,3. 循环嵌套时,内外循环交叉,与IF块结构交叉 运行时显示“无效的Next控制变量引用” 例如: 例如 For I=1 to 4 for I=1 to 4 For j=1 to 5 if 表达式 then . . Next I

14、next i Next j endif 4. 累加、连乘时,存放累加、连乘结果的变量赋初值问题 (1)一重循环 在一重循环中,存放累加、连乘结果的变量初值设置应在循环语句前。,(2)多重循环 这要视具体问题分别对待。 5 大数相乘产生“溢出”问题 见实验P301-4.3,其他辅助控制语句,1.Go To语句(建议不使用) 形式:Go To 标号|行号 作用:无条件转移到标号或行号指定的地方。,:常用算法:求素数,素数:是一个大于2,且不能被1和本身以外的整数整除的整数。 方法: 判断某数m是否为素数,可从素数本身的定义求解。对于m从I=2,3.m-1判断m是否能被I整除,只要有一个能被整除,m

15、就不是素数。但这种算法速度很慢。,例4.15: 求100以内素数的代码: For m = 2 To 100 For i = 2 To m - 1 If (m Mod i) = 0 Then GoTo NotNextM Next i Print m NotNextM: Next m,m是否为素数,求100以内的素数,分析:实际上m如果是素数的话,是不可能被大于sqr(m)的整数所整除。所以循环条件改为:for I=2 to int(sqr(m).这样循环的次数会大大减少。,2.Exit语句 多种形式: Exit For、Exit Do、Exit Sub、Exit Function等。 作用:退出某种控制结构的执行。 3. End语句 多种形式: End、 End If、 End Select、 End With、 End Type、 End Sub、 End Function、 作用:End结束一个程序的运行;其余表示某个结构的结束,与对应的结构语句配对出现。,4.With 语句 形式如下: With 对象 语句块 End With 作用:对某个对象执行一系列的操作,而不用重复指出对象的名称。 With Label1 .Height = 2000 .Wid

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

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

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