分享
分销 收藏 举报 申诉 / 49
播放页_导航下方通栏广告

类型vb控制结构-循环结构程序设计ppt课件.ppt

  • 上传人:二***
  • 文档编号:12606118
  • 上传时间:2025-11-10
  • 格式:PPT
  • 页数:49
  • 大小:442.50KB
  • 下载积分:5 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    vb 控制 结构 循环 程序设计 ppt 课件
    资源描述:
    ,第6章 VB控制结构(2),循环结构程序设计,本章内容及要求:,(,1,)掌握,For.Next,语句及,Exit For,语句的使用;,(,2,)掌握,Do.Loop,循环语句与,Exit Do,语句的使用;,(,3,)掌握循环结构的嵌套应用;,(,4,)掌握循环结构和选择结构的嵌套应用。,6.1 概述,在,Visual Basic,程序设计中,实现循环结构的语句主要有下列,几,种:,l,ForNext,语句,DoLoop,语句,l,WhileWend,语句,Do While Loop形式,Do Loop While 形式,Do Until Loop形式,Do Loop Until 形式,Do Loop形式,打印九九乘法表,DimSgsAsString,Dimi,jAsInteger,Fori=1To9被乘数从1变到9,Forj=iTo9 乘数从1变到9,Sgs=i&j&=&Str(i*j)打印公式如11=1,Picture1.PrintTab(j-1)*9+1);Sgs;,Nextj,Picture1.Print,NextI,For循环语句(一般用于循环次数已知),形式:,For 循环变量初值 to 终值 Step 步长,语句块,Exit For,语句块,Next 循环变量,循环体,=0 循环变量 6 Then Exit For,Next,Print i,i2,(7 7),(7),i2=0,i=10,Do,i2=i2+1,Loop While i=i2,Print i2,(1),例6.7 编程计算:S=1+2+3+100,Dim S%,I%,S=0 累加前变量S为0,For I=1 to 100,S=S+I,Next I,Print S=,S,当I=100,I=I+1,打印S,S=0,I=1,S=S+I,例6.7的算法流程图,6.2 For.Next循环结构,前测型:,Do While ,语句块,Exit Do,语句块,Loop,DoLoop循环语句使用形式,6.3 Do.Loop循环结构,6.2 Do.Loop循环结构,Private Sub Form_Click(),Dim i As Integer:Dim a As Integer 定义所需变量,i=0:a=0 给变量赋初值0,这两条语句可省略,Do While i 100,i=i+1 每次循环,变量i都增加1,a=a+i 每次循环,变量a都加变量i的值,Loop,Print a 计算完毕,变量a的值即为所求,End Sub,例:使用Do WhileLoop循环语句计算1+2+3+100的值,后测型:,Do,语句块,Exit Do,语句块,Loop While ,6.3 Do.Loop循环结构,6.3 Do.Loop循环结构,例:使用Do Loop While循环语句计算1+2+3+n的值,n的值由文本框输入。,Private Sub Command1_Click(),Dim i As Integer,n As Integer,a As Integer 定义所需变量,n=Text1.Text 得到输入的值,Do,i=i+1 每次循环,变量i都增加1,a=a+i 每次循环,变量a都加变量i的值,Loop While i n,Text2.Text=a 显示计算结果,变量a的值即为所求,End Sub,前测型:,Do Until,语句块,Exit Do,语句块,Loop,DoLoop循环语句使用形式,6.3 Do.Loop循环结构,6.3 Do.Loop循环结构,例:计算阶乘 n!的值(n的值由文本框输入)。,Private Sub Command1_Click(),Dim i As Integer,n As Integer,Dim a As Long,n=Text1.Text 得到输入的值n,a=1 必须为变量a赋初值1,Do Until i=n,i=i+1 每次循环,变量i都增加1,a=a*i 每次循环,变量a都乘以变量i的值,Loop,Text2.Text=a 计算完毕,变量a的值即为所求,End Sub,后测型:,Do,语句块,Exit Do,语句块,Loop Until ,6.3 Do.Loop循环结构,例:使用级数求的值。,根据下式,计算圆周率的近似值,当计算到绝对值小于0.0001的通项时,认为满足精度要求,停止计算。,/4=1-1/3+1/5-1/7+(-1),n+1,1/2n-1+,6.3 Do.Loop循环结构,Private Sub cmdPi_Click(),Dim a As Single 变量a保存通项之和,Dim m As Single 变量m保存通项的绝对值,Dim s As Integer 变量s产生通项的符号,Dim i As Integer 变量i产生通项的分母,s=1 第一项符号为正,i=1 第一项为1,Do 开始循环,m=1/i 计算通项的绝对值,a=a+s*m 总和加上一个通项,i=i+2 产生下一个通项分母,s=-s 轮流转换通项的正负号,Loop Until m 0.0001 测试是否满足精度要求,Text1.Text=a*4 输出计算结果,End Sub,6.3 Do.Loop循环结构,6.3 Do.Loop循环结构,Do,语句块,Exit Do,语句块,Loop,Private Sub Command1_Click(),Dim i As Integer,n As Integer,Dim a As Long,n=val(Text1.Text),a=1,Do,i=i+1,a=a*i,If i=n Then Exit Do,Loop,Text2.Text=a,End Sub,例6.5:计算n!,本节小结:,(,1,)当使用,While,构成循环时,当条件为“真”,则反复执行循环体,当条件为“假”,则退出循环。,(2)当使用Until 构成循环时,当条件为“假”,则反复执行循环体,直到条件成立,即为“真”时,则退出循环。,(,3,)在循环体内一般应有一个专门用来改变条件表达式中变量的语句,以使随着循环的执行,条件趋于不成立(或成立),最后达到退出循环。,(4)语句Exit Do的作用是退出它所在的循环结构,它只能用在DO/Loop结构中,并且常常是同选择结构一起出现在循环结构中,用来实现当满足某一条件时提前退出循环。,6.3 Do.Loop循环结构,思考:将一个十进制数转换成二进制。,算法流程图,6.3 Do.Loop循环结构,用Do.Loop循环的五种形式分别完成,将一个十进制数转换成二进制。,算法流程图,6.3 Do.Loop循环结构,分析:将一个十进制数转换成二进制采用连除2取余数的方法,即将十进制数除以,2,取余数,直到商为,0,,然后所得的余数即为二进制数各位的数码,从右到左排列,第一次除,2,的余数在最右边。算法设计如下:用变量,Dec,表示十进制数,Bin表示转换所得的二进制数字符串。,(,1,),输入十进制,Dec,(,2,),Dec,除以2得余数R,es,商又赋值给,Dec,;让Bin=Res&Bin,(,3,),若Dec,=,0,,则算法结束;否则执行(,2,),将一个十进制数转换成二进制的程序如下:,Private Sub Form_Click(),Dim Dec As Integer 表示十进制数,Dim Bin As String 转换为二进制表示,Dim Res As Integer,Dec=Val(InputBox(输入一个十进制数Dec=?),Print 十进制数:;Dec,Do,Res=Dec Mod 2 求出除以2的余数,Bin=Res&Bin,Dec=Dec 2,Loop Until Dec=0,Print 转换为二进制数为:;Bin,End Sub,6.3 Do.Loop循环结构,6.4.1 WhileWend语句,使用格式如下:,While,Wend,说明:,该语句的功能与Do While.Loop实现的循环完全相同。,6.4 WhileWend语句,6.5.1 循环的嵌套多重循环结构,如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套,嵌套的层数可以根据需要而定,嵌套一层称为二重循环,嵌套二层称为三重循环。,上面介绍的几种循环控制结构可以相互嵌套,下面是几种常见的二重嵌套形式:,6.5 嵌套结构,(1)For I=.,.,For J=.,.,Next J,.,Next I,(2)For I=.,.,Do While/Until.,.,Loop,.,Next I,(3)Do While.,.,For J=.,.,Next J,.,Loop,(4)Do While/Until.,.,Do While/Until.,.,Loop,.,Loop,6.5 嵌套结构,For i=1 To 10,For j=1 To 20,Next j,Next i,For i=1 To 10,Next i,For i=1 To 10,Next i,对于循环的嵌套,要注意以下事项:,(1)内循环变量与外循环变量不能同名;,(2)外循环必须完全包含内循环,不能交叉;,下面是正确的嵌套,6.5 嵌套结构,For i=1 To 10,For j=1 To 20,Next i,Next j,For i=1 To 10 For i=1 To 20,Next i,Next i,下面是不正确的嵌套,6.5 嵌套结构,Private Sub Form_Click(),Dim i As Integer,j As Integer,For i=1 To 3,Print i=;i,For j=1 To 3,Print Tab;j=;j,Next,Next,End Sub,循环嵌套的执行流程:,6.5 嵌套结构,6.5 嵌套结构,Private SubCommand1_Click(),Dim x%,a%,y%,For x=1 to 2,a=0,For y=1 to x+1,a=a+1,Next y,Print a;,Next x,End Sub,程序运行后,单击命令按钮,在窗体上显示的值是,(,2 3,),6.5 嵌套结构,Exit,Do和Exit For语句在循环嵌套时的作用,6.5 嵌套结构,例:打印九九乘法表.,For i=1 To 9,For j=1 To 9,se=i&j&=&i*j,Picture1.Print Tab(j-1)*9+1);se;,Next j,Picture1.Print,Next i,6.5 嵌套结构,6.5 嵌套结构,例:,编一程序,显示出所有的水仙花数。所谓水仙花数,是指一个三位数,其各位数字立方和等于该数字本身。例如,153是水仙花数,因为:,6.5 嵌套结构,Private Sub Form_Click(),Dim i As Integer,j As Integer,k As Integer,Dim n As Integer,For i=1 To 9 i表示百位上的数,For j=0 To 9 j表示十位上的数,For k=0 To 9 k表示个位上的数,n=i*100+j*10+k,If i 3+j 3+k 3=n Then Print n,Next k,Next j,Next i,End Sub,解法一:,6.5 嵌套结构,解法二:,Private Sub Form_Click(),Dim i As Integer,j As Integer,k As Integer,Dim n As Integer,For n=100 To 999,i=n 100 得到百位上的数字,j=n 10-i*10 得到十位上的数字,k=n Mod 10 得到个位上的数字,If i 3+j 3+k 3=n Then Print n,Next n,End Sub,6.5.2 循环结构与选择结构的嵌套,在循环结构中可以完整嵌套选择结构,即整个选择结构都属于循环体。在选择结构中嵌套循环结构时,则要求整个循环结构必须完整地嵌套在一个分支内,一个循环结构不允许出现在两个或两个以上的分支内。,6.5 嵌套结构,(1)For I=,IF Then,End IF,Next I,(6)IF Then,For I=,End IF,Next I,(5)Select Case,For I=,Case ,Case,Next I,End Select,(3)For I=,IF Then,Next I,End IF,(2)IF Then,For I=,Next I,End IF,(4)For I=,Select Case,Case ,Case,End Select,Next I,6.5 嵌套结构,6.6强制退出循环,6.6.1用Exit for语句强制退出For循环,Exit For 语句可以使程序从For循环中退出来,转到Next语句后面的程序继续执行,而不必等到循环变量到达终值时才退出来。,注意:在循环体外面,不可以使用Exit For 语句,而且Exit For通常与IF语句一起使用。,例:用300元买100只鸡,母鸡9元1只,小鸡1元1只,问母鸡、小鸡各应买多少只?,分析:设买母鸡x只,则x的变化范围为130只,因为买的母鸡只数不可能超过30只,超过30只就不可能买到100只鸡。设小鸡为y只,则y=100-x。下面要做的工作就是求x为何值时,9x+y=300成立。,6.6强制退出循环,程序代码:,Option Explicit,Private Sub Form_Click(),Dim x as Integer,Dim y as Integer,For x=1 to 30,Y=100-x,If 9*x+y=300 then,Exit for,Next x,Print“母鸡有”;x;”只”,”小鸡有”;y;”只”,End Sub,6.6强制退出循环,6.6.2用Exit Do语句强制退出Do循环,Exit Do语句可以使程序从Do循环中退出来,转到Loop语句后面的程序继续执行,而不必等到循环达到结束条件时才退出来。,注意:在循环体外面,不可以使用Exit Do 语句,而且Exit Do通常与IF语句一起使用。,例:用Do While循环改写上例程序,体会Exit Do语句的作用,6.6强制退出循环,程序代码:,Option Explicit,Private Sub Form_Click(),Dim x as Integer,Dim y as Integer,X=1,Do while xK Then,Print N;是素数,Else,Print N;不是素数,End If,算法流程图,程序代码:,6.7 应用举例,6.7 应用举例,例:将一角钱换成零钱(可以包括含1分、2分、5分中的任意多个面值),共有多少种换法?,组成一角的零钱中,最多有10个1分、5个2分、2个5分。判断所有的组合中,总和正好是一角(10分)的情况有多少次即为所求。这类方法称为“,穷举法,”,也称为“列举法”。,6.7 应用举例,6.7 应用举例,Private Sub Command1_Click(),Dim i As Integer,j As Integer,k As Integer,Dim n As Integer,Print 1分个数,2分个数,5分个数,For i=0 To 10,For j=0 To 5,For k=0 To 2,If i+j*2+k*5=10 Then,n=n+1,Print i,j,k,End If,Next,Next,Next,Print 共有&n&种方法,End Sub,几种循环语句比较,本章小结,
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:vb控制结构-循环结构程序设计ppt课件.ppt
    链接地址:https://www.zixin.com.cn/doc/12606118.html
    页脚通栏广告

    Copyright ©2010-2025   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork