关于 程序框图 的题

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:36:03
已知有下面程序,如果程序执行后输出的结果是11880,那么在程序UNTIL后面的“条件”应为( )

A. i>9 B. i>=9 C. i<8 D. i<=8

框图:

i=12

s=1

DO

s=s*i

i=i-1

LOOP UNTIL (条件)

PRINT s

END

这个框图什么意思啊? 还有题也不会解...

有明白的麻烦帮忙说明一下,要详细过程。

谢谢!!

结果是B i>=9
你是学什么的 怎么会遇到这样的题
i=12 s=1 这是赋予变量 i 、s的初始值
s=s*i 让s与i相乘 结果赋予s 那么根据初始值知道 他们第一次相乘的结果 12 那么s=12 在第二次相乘时s就=12
i=i-1 让i减1 结果赋予i 那么根据初始值知道 i减1后 为11
LOOP UNTIL (条件)这样循环下去直到条件满足s=s*i=11880 也就是i=9
PRINT s 输出s的值 END结束
也就是在第一次i=12 s=1 s=s*i s=12
第二次i=11 s=12 s=s*i s=132
第三次i=10 s=132 s=s*i s=1320
第四次i=9 s=1320 s=s*i s=11880

i=12 s=1 这是赋值的意思,把12给i,1给s

DO
s=s*i
i=i-1
LOOP UNTIL (条件)
这是循环语句,条件是 用来判断循环是否应该结束了,满足条件则结束,不满足不结束,回到Do.
顺着程序下来,s=s*i把s*i的值给s(s是个变量,可以多次赋不同的值)s=12*1=12 i=i-1(i也是个变量)i=12-1=11,这时s=12,不是11880,循环语句不能结束,下一次s=s*i=12*11,i=11-1=10
还是不满足条件,直到s=12*11*10*9=11880,这时i=i-1=9-1=8,程序该结束了,所以条件是D
i<=8