给出50个数;1,2,6,24,120,…,其规律是:第1个数是1,第2个数是第1个数乘以2所得的积,第3个数是第2个数乘以3所得的积,第4个数是第3个数乘以4所得的积…,依此类推,要计算这50个数的和,现已给出了该问题算法的程序框图(如图所示),
(I)请在图中执行框内(1)处和判断框中的(2)处填上合适的语句,使之能完成该题算法功能;
(II)根据程序框图写出程序?
网友回答
解:(I)∵循环变量的初值为1,终边为50,根据循环要实现的功能,故循环体内的(1)语句应为:p=p*(i+1);(2)语句应为:i>50(II)程序如下:i=1p=1S=0WHILE i<=50??? S=S+p??? p=p*(i+1)??? i=i+1WENDPRINT SEND
解析分析:(I)分析程序的功能结合已知的流程图,易得本题循环体中的两条语句功能分别为累乘和退出循环的条件,(II)分析及初值i=1,及循环的终值(由进行循环的条件i<50确定)50,我们知道循环共进行了50次,其步长为1,又由S每次累加的量是 p,故应该先改变循环变量的值,再进行累加.利用WHILE循环语句书写.
点评:本题考查的知识点是利用循环结构进行累加(乘)运算,其中根据循环变得初值、终值、循环体执行的次数,确定步长及累加量的表达式,及改变循环变量的值的语句与累加语句的次序是解答本题的关键.