正确理解两种循环结构
 
    程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的
图形。在一些算法中经常会出现从某处开始,按照一定条件反复执行某些步骤的情况,这就是循环结构,反复执行的步骤称为循环体。循环结构中一定包含条件结构,用于确定何时终止执行循环体。
  我们经常使用的循环结构有两种:直到型循环(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小时内删除。