题目内容
读下面两个程序:
甲:i=1 乙:i=200
S=0 S=0
WHILE i<=200 DO
S=S+i S=S+i
i=i+1 i=i-1
WEND LOOP UNTIL i<1
PRINT S PRINT S
END END
对甲、乙两程序和输出结果判断正确的是( )
甲:i=1 乙:i=200
S=0 S=0
WHILE i<=200 DO
S=S+i S=S+i
i=i+1 i=i-1
WEND LOOP UNTIL i<1
PRINT S PRINT S
END END
对甲、乙两程序和输出结果判断正确的是( )
分析:程序甲是While Wend语句,只要变量i≤200成立,求和运算就要执行下去,直到i>200时终止运算并输出求出的和S;而程序乙是do loop until语句,只要变量i≥1成立,求和运算就要执行下去,直到i<1时终止运算并输出求出的和S.由此可得两程序结构不同,但输出的S相同,可得本题答案.
解答:解:程序甲中,计数变量i从1开始逐步递增,每次增加1,直到i=200时终止,
累加变量从0开始,这个程序计算的是:1+2+3+…+200;
程序乙中,计数变量从200开始逐步递减,每次减少1,直到i=1时终止,
累加变量从0开始,这个程序计算的是200+19+…+3+2+1.
由此可得,这两个程序是不同的,但运算的结果都是:S=1+2+3+…+200=20100
故选B.
累加变量从0开始,这个程序计算的是:1+2+3+…+200;
程序乙中,计数变量从200开始逐步递减,每次减少1,直到i=1时终止,
累加变量从0开始,这个程序计算的是200+19+…+3+2+1.
由此可得,这两个程序是不同的,但运算的结果都是:S=1+2+3+…+200=20100
故选B.
点评:本题给出两个伪代码语段,要我们比较它们的异同,着重考查了循环结构的理解和伪代码程序的逻辑处理等知识,属于基础题.
练习册系列答案
相关题目