求教关于for i:=n downto 1 如题,要计算该语句的执行频度,答案是n+1,原来程序是这样的:FOR i:=n DOWNTO 1 DOBEGINX:=X+1;FOR J:=n DOWNTO i DOy:=y+1;END;

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 08:04:37

求教关于for i:=n downto 1 如题,要计算该语句的执行频度,答案是n+1,原来程序是这样的:FOR i:=n DOWNTO 1 DOBEGINX:=X+1;FOR J:=n DOWNTO i DOy:=y+1;END;
求教关于for i:=n downto 1 如题,要计算该语句的执行频度,答案是n+1,
原来程序是这样的:FOR i:=n DOWNTO 1 DO
BEGIN
X:=X+1;
FOR J:=n DOWNTO i DO
y:=y+1;
END;

求教关于for i:=n downto 1 如题,要计算该语句的执行频度,答案是n+1,原来程序是这样的:FOR i:=n DOWNTO 1 DOBEGINX:=X+1;FOR J:=n DOWNTO i DOy:=y+1;END;
x:=x+1语句要执行n次,但是y:=y+1执行的不是n次,而是1+2+3+.+n次,也就是n*(n+1)/2次.
验证程序:
var i,j,n,x,y:integer;
begin
n:=10;
x:=0;
y:=0;
FOR i:=n DOWNTO 1 DO
BEGIN
X:=X+1;
FOR J:=n DOWNTO i DO y:=y+1;
END;
writeln('x=',x,',y=',y);
end.
输出结果是x=10,y=55