正确理解两种循环结构
程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的
图形。在一些算法中经常会出现从某处开始,按照一定条件反复执行某些步骤的情况,这就是循环结构,反复执行的步骤称为循环体。循环结构中一定包含条件结构,用于确定何时终止执行循环体。
我们经常使用的循环结构有两种:直到型循环(until型)和当型循环(while型),那么如何区分他们的结构呢?直到型循环结构的特征是:1、在执行了一次循环体后,对条件进行判断。2、条件不满足时,就继续执行循环体。3、直到条件满足时终止循环。因此,直到型循环又称“后判断否型”循环。三个条件同时具备,才是直到型循环。当型循环结构的特征是:1、在执行循环体前,对条件进行判断。2、条件满足时执行循环体。3、当条件不满足时终止循环。因此,当型循环又称为“前判断是型”循环。同样,必须三个条件同时满足才是当型循环。直到型循环与当型循环的特征几乎是相反的,因此对于同一个循环结构,如果改变其中的条件为条
件的否定,结构作适当的调整,就可以完成直到型循环与当型循环的互相变换。下面举例说明直到型与当型的变换。
do while语句流程图例一:设计一个算法求1+3+5+,,,+ 99的值的算法的程序框图及程序。
程序框图:(1)当型循环结构 (2) 直到型循环结构
框图一 框图二
相应的程序:
(1)当型循环 (2)直到型循环
i=1 i=1
S=0 s=0
While i<=100 do
s=s+i s=s+i
i=i+2 i=i+1
Wend loop until i>100
Print “s=”; s print “s=”; s
end end
例二:理解下面程序框图算法的意义,并写出程序语句。
解:这是一个连续输入自变量的n个取值,并输出相应的函数值的循环程序。但这个程序框图是“前判断否”型。要写出程序既不用while型语句,也不能用until型语句。因为它的程序框图既不是直到型,也不是当型,应对程序框图中虚线框内作适当的调整,如下:
框图三
程序为:
input “n=”; n
i=1
while i<=n
input x
Print “y(x=”; x;“)=”; y
Wend
End
同学们可以将框图三改为直到型循环结构,并将程序语句改为DO语句。
例三、理解下面的程序框图的算法的意义,并写出程序语句。
解:这是一个计算从1+2+3+… +i的值小于等于任意数n时的最大值
i的循环程序。但这个程序框图“后判断是型”,要写出程序语句。既不能用while型
语句,也不能用until型语句。因为它的程序框图即不是直到型也不是当型循环结构,虚线框内应做适当调整成直到型如下:
是
否
程序如下:
input “n=”; n
i=1
框图四 do
s=s+i
i=i+1
loop until s>n
print i-1
end
同学们可将框图四改为当型循环结构,并练习写出其对应的程序。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论