书签 分享 收藏 举报 版权申诉 / 49
上传文档赚钱

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

  • 上传人(卖家):晟晟文业
  • 文档编号:4142570
  • 上传时间:2022-11-14
  • 格式:PPT
  • 页数:49
  • 大小:380.84KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《vb控制结构循环结构程序设计课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

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

    特殊限制:

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

    关 键  词:
    vb 控制 结构 循环 程序设计 课件
    资源描述:

    1、第第6章章 VB控制结构(控制结构(2)循环结构程序设计循环结构程序设计 本章内容及要求:本章内容及要求:(1)掌握)掌握For.Next语句及语句及Exit For语句的使用;语句的使用;(2)掌握)掌握Do.Loop循环语句与循环语句与Exit Do语句的使用;语句的使用;(3)掌握循环结构的嵌套应用;)掌握循环结构的嵌套应用;(4)掌握循环结构和选择结构的嵌套应用。)掌握循环结构和选择结构的嵌套应用。6.1 概述概述在在Visual Basic程序设计中,程序设计中,实现循环结构的语句主要有实现循环结构的语句主要有下列下列几几种:种:l l ForNext语句语句l DoLoop语句语句

    2、 l l WhileWend语句语句 Do While Loop形式形式Do Loop While 形式形式Do Until Loop形式形式Do Loop Until 形式形式Do Loop形式形式打印九九乘法表打印九九乘法表 Dim Sgs As String Dim i,j As Integer For i=1 To 9 被乘数从被乘数从1变到变到9 For j=i To 9 乘数从乘数从1变到变到9 Sgs=i&j&=&Str(i*j)打印公式如打印公式如11=1 Picture1.Print Tab(j-1)*9+1);Sgs;Next j Picture1.Print Next I

    3、 For循环语句循环语句(一般用于循环次数已知一般用于循环次数已知)形式:形式:For 循环变量初值循环变量初值 to 终值终值 Step 步长步长 语句块语句块Exit For 语句块语句块Next 循环变量循环变量 循环变量在终值内 图1-3-13 For循环语句 语句块 Exit For 语句块 循环变量加步长 T F 循环变量得初值 循环体=0 循环变量循环变量=终值终值=终值终值=1 可省略可省略 步长步长6.2 For.Next循环结构循环结构循环次数循环次数)1(步长初值终值Int例例:For I=2 To 13 Step 3 Print I,Next I Print“I=“,I

    4、 循环执行次数循环执行次数 4输出输出I的值分别为的值分别为:2 5 8 11 出了循环输出为出了循环输出为:I=146.2 For.Next循环结构循环结构6.2 For.Next循环结构循环结构注意跳出注意跳出FOR循环时的循环变量的值循环时的循环变量的值For i=1 to 10 step 1 s=s+iNext iPrint iFor i=-1 to-10 step-1 s=s+iNext iPrint i6.2 For.Next循环结构循环结构注意对于注意对于ForNext语句来说,一旦进入循环,其语句来说,一旦进入循环,其“终止值终止值”和和“增量增量”便不会再改变了。便不会再改变

    5、了。Private Sub Form_Click()Dim i As Integer,j As Integer,k As Integer j=10:k=1 For i=1 To j Step k Print i j=j-1 k=k+1 Next Print j,kEnd Sub练习:分析下面程序段结束时窗体上显示的值是多少?练习:分析下面程序段结束时窗体上显示的值是多少?(2)i2=0For i=1 To-2 Step-1i2=i2+1NextPrint i,i2(-3 4)(1)For i=1 To 10 i2=i2+1NextPrint i(11)(3)i2=0For i=1 To 5 S

    6、tep 2i2=i2+1NextPrint i(7)(4)i2=1For i=1 To 10i=i+1i2=i2+1NextPrint i,i2(11 6)(5)i2=1i3=10i=10For i=1 To i3i=i+1i2=i2+1i3=i3+1NextPrint i,i2(11 6)(6)i2=0For i=1 To 10 i2=i2+1 If i 6 Then Exit ForNextPrint i,i2(7 7)(7)i2=0i=10Do i2=i2+1Loop While i=i2Print i2(1)例例6.7 编程计算:编程计算:S=1+2+3+100Dim S%,I%S=0

    7、 累加前变量累加前变量S为为0For I=1 to 100 S=S+INext IPrint S=,S 当I=100I=I+1打印SS=0,I=1S=S+I例例6.7的算法流程图的算法流程图6.2 For.Next循环结构循环结构前测型前测型:Do While 语句块语句块 Exit Do 语句块语句块 Loop 条 件 F T F T E x it D o 语 句 块 语 句 块 E x it D o 语 句 块 语 句 块 表 达 式 列 表 1 图 1-3-1 6 D o L o o p W h ile D o W h ile L o o p执 行 过 程 DoLoop循环语句使用形式循

    8、环语句使用形式 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 WhileLoo

    9、p循环语句计算循环语句计算1+2+3+100的值的值后测型后测型:Do 语句块语句块 Exit Do 语句块语句块 Loop While 表 达 式 列 表 1 F T F T E x it D o 语 句 块 语 句 块 E x it D o 语 句 块 语 句 块 条 件 D o L o o p W h ile的 执 行 过 程 图 1-3-1 5 D o W h ile L o o p 6.3 Do.Loop循环结构循环结构6.3 Do.Loop循环结构循环结构例例:使用使用Do Loop While循环语句计算循环语句计算1+2+3+n的值的值,n的的值由文本框输入。值由文本框输入。P

    10、rivate 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 条 件 T T F FE x

    11、it D o 语 句 块 语 句 块 E x it D o 语 句 块 语 句 块 表 达 式 列 表 1 图 1-3-1 6 D o L o o p W h ile D o U n til L o o p执 行 过 程 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 得

    12、到输入的值得到输入的值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 表 达 式 列 表 1 F F T T E x it D o 语 句 块 语 句 块 E x it D o 语 句 块 语 句 块 条 件 D o L o o p U n til的

    13、 执 行 过 程 图 1-3-1 5 D o W h ile L o o p 6.3 Do.Loop循环结构循环结构例例:使用级数求使用级数求的值。的值。根据下式,计算圆周率根据下式,计算圆周率的近似值,当计算到绝对值小于的近似值,当计算到绝对值小于0.0001的通项时,认为满足精度要求,停止计算。的通项时,认为满足精度要求,停止计算。/4=1-1/3+1/5-1/7+(-1)n+11/2n-1+6.3 Do.Loop循环结构循环结构Private Sub cmdPi_Click()Dim a As Single 变量变量a保存通项之和保存通项之和 Dim m As Single 变量变量m保

    14、存通项的绝对值保存通项的绝对值 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 输出计算结果输出计算

    15、结果End Sub6.3 Do.Loop循环结构循环结构6.3 Do.Loop循环结构循环结构Do 语句块语句块 Exit Do 语句块语句块LoopPrivate 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 1)当使用)当使用WhileWhile 构成循环时,当条件为构成循环时,当条件为“真真”,则反

    16、复执行循环体,当条件为则反复执行循环体,当条件为“假假”,则退出循环。,则退出循环。(2)当使用)当使用Until 构成循环时,当条件为构成循环时,当条件为“假假”,则反复执行循环体,直到条件成立,即为则反复执行循环体,直到条件成立,即为“真真”时,则退出循时,则退出循环。环。(3 3)在循环体内一般应有一个专门用来改变条件表达式中)在循环体内一般应有一个专门用来改变条件表达式中变量的语句,以使随着循环的执行,条件趋于不成立(或成变量的语句,以使随着循环的执行,条件趋于不成立(或成立),最后达到退出循环。立),最后达到退出循环。(4)语句)语句Exit Do的作用是退出它所在的循环结构,它只能

    17、的作用是退出它所在的循环结构,它只能用在用在DO/Loop结构中,并且常常是同选择结构一起出现在循环结构中,并且常常是同选择结构一起出现在循环结构中,用来实现当满足某一条件时提前退出循环。结构中,用来实现当满足某一条件时提前退出循环。6.3 Do.Loop循环结构循环结构 思考思考:将一个十进制数转换成二进制。将一个十进制数转换成二进制。算法流程图算法流程图6.3 Do.Loop循环结构循环结构 用用Do.LoopDo.Loop循环的五种形式分别完成循环的五种形式分别完成 将一个十进制数转换成二进制。将一个十进制数转换成二进制。算法流程图算法流程图6.3 Do.Loop循环结构循环结构分析分析

    18、:将一个十进制数转换成二进制采用连除将一个十进制数转换成二进制采用连除2 2取余数的方法,即将十进制数除以取余数的方法,即将十进制数除以2取余数,直取余数,直到商为到商为0,然后所得的余数即为二进制数各位的,然后所得的余数即为二进制数各位的数码,从右到左排列,第一次除数码,从右到左排列,第一次除2的余数在最右的余数在最右边。算法设计如下:用变量边。算法设计如下:用变量Dec表示十进制数,表示十进制数,BinBin表示转换所得的二进制数字符串。表示转换所得的二进制数字符串。(1)输入十进制输入十进制Dec(2)Dec除以除以2 2得余数得余数R Res,商又赋值给商又赋值给Dec;让;让Bin=

    19、Res&BinBin=Res&Bin(3)若若DecDec=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

    20、=Res&Bin Dec=Dec 2 Loop Until Dec=0 Print 转换为二进制数为:转换为二进制数为:;BinEnd SubEnd Sub 6.3 Do.Loop循环结构循环结构6.4.1 WhileWend语句语句 使用格式如下:使用格式如下:While Wend 说明:说明:该语句的功能与该语句的功能与Do While.Loop实现的实现的循环完全相同。循环完全相同。6.4 WhileWend语句语句 6.5.1 循环的嵌套循环的嵌套多重循环结构多重循环结构 如果在一个循环内完整地包含另一个循环结构,则称如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套

    21、,嵌套的层数可以根据需要而定,为多重循环,或循环嵌套,嵌套的层数可以根据需要而定,嵌套一层称为二重循环,嵌套二层称为三重循环。嵌套一层称为二重循环,嵌套二层称为三重循环。上面介绍的几种循环控制结构可以相互嵌套,下面是上面介绍的几种循环控制结构可以相互嵌套,下面是几种常见的二重嵌套形式:几种常见的二重嵌套形式: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.L

    22、oop .Loop6.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

    23、 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 NextEnd 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 Nex

    24、t y Print a;Next xEnd 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 i6.5 嵌套结构嵌套结构6.5 嵌套结构嵌套结构例例:编一程序,显示出所有的水仙花数。所谓

    25、水仙花数,编一程序,显示出所有的水仙花数。所谓水仙花数,是指一个三位数,其各位数字立方和等于该数字本身。例是指一个三位数,其各位数字立方和等于该数字本身。例如,如,153153是水仙花数,因为:是水仙花数,因为:3333511536.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=

    26、i*100+j*10+k If i 3+j 3+k 3=n Then Print n Next k Next j Next iEnd 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

    27、 Print n Next nEnd Sub6.5.2 循环结构与选择结构的嵌套循环结构与选择结构的嵌套 在循环结构中可以完整嵌套选择结构在循环结构中可以完整嵌套选择结构,即整个选择结构即整个选择结构都属于循环体。在选择结构中嵌套循环结构时,则要求整都属于循环体。在选择结构中嵌套循环结构时,则要求整个循环结构必须完整地嵌套在一个分支内,一个循环结构个循环结构必须完整地嵌套在一个分支内,一个循环结构不允许出现在两个或两个以上的分支内。不允许出现在两个或两个以上的分支内。6.5 嵌套结构嵌套结构(1)For I=IF Then End IF Next I(6)IF Then For I=End I

    28、F 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 I6.5 嵌套结构嵌套结构6.6强制退出循环强制退出循环6.6.1用Exit for语句强制退出For循环 Exit For 语句可以使程序从For循环中退出来,转到Next语句后面的程序继续执行,而不必等到循环变量到达终值时才退出来。注意:在循环体外面,不可以使用Exit

    29、 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 ExplicitPrivate Sub Form_Click()Dim x as IntegerDim y as IntegerFor x=1 to 30 Y=100-x If 9*x+y=300 the

    30、n Exit forNext xPrint“母鸡有”;x;”只”,”小鸡有”;y;”只”End Sub6.6强制退出循环强制退出循环6.6.2用Exit Do语句强制退出Do循环Exit Do语句可以使程序从Do循环中退出来,转到Loop语句后面的程序继续执行,而不必等到循环达到结束条件时才退出来。注意:在循环体外面,不可以使用Exit Do 语句,而且Exit Do通常与IF语句一起使用。例:用Do While循环改写上例程序,体会Exit Do语句的作用6.6强制退出循环强制退出循环程序代码:Option ExplicitPrivate Sub Form_Click()Dim x as I

    31、ntegerDim y as IntegerX=1Do while xK Then Print N;是素数是素数Else Print N;不是素数不是素数End If 算法流程图算法流程图程序代码:程序代码:6.7 应用举例应用举例6.7 应用举例应用举例例例:将一角钱换成零钱(可以包括含将一角钱换成零钱(可以包括含1分、分、2分、分、5分中分中的任意多个面值),共有多少种换法?的任意多个面值),共有多少种换法?组成一角的零钱中,最多有组成一角的零钱中,最多有10个个1分、分、5个个2分、分、2个个5分。分。判断所有的组合中,总和正好是一角(判断所有的组合中,总和正好是一角(10分)的情况有多

    32、少次分)的情况有多少次即为所求。这类方法称为即为所求。这类方法称为“穷举法穷举法”,也称为,也称为“列举法列举法”。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几种循环语句比较几种循环语句比较 本章小结本章小结

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:vb控制结构循环结构程序设计课件.ppt
    链接地址:https://www.163wenku.com/p-4142570.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库