欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《vb循环结构》PPT课件.ppt

    • 资源ID:5454260       资源大小:293.50KB        全文页数:39页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《vb循环结构》PPT课件.ppt

    程序设计语言的三种基本结构流程图:,顺序结构,选择结构,循环结构,循环结构,用于在一定的条件下多次重复执行一组语句.,例如:在一行上输出60个“*”号。用Print方法方法一:可以用60个“*”号组成一个字符串:Print“*”方法二:使用60个语句:Print*;Print*”;Print*,流程图,2.条件型循环(未知循环次数),1.计数型循环(已知循环次数),分类:,学习要点:,2.实现循环的算法,1.进入循环的条件,3.退出循环的条件,一:For循环语句:计数型(一般用于循环次数已知),形式如下:,For 循环变量初值 to 终值 Step 步长 语句块 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 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,正常情况: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 Shows=0For i=2 To 100 Step 2 s=s+I 赋值语句实现Next iPrint s=;sEnd Sub,例:连乘求自然数1-30的乘积(即30的阶乘),Private Sub Form_Click()s=1For i=1 To 10 s=s*I 赋值语句实现 Print i;的阶乘是:;sNext iEnd Sub,思考?若把循环体前面置各变量初值的语句放在循环体内,程序运行时会产生什么情况?,Private Sub Form_Click()For i=3 To 100 step 3 sum=0 sum=sum+I Next IPrint sumEnd Sub,结论;在一重循环中,存放累加,连乘结果的变量初值设置应该放在循环体外。,二:DoLoop循环语句:条件型(用于控制循环次数未知),形式1:先判断后循环,形式2:先做后判断,Do While|Until 语句块 Exit Do 语句块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,F,T,Do While|Until.Loop流程图,例4.11:我国有13.2亿人口,按出生率为0.5%的增长率,多少年后超过20亿?,Private Sub Form_Load()Dim m As DoubleDim yearr As IntegerShowm=1320000000#:yearr=0Do While m=2000000000#m=m+m*0.005 yearr=yearr+1LoopPrint yearr;年后我国的人口为:;mEnd Sub,若将While改为Until,条件表达式怎么修改?,Do Until m 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-5A=val(inputbox(“entera:”)V=a 以u代表Xn,v代表Xn+1,Do u=vV=(2*u+a/u2)/3Loop while abs(v-u)epsPrint vEnd sub,若将While改为Until,条件表达式怎么修改?,Do Until 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*nIf m 0)m=n n=r r=m mod n Loop Print 最大公约数=,n Print“最小公倍数=,z/n,若r=0,则n为最大公约数结束,方法二:辗转相减法求最大公约数,z=m*nDo While m n If m n Then m=m-n Else n=n-m End If LoopPrint mPrint 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(循环体外对连乘积变量置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 k80 next j90 print j,k,mk,31213,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)不能从循环体外转向循环体内,反之则可以。正确错误,循环总结,四 常 见 错 误1.不循环或死循环的问题 主要是循环条件、循环初值、循环终值、循环步长的设置有问题。例如:For I=10 to 20 step 1For I=20 to 10Do while falseFor I=10 to 20 step 0Do while 12.循环结构中缺少配对的结束语句 For 少 配对的Next,do 语句没有loop结束,3.循环嵌套时,内外循环交叉,与IF块结构交叉运行时显示“无效的Next控制变量引用”例如:例如For I=1 to 4 for I=1 to 4For j=1 to 5 if 表达式 then.Next I next iNext j endif4.累加、连乘时,存放累加、连乘结果的变量赋初值问题(1)一重循环 在一重循环中,存放累加、连乘结果的变量初值设置应在循环语句前。,(2)多重循环 这要视具体问题分别对待。5 大数相乘产生“溢出”问题 见实验P301-4.3,其他辅助控制语句,1.Go To语句(建议不使用)形式:Go To 标号|行号作用:无条件转移到标号或行号指定的地方。,:常用算法:求素数,素数:是一个大于2,且不能被1和本身以外的整数整除的整数。方法:判断某数m是否为素数,可从素数本身的定义求解。对于m从I=2,3.m-1判断m是否能被I整除,只要有一个能被整除,m就不是素数。但这种算法速度很慢。,例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 mNotNextM: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.Width=2000.FontSize=22.Caption=MyLabel End With,Label1.Height=2000 Label1.Width=2000 Label1.FontSize=22 Label1.Caption=MyLabel,等价,:常用算法:穷举法,“穷举法”:也称为“枚举法”或“试凑法”,即将可能出现的各种情况一一测试,判断是否满足条件,一般采用循环来实现。,例4.16:百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。,【分析】设母鸡、公鸡、小鸡各为x、y、z只,根据题目要求,列出方程为:x+y+y=100 3x+2y+0.5z=100三个未知数,两个方程,此题有若干个解。解决此类问题采用“试凑法”,把每一种情况都考虑到。方法一:最简单三个未知数利用三重循环来实现 方法二:从三个未知数的关系,利用两重循环来实现。,:常用算法:递推法,“递推法”又称为“迭代法”:其基本思想是把一个复杂的计算过程转化为简单过程的多次重复。每次重复都从旧值的基础上递推出新值,并由新值代替旧值。,例4.17:猴子吃桃子。小猴在某天摘桃若干个,当天吃掉一半多一个;第二天吃了剩下的桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天要吃时只剩下一个,问小猴共摘下了多少个桃子?,【分析】:这是一个“递推”问题,先从最后一天推出倒数第二天的桃子,再从倒数第二天的桃子推出倒数第三天的桃子。设第n天的桃子为xn,那么它是前一天的桃子数的xn-1 的一半减1,即 xn=xn-1/2 1或者:xn-1=(xn+1)*2,Private Sub Form_Click()Dim n%,i%x=1 第7天的桃子 Print 第 7 天的桃子数为:1只 For i=6 To 1 Step-1 x=(x+1)*2 Print 第;i;天的桃子数为:;x;只 Next I:End Sub,:常用算法:求最大或最小值,方法:在若干个数中求最大值,一般先假设一个较小的数为最大值的初值,若无法估计较小的值,则取第一个数为最大值的初值;然后将每一个数与最大值比较,若该数大于最大值,将该数替换为最大值;依次逐一比较。,例:随机产生10个100200之间的数,求最大值。Private Sub Command1_Click()Max=100 For i=1 To 10 x=Int(Rnd*101+100)Print x;If x Max Then Max=x Next i Print Print 最大值=;MaxEnd Sub,

    注意事项

    本文(《vb循环结构》PPT课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开