VB循环结构化程序设计

上传人:熏** 文档编号:242879314 上传时间:2024-09-10 格式:PPT 页数:45 大小:1.62MB
返回 下载 相关 举报
VB循环结构化程序设计_第1页
第1页 / 共45页
VB循环结构化程序设计_第2页
第2页 / 共45页
VB循环结构化程序设计_第3页
第3页 / 共45页
点击查看更多>>
资源描述
*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,学习导读,在许多实际问题中,需要用到循环控制结构,根据条件执行多次循环语句。如,:,求若干个数之和。,语句,5.1,循环语句,5.2,多重循环,5.4,常用算法,第五章 循环结构化程序设计,5.3,其它辅助控制语句,循环结构,:,是指在一定条件下反复执行一段代码。被反复执行的程序段称为,循环体,。,基本类型, 计数型:,For,循环,条件型:,Do,循环,当型:,While,循环,概述,5.1,循环语句,循环过程:,s=0,i=1,s=0+1,i=2,真,s=1+2,i=3,真,真,i=4,s=3+3,假,s=6+4,i=,5,真,For,循环,(,计数型,),循环条件,i4,用于循环次数能确定的场合,循环变量,=,初值,循环变量,=,终值内,T,语句块,循环变量,+,步长,F,有Exit For,F,T,执行过程,【,格式,】,For,循环变量,初值,to,终值,Step,步长,语句块,Exit For,Next,循环变量,循环次数,int,(,终值,-,初值),/,步长,+1,),默认步长,:,+1,可省略,循环变量必须是数值类型,语句块可以是一句或多句,提前退出循环,例,:,For I=2 To 13 Step 3,Print I ,Next I,Print : Print “I=“, I,结果:,输出,I,的值分别为,:,2 5 8 11,循环执行次数:,循环结束输出为,:,I=14,(,初值,+,循环次数*步长,),思考:,若初值和终值颠倒,循环执行几次?,For,i=1,to,10,step,-2,?i,Next i,?i,For,i=10,to,1,step,-2,?i,Next i,clear,For,i=1,to,10,step,2,x=i,Next i,?x,?i,结果:,10 8 6 4 2,结果:,1,结果:,9,11,讨论,-,运行结果,程序分析,-,运行结果,改变循环控制规律,真,假,i=4,s=,s+i,;,i=i+1;,假,DO,循环,(,条件型,),循环初始部分,循环控制,循环体要能修改循环变量,避免死循环,用于循环次数不确定的场合,Do While,Loop,Do,While Loop,条件,语句块,语句块,T,F,语句块,语句块,条件,T,F,有Exit Do,F,T,有Exit Do,F,T,执行过程,Do Until,Loop,Do,Until Loop,条件,语句块,语句块,语句块,语句块,条件,F,T,有Exit Do,F,F,T,T,有Exit Do,F,T,Do While|Until ,语句块,Exit Do,语句块,Loop,【,格式,1】,【,格式,2】,Do,语句块,Exit Do,语句块,Loop While|Until ,先判断后执行,有可能一次循环都不执行,先执行后判断,至少执行了一次循环,条件为假,执行循环体,程序分析,本程序段的,功能是什么?,通过设置条件,强制提前结束循环,【,例,】,我国有,13.2,亿人口,设年增长率为,0.8%,的增长率,多少年后超过,26,亿。,m = 1320000000# : year = 0,Do While,m = 2000000000#,m = m + m * 0.005,year = year + 1,Loop,若将,While,改为,Until,,,条件表达式怎么修改?,讨论,-,运行结果,While,循环,(,当型,),用于循环次数不确定,但控制条件可知的场合,给循环变量赋值,条件为真吗?,T,语句块,F,While Wend,循环流程图,没有提前结束语句,用三种循环语句编写,1+2+3+,+100,。,例:,Private Sub Commandl_Click0,Dim s As Single, i AS Integer,i=1,While i=0,Do until.loop,先,判断,False,True,=0,Do.loop while,后,判断,True,False,=1,Do.loop until,后,判断,False,true,=1,For .next,先,判断,控制变量,=,终值,),(递增),控制变量,=,终值,),(递减),控制变量,=,终值,(递增),控制变量,=0,循环小结,5.2,多重循环,一个循环体内又包含了一个完整的循环结构称为循环的嵌套,也叫,多重循环,。,【,例,5.4】,分析下列程序段。,Private Sub Form_click(),Dim i%, j%,For i = 1 To 3,For j = 5 To 6,Picture1.Print i, j,Next j,Next i,End Sub,外循环走一次,内循环走一圈,循环次数,I*j=3*2=6,【,例,5.5】,打印下三角九九乘法表。,外循环:行,i=i+1,内循环:列,j=j+1,I*j,行:外循环,列:内循环,如何解决换行?,打印上三角程序如何改动,For I=1 to 9,For j=1 to i,课堂练习,三种循环,可以互相嵌套,(a),while,循环中的嵌套,(b),do_while,循环中的嵌套,(c),for,循环中的嵌套,:,内外循环变量不能同名字,:,内外循环不能交叉,类型,:GO TO,语句,:Exit,语句,:With,语句,概述,5.3,其他辅助控制语句,用于退出某种控制结构的执行,无条件形式,:,EXIT DO ,EXIT FOR,EXIT SUB,有条件形式,:,IF,条件,Then Exit DO,IF,条件,Then Exit FOR,EXIT,语句,用于退出某种控制结构的执行,【,例,5.7】,测试语句出口的执行情况。,Private Sub Form_click(),Dim i%, num%,Do,For i = 1 To 1000,num = Int(Rnd * 100),Print num;,Select Case num,Case 7: Exit For,Case 29: Exit Do,Case 54: Exit Sub,End Select,Next i,Print exit for,Loop,Print exit do,End Sub,With,语句,形式:,With,对象,语句块,End With,用于对某个对象执行一系列语句,而不用重复该对象名,例,:,用,With,语句设置标签,MyLabel,的多个属性,With MyLabel,.height=1000,属性前的“,.”,不能省略,.width=1500,.FontSize=20,.caption=“This is mylabel“,End With,形式:,Go To ,标号,|,行号,作用:,无条件转移到标号或行号指定的地方。,例,:,求,1+2+3+4+,+100,。,Dim S As Single,,,I As Integer,S=0,累加前变量,S,赋初值为,0,I=1,PP:,S=S+I,累加求和,I=I+1,If I=100 Then GoTO PP,Print 1+2+3+100=; S,GO TO,语句,建议不使用,求累计求和、乘积,求素数,求,公约数,穷举法,求最大值、最小值,5.4,常见算法,累加,/,连乘,例求1!+2!+3!+4!+5!,算法:累乘,算法:累加,m,:,阶乘,S:,和,为什么在内,外之间要,m=1,?,求素数,判断一个数是否为素数?,For I=2 to m-1,改,成,For i=2 to sqr(m),如何减少内循环次数?,求公约数,求任意两个整数的最大公约数,If m n Then,m = m - n,Else,n = n - m,End If,Loop,Print m,m=m-n mn,m n,14 6,8,6,2,6,2,4,2 2,n=n-m nm,m,、,n,为公约数,m=n,穷举法,也称“枚举法”,其基本算法思想是:将各种可能出现的情况一一进行测试,判断是否是符合要求的解,这是一种在没有其它办法的情况的方法,是一种最“笨“的方法,但对一些无法用解析法求解的问题中能奏效。,例:将一张面值为,100,元的人民币等值换成,100,张,5,元 、,1,元和,0.5,元的零钞,要求每种零钞,不少于,1,张,问有几种组合?,X+Y+Z=100,5*X+Y+0.5*Z=100,循环次,数减少,算法思想,:,一般先假设一个较小的数为最大值的初值,若无法估计较小的值,则取第一个数为最大值的初值,然后将每一个数与最大值比较,若该数大于最大值,则将该数替换为最大数,依次逐一比较。,求最大、最小值,程序代码:,Private Sub Command1_Click(),Dim x%, max%, min%, sum%, ave%,sum = 0: max = 50: min = 100,For i = 1 To 20,x = Int(Rnd * 100) + 50,Picture1.Print x;,If i Mod 5 = 0 Then Picture1.Print,sum = sum + x,If x max Then max = x,If x min Then min = x,Next i,ave = sum / 20,Picture1.Print,Picture1.Print max; min; ave,End Sub,算法思想,:,从初值出发,归纳出新值与旧值间直到最后值为止存在的关系,从而把一个复杂的计算过程转化为简单过程的多次重复,每次重复都从旧值的基础上递推出新值,并由新值代替旧值。,递推迭代,例:,假定一对大兔子每月能生一对小兔子,而小兔子过一个月就长大了可以开始生小兔子,问在一年内一对大兔子可以繁殖出多少对大兔子?,实验五,思考:,比较几种循环的异同,各有什么特点?在什么情况下用什么形式的循环?,内容:,实验,5,的实验内容、编程题及测试题,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!