Do-While…-Loop前测试循环语句_第1页
Do-While…-Loop前测试循环语句_第2页
Do-While…-Loop前测试循环语句_第3页
Do-While…-Loop前测试循环语句_第4页
Do-While…-Loop前测试循环语句_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Do…Loop循环语句For…Next循环语句针对于知道固定循环次数的循环程序。在许多问题中,我们事先并不能确定循环需要执行的次数,这时,我们可以选择Do…Loop循环语句。Do…Loop循环语句共有两种情况:〔1〕DoWhile…Loop循环语句〔2〕Do…UntilLoop循环语句。在Do…Loop循环语句中,可以把循环控制局部放在循环的前面〔即前测试循环〕,也可以放在循环的后面〔即后测试循环〕DoWhile…Loop循环语句DoWhile<循环条件表达式>循环体[ExitDo]Loop功能:首先测试循环条件表达式是否成立,假设循环条件满足,那么进入循环。DoWhile…Loop循环语句又称为“当型循环”,即当循环条件成立,才开始进入循环。说明:假设循环没有结束,但程序需要退出循环时,可以使用ExitDo语句退出循环。前测试循环的语法:DoWhile…Loop循环语句的流程图如下循环体循环条件表达式是否例题:编程输出1~5的算术平方根。要求用DoWhile…Loop循环语句。程序代码如下:循环的详细执行过程如下:〔1〕首先,x的值为1;〔2〕判断当前循环条件表达式是否成立,如果成立,那么执行循环体;〔3〕此时成立,那么执行循环体;〔4〕在循环体内部,对x的值进行了加1运算,此时的x的值为2;〔5〕程序跳至〔2〕,重新判断循环条件是否成立。〔6〕当循环语句执行了5次后,此时循环变量x的值为6,当跳至步骤〔2〕时,不满足循环条件了,此时循环结束。Rem编程输出1~5的算术平方根。PrivateSubCommand1_Click()DimxAsLongx=1'循环变量赋初值DoWhilex<=5'当型循环PrintSqr(x)'输出x=x+1'循环变量根据条件增加LoopPrint"循环结束后循环变量x的值为";xEndSub说明:〔1〕x作为循环变量,首先要赋初值;〔2〕循环变量在循环体内部需要根据条件进行更改。详见form1。提问1:循环语句共循环了几次?答:5次。提问2:当循环语句结束后,此时的循环变量是多少?答:此时的循环变量x值为6。提问3:DoWhile…Loop循环语句与For…Next循环语句的区别有哪些?答:〔1〕For…Next的循环变量一般用整型变量;Do…Loop循环不做要求。〔2〕For…Next的循环变量在语句“For循环变量=初值To终值[Step步长]”内;Do…Loop循环需要在循环开始之前赋初值。〔3〕For…Next的循环变量会自动增加步长;Do…Loop循环需要在循环体内用赋值语句重新更改。例题:编程求[1,100]内的奇数和。分析:此题即求S=1+3+5+…+99的和。程序代码如下:Rem编程求[1,100]内的奇数和。PrivateSubCommand1_Click()Dimx,sAsLongx=1'x为循环变量,循环开始前赋初值s=0's为累加求和的变量,没有累加前,s的初始值应该为0DoWhilex<=100s=s+x'将变量x的值进行累加x=x+2'循环变量根据条件更改LoopPrint"[1,100]内的奇数和为";sPrint"循环结束后循环变量x的值为";xEndSub详见form2。前面两个例题都是对For…Next循环语句转变为Do…Loop循环的例子,从中可以看出,For…Next循环是可以用Do…Loop循环替代的。但是,如果针对于前面两个例题的例子,我们发现,使用For…Next循环语句要比较方便。也就是说,针对于这类有规律、能确定循环次数的循环程序,选用For…Next循环是最正确选择。但对于某些问题,我们无法确定应该执行多少次循环,这时如果还用For…Next循环,就会不是很方便,对于这类不能确定循环次数的问题,我们可以选用Do…Loop循环很好的解决这类问题。For…Next循环与Do…Loop循环的比较以及如何选择的问题不能确定循环次数的例题例题:对于求和运算S=1+2+3+…x,问:当x为多少时,其和S的值恰好超过20。分析:这个问题可以用循环语句来解决,但是,不能确定需要循环的次数,此时,我们就可以考虑Do…Loop循环来解决这类不能确定循环次数的问题。程序代码如下:PrivateSubCommand1_Click()Dimx,sAsSinglex=1s=0DoWhiles<=20s=s+xx=x+1Loopx=x-1MsgBox("当x等于"&x&"时,其和恰好超过20。"&"此时的和s等于"&s)EndSub手动分析答案为:当x=6时,其和S=21恰好超过20。详见form3。程序调试的小技巧如果题目是问:当x为多少时,其和S的值恰好超过20000?这么大的数当然不能用手算出结果,那怎么知道程序的结果是否正确呢?小技巧:不妨将题目中的数值该小,比方更改为“其和S的值恰好超过20”,这样你就能先手算出结果与程序运行后的结果比对,如果结果不对,就分析原因,找到正确的方法。比方刚刚的例题中,就分析出了最后程序多执行了一次循环导致最后的x比正确结果大1,这样在程序中调整一下程序就正确了。对于这类问题,都是采用将数据该小,然后用手算验证的方法来验证程序的。以后还会屡次碰到。对程序代码的分析:〔1〕因为要超过20,所以循环条件是:当s<=20时,要执行循环;〔2〕循环语句结束后,为什么要对x减1?答:因为在本程序中,直到x=6后,s=21,此时循环条件才不满足,而此时的x进行了加1操作,即此时的x=7,所以在最后输出答案时,要减1!本课作业作业1:编程求出满足不等

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论