文档详情

Do While… Loop前测试循环语句[精].ppt

发布:2017-01-14约字共10页下载文档
文本预览下载声明
* Do…Loop循环语句 For…Next循环语句针对于知道固定循环次数的循环程序。 在许多问题中,我们事先并不能确定循环需要执行的次数,这时,我们可以选择Do… Loop循环语句。 Do…Loop循环语句共有两种情况: (1)Do While…Loop循环语句 (2)Do…Until Loop循环语句。 在Do…Loop循环语句中,可以把循环控制部分放在循环的前面(即前测试循环),也可以放在循环的后面(即后测试循环) Do While…Loop循环语句 Do While 循环条件表达式 循环体 [Exit Do] Loop 功能:首先测试循环条件表达式是否成立,若循环条件满足,则进入循环。 Do While…Loop循环语句又称为“当型循环”,即当循环条件成立,才开始进入循环。 说明:若循环没有结束,但程序需要退出循环时,可以使用Exit Do语句退出循环。 前测试循环的语法: Do While…Loop循环语句的流程图如下 循环体 循环条件表达式 是 否 例题:编程输出1~5的算术平方根。要求用Do While…Loop循环语句。 程序代码如下: 循环的详细执行过程如下: (1)首先,x的值为1; (2)判断当前循环条件表达式是否成立,如果成立,则执行循环体; (3)此时成立,则执行循环体; (4)在循环体内部,对x的值进行了加1运算,此时的x的值为2; (5)程序跳至(2),重新判断循环条件是否成立。 (6)当循环语句执行了5次后,此时循环变量x的值为6,当跳至步骤(2)时,不满足循环条件了,此时循环结束。 Rem 编程输出1~5的算术平方根。 Private Sub Command1_Click() Dim x As Long x = 1 循环变量赋初值 Do While x = 5 当型循环 Print Sqr(x) 输出 x = x + 1 循环变量根据条件增加 Loop Print 循环结束后循环变量x的值为; x End Sub 说明: (1)x作为循环变量,首先要赋初值; (2)循环变量在循环体内部需要根据条件进行更改。 详见form1。 提问1:循环语句共循环了几次? 答:5次。 提问2:当循环语句结束后,此时的循环变量是多少? 答:此时的循环变量x值为6。 提问3: Do While…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]内的奇数和。 Private Sub Command1_Click() Dim x, s As Long x = 1 x为循环变量,循环开始前赋初值 s = 0 s为累加求和的变量,没有累加前,s的初始值应该为0 Do While x = 100 s = s + x 将变量x的值进行累加 x = x + 2 循环变量根据条件更改 Loop Print [1,100]内的奇数和为; s Print 循环结束后循环变量x的值为; x End Sub 详见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。 分析:这个问题可以用循环语句
显示全部
相似文档