vb循环结构.ppt
- 文档编号:2638785
- 上传时间:2022-11-04
- 格式:PPT
- 页数:39
- 大小:1.14MB
vb循环结构.ppt
《vb循环结构.ppt》由会员分享,可在线阅读,更多相关《vb循环结构.ppt(39页珍藏版)》请在冰豆网上搜索。
程序设计语言的三种基本结构流程图程序设计语言的三种基本结构流程图:
语句块语句块1语句块语句块2顺序结构顺序结构条件条件语句块语句块1语句块语句块2真真假假选择结构选择结构条件条件循环体循环体真真假假循环结构循环结构循环体循环体条件条件假假真真循环结构循环结构用于在一定的条件下多次重复执行一组语句用于在一定的条件下多次重复执行一组语句.例如:
例如:
例如:
例如:
在一行上输出60个“*”号。
用Print方法方法一:
可以用60个“*”号组成一个字符串:
Print“*”方法二:
使用60个语句:
Print*;Print*”;Print*流程图2.2.条件型循环条件型循环(未知循环次数)未知循环次数)1.1.计数型循环计数型循环(已知循环次数)已知循环次数)分类:
分类:
分类:
分类:
学习要点:
学习要点:
学习要点:
学习要点:
2.2.实现循环实现循环的算法的算法1.1.进入循环的条件进入循环的条件3.3.退出循环的条件退出循环的条件一:
一:
ForFor循环语句:
计数型循环语句:
计数型(一般用于循环次数已知一般用于循环次数已知)形式如下:
形式如下:
ForFor循环变量初值循环变量初值to终值终值Step步长步长语句块语句块ExitFor语句块语句块Next循环变量循环变量例例:
ForI=2To13Step3PrintI,NextIPrint:
Print“I=“,IExitfor:
Exitfor:
当遇到该语句当遇到该语句,退出循环退出循环,执行该循执行该循环的下一条语句。
环的下一条语句。
步长步长(也可(也可为实数)为实数)0初值初值终值终值(=1=1时时,可省略)可省略)终值终值=0死循环死循环循环次数循环次数intint(终值终值-初值)初值)/步长)步长)+1+1循环变量循环变量:
必须是数值型必须是数值型语句块语句块:
可以是一条或多条语句可以是一条或多条语句,【说明】ForFor循环流程图循环流程图循环变量得到初值循环变量在终值内T语句块循环变量加步长F有ExitForFTForNext流程图例例:
ForI=2To13Step3PrintI,NextIPrint:
Print“I=“,I结果:
结果:
输出输出II的值分别为的值分别为:
25811循环执行次数:
循环执行次数:
循环结束输出为循环结束输出为:
I=14I=14(初值初值+循环次数循环次数*步长步长)思考思考1:
1:
计算下列循环语句的次数。
(1)forI=-3to20step4
(2)forI=-3.5to5.5step0.5(3)forI=-3.5to5.5step0.5(4)forI=-3to20step0结果分别为结果分别为:
6190无数次无数次思考思考2:
2:
如果事先不知道循环次数,如何用For.Next?
For循环变量循环变量=1to非常大的数非常大的数if达到循环结束条件达到循环结束条件thenexitfor.Netxt循环变量循环变量例4.94.9改变循环控制变量循环控制变量循环控制变量循环控制变量对循环的影响PrivateSubCommand1_Click()j=0Fori=1To20Step2i=i+3“有无此句结果有什么不同?
j=j+1Print第;j;次循环i=;iNextiPrint退出循环后i=;iEndSub正常情况:
i=1,3,5,7,9,11,13,15,17,19现在:
i=4,9,14,19:
常用算法:
常用算法:
累加,连乘累加,连乘算法:
是对某个问题求解过程的描述例:
累加例:
累加求求1-1001-100的偶数和。
的偶数和。
PrivateSubForm_Load()DimiAsInteger,sAsIntegerShows=0Fori=2To100Step2s=s+I赋值语句实现赋值语句实现NextiPrints=;sEndSub例:
连乘例:
连乘求自然数求自然数1-301-30的乘积的乘积(即即3030的阶乘的阶乘)PrivateSubForm_Click()s=1Fori=1To10s=s*I赋值语句实现赋值语句实现Printi;的阶乘是:
的阶乘是:
;sNextiEndSub思考?
若把循环体前面置各变量初值的语句放在若把循环体前面置各变量初值的语句放在若把循环体前面置各变量初值的语句放在若把循环体前面置各变量初值的语句放在循环体内,程序运行时会产生什么情况?
循环体内,程序运行时会产生什么情况?
循环体内,程序运行时会产生什么情况?
循环体内,程序运行时会产生什么情况?
PrivateSubForm_Click()Fori=3To100step3sum=0sum=sum+INextIPrintsumEndSub结论;在一重循环中,存放累加,连乘结果的变量初值设置应该放在循环体外。
二:
二:
DoLoopDoLoop循环语句:
循环语句:
条件型条件型(用于控制循环次数未知用于控制循环次数未知)形式形式1:
先判断后循环:
先判断后循环形式形式2:
先做后判断:
先做后判断DoWhile|Until语句块语句块ExitDo语句块语句块LoopDo语句块语句块ExitDo语句块语句块LoopWhile|Until【说明】:
【说明】:
11)形式)形式11先判断后执行,有可能一次也不执行先判断后执行,有可能一次也不执行形式形式22先执行后判断,先执行后判断,最少执行一次循环体最少执行一次循环体22)WhileWhile用于指明用于指明条件为真条件为真时执行循环体;时执行循环体;UntilUntil刚好相反。
刚好相反。
33)当省略了)当省略了While|UntilWhile|Until子句,表示子句,表示无条件循环,循环体中应有无条件循环,循环体中应有ExitDoExitDo语句,语句,否则为死循环。
否则为死循环。
44)遇到)遇到ExitDoExitDo语句时退出循环,执行语句时退出循环,执行LoopLoop下一下一条语句。
条语句。
DoWhileLoopDoWhileLoop流程图流程图DoWhileLoopDoWhileLoop流程图流程图条件语句块语句块TF语句块语句块条件TF有ExitDoFT有ExitDoFTDoWhile|Until.Loop流程图例例4.11:
4.11:
我国有我国有13.213.2亿人口亿人口,按出生率为按出生率为0.5%0.5%的增长率的增长率,多少年后超过多少年后超过2020亿?
亿?
PrivateSubForm_Load()DimmAsDoubleDimyearrAsIntegerShowm=1320000000#:
yearr=0DoWhilem200000000000#例例:
迭代法求a的立方根。
X=a1/3迭代公式:
Xn+1=1/3(2Xn+a/Xn2)当Xn+1-XnLoopwhileabs(v-u)epsepsPrintvPrintvEndsubEndsub若将若将While改为改为Until,条件表条件表达式怎么达式怎么修改?
修改?
DoUntilabs(v-u)=abs(v-u)nmn;
(2)
(2)mm除以除以nn得余数得余数rr;(3)(3)若若r=r=00,则则nn为最大公约数结束为最大公约数结束;否则执行否则执行(4)(4);(4)(4)mmnn,nnrr,再重复执行再重复执行
(2)
(2)常用算法:
常用算法:
求最大公约数和最小公倍数求最大公约数和最小公倍数求求m=14,n=6m=14,n=6的最大公约数和最小公倍数。
的最大公约数和最小公倍数。
z=m*nIfmnThent=m:
m=n:
n=tr=mmodnDoWhile(r0)m=nn=rr=mmodnLoopPrint最大公约数最大公约数=,nPrint“最小公倍数最小公倍数=,z/nmnr1462620若若r=0r=0,则则nn为最大公约数结束为最大公约数结束方法二:
辗转相减法求最大公约数方法二:
辗转相减法求最大公约数z=m*nDoWhilemnIfmnThenm=m-nElsen=n-mEndIfLoopPrintmPrintz/mm=m-nmnmnm-n1468862264242220n=n-mnmm、n为公约数为公约数m=n若若mm=n=n,则则mm为最大公约数结束为最大公约数结束若不相等,谁大替换谁。
若不相等,谁大替换谁。
例例4.144.14:
求自然对数求自然对数ee的近似值的近似值,要求其要求其误差小于误差小于0.000010.00001,近似公式为,近似公式为:
ee=1+1/1!
+1/2!
+1/3!
+1/=1+1/1!
+1/2!
+1/3!
+1/nn!
+!
+该例题涉及两个问题该例题涉及两个问题:
(11)用循环结构求)用循环结构求级数和的问题级数和的问题。
本。
本例根据某项值的精度来控制循环的结束例根据某项值的精度来控制循环的结束与否。
与否。
(22)累加累加:
e=e+te=e+t(循环体外对累加和的变量清零循环体外对累加和的变量清零e=0)e=0)(3)(3)连乘连乘:
n=n*in=n*i(循环体外对连乘积变量置循环体外对连乘积变量置11n=1)n=1)(三)循环的嵌套三)循环的嵌套一个循环体内又包含了一个一个循环体内又包含了一个完整的循环结构称为循环的嵌套完整的循环结构称为循环的嵌套,也叫也叫多重循环多重循环。
例例4.134.13演示:
演示:
打印九九乘法表。
打印九九乘法表。
Fori=1To9Forj=1To9se=i&j&=&i*jPicture1.PrintTab(j-1)*9+1);se;NextjPicture1.PrintNexti打印上三角或下三角程序如何改动打印上三角或下三角程序如何改动思考:
思考:
下列30-90为语句标号,分别标记该语句,第40句执行了几次循环?
第50句执行了几次循环?
第90句输出结果是多少?
30Forj=1to12step340Fork=6to2step250mk=k60Printj,k70Nextk7180nextj7290printj,k,mk31213,0,2Forii=1To10Forjj=1To20NextiiNextjjForii=1To10Forii=1To20NextiiNextiiForii=1To10Forjj=1To20NextjjNextiiForii=1To10NextiiForii=1To10Nextii【注意】
(1)内循环变量与外循环变量不能同名;
(2)外循环必须完全包含内循环,不能交叉;(3)不能从循环体外转向循环体内,反之则可以。
正确错误语句形式特点循环条件循环终止条件循环次数Dowhile.loop先判断TrueFalse=0Dountil.loop先判断FalseTrue=0Do.loopwhile后判断TrueFalse=1Do.loopuntil后判断Falsetrue=1For.next先判断控制变量=终值(递增)控制变量=终值(递减)控制变量=终值(递增)控制变量=终值(递减)(终值-初值)/步长+1循环总结循环总结四四四四常常常常见见见见错错错错误误误误1.1.不循环或死循环的问题不循环或死循环的问题主要是循环条件、循环初值、循环终值、循环步长的设置有问题。
例如:
ForI=10to20step1ForI=20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 循环 结构
![提示](https://static.bdocx.com/images/bang_tan.gif)