下面是求1+2+3+…>2008最大的n的算法语句:
s←0,n←0
While S≤2008n←n+1s←s+n
End While
Print
在下面的选项中选一个填入横线上( )
A.n
B.n-1
C.n-2
D.n+1
【答案】分析:分析题目中的要求,发现这是一个累加型的问题,故可能用循环结构来实现,在编写算法的过程中要注意,累加的n初始值为0,累加值每一次增加1,退出循环的条件是累加结果>2008,把握住以上要点不难得到正确的算法和流程图.
解答:解:假设最大正整数n使1+2+3+…+n>2008成立
此时的n满足S≤2008,则语句S=S+n,n=n+1继续运行,
一旦S>2008,则退出循环,
此时输出的n即为所求的最大值,属于图中横线上应填入n.
故选A.
点评:可利用循环语句来实现数值的累加(乘)常分如下步骤:①观察S的表达式分析,循环的初值、终值、步长②观察每次累加的值的通项公式③在循环前给累加器和循环变量赋初值,累加器的初值为0,累乘器的初值为1,环变量的初值同累加(乘)第一项的相关初值④在循环体中要先计算累加(乘)值,如果累加(乘)值比较简单可以省略此步,累加(乘),给循环变量加步长⑤输出累加(乘)值.