问题 解答题

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

答案

  程序框图如右:

上述程序框图用的是当型循环结构,如果用直到型循环结构表示,则程序框图如下:

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

   第1步,0+1=1.

第2步,1+2=3.

第3步,3+3=6.

第4步,6+4=10.

……

第100步,4 950+100="5" 050.

   显然,这个过程中包含重复操作的步骤,可以用循环结构表示.分析上述计算过程,可以发现每一步都可以表示为第(i-1)步的结果+i=第i步的结果.

为了方便、有效地表示上述过程,我们用一个累加变量S来表示第一步的计算结果,即把S+i的结果仍记为S,从而把第i步表示为S=S+i,

其中S的初始值为0,i依次取1,2,…,100,由于i同时记录了循环的次数,所以也称为计数变量.

解决这一问题的算法是:

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

第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.

第三步,S=S+i.

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

计算题
单项选择题