直到型循环结构和当型循环结构

  • A+
所属分类:算法初步

在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构,反复执行的步骤称为循环体.

(1)一些循环结构用程序框图可以表示为:

特征:在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.

这种循环结构称为直到型循环结构.

例如.设计一个计算$1+2+…+100$的值的算法,并画出程序框图.

算法分析:通常,我们按照下列过程计算$1+2+…+100$的值.

第一步,$0+1=1.$

第二步,$1+2=3.$

第三步,$3+3=6.$

第四步,$6+4=10.$

……

第一百步,$4 950+100=5 050.$

我们用一个累加变量$S$表示每一步的计算结果,即把$S+i$的结果仍记为$S$,从而把第$i$步表示为$S=S+i$,其中S的初始值为$0$,$i$依次取$1$,$2$,…,$100$,由于$i$同时记录了循环的次数,所以也称为计数变量.

(2)还有一些循环结构用程序框图可以表示为:

在每次执行循环体前,对条件进行判断,当条件满足时,执行循环体,否则终止循环.

这种循环结构称为当型循环结构.

直到型循环结构先执行循环体,而当型循环结构先判断条件。

将上例中的问题改为当型循环结构?试设计出算法,并画出程序框图?

第一步,令$i=1$,$S=0.$

第二步,如果$i\le100$成立,则执行第三步,否则,输出$S$,结束算法.

第三步,$S=S+i$.

第四步,$i=i+1$,返回第二步.

上述算法的程序框图表示为:

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: