求delphi程序结果

来源:百度知道 编辑:UC知道 时间:2024/05/06 02:34:56
procedure AddOne(X, Y: Integer)
begin
X := X + 1; Y := Y + 1;
end;
procedure AddTwo(var X, Y: Integer)
begin
X := X + 1; Y := Y + 1;
end;
// 以下是调用过程的程序段
var I,J,X,Y: Integer;
begin
I := 1; J:=2;
X:=3; Y:=5;
AddOne(I,J);
AddTwo(X,Y);
end;
运行结果是I=____________, J=___________
X=____________, Y=___________
可以详细说说步骤吗?

结果是:i:=2,j:=3;
x:=4,j:=6;
这里是过程的调用;你要理解过程是什么意思,形参和实参这几个概念,他封装了一个规则,像AddOne和AddTwo封装的规则是,给他的数都加上1,就好像一个人站在路边,每个走过他傍边的,无论男女,只要是人的,就都给1块钱。你可能不明白的是这个X,Y,在AddTwo里面的X,Y,和下面var里面的X,Y不是一个X,Y,知识声明一样而已。不知道你是否理解。

I=_1__, J=_2__
X=_4__, Y=_6__

没有什么步骤的,关键考你对var的认识,它表示该过程函数的参数采用直接引用,没有var的参数就是传值引用,直接引用会改变参数本身,传值引用不能。通俗的比喻就是你把一张相片给别人加工,var的方法就是直接把你的相片拿去加工,那相片就变了,而没有var就是他把你的相片复印了一张,拿复印件去加工,怎么改,你的相片还是好好的。