单选题
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】 程序功能是计算1~10的阶乘。
【程序】
SET TAIK OFF
CLEAR
N=1
DO WHILE N<11
Y=1
{{U}} (1) {{/U}}
? STR (N,2)+“的阶乘是:”+STR (Y,8)
{{U}} (2) {{/U}}
ENDDO
SET TAIK ON
RETURN
{{U}}(3) {{/U}}
PARAMETERS N,Y
IF N>1
DO FP WITH N-1,Y
{{U}} (4) {{/U}}
ENDIF
RETURN
【正确答案】 C
【答案解析】[解析] 从整个程序结构上看,主程序中每给N赋一个值,就调用过程求出该N值的阶乘,并通过 Y返回该阶乘的结果,因此第一个填空处应是调用过程语句。从过程中语句“DO FP WITH N-1,Y”可判断出在过程中是通过递归调用(过程在执行中自己调用自己)实现对阶乘的运算,因此推断出过程名为“FP”。程序中第(1)处填空应是“DO FP WITH N,Y”。
【正确答案】 B
【答案解析】[解析] 本题功能是使变量N的值依次代替从2到10的整数,即对N的下一个数进行处理,所以 N=N+1。
【正确答案】 D
【答案解析】[解析] 语句“PARAMETERS ...”前应该是定义过程的开始语句“PROCEDURE FP"。
【正确答案】 A
【答案解析】[解析] 从过程结构看,过程中最后的运算语句应该是阶乘的具体算法公式,所以该语句是“Y=Y*N”。