تالار گفتمان مانشت

نسخه‌ی کامل: انتقال پارامتر - دسترسی به متغییر سراسری -
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
مثال زیر از کتاب پورانه. جوابش رو نمی فهمم. ممنون میشم کمکم کنید.
program Sample
var x,y,j:integer
procedure test(y,z:integer)
begin
z:=z-6
Y:=y+6
x=x-y
end;
begin
x:=4
y:=5
test(x,y)
write(x,y)
end;

برای فراخوانی با مقدار گفته میشه x=4 و y=5 . چون فراخوانی با مقداره تاثیری در نتیجه نداره.
سوال من اینه ، الان مگه x سراسری محسوب نمیشه؟ پس چرا تغییراتش تاثیر گذار نیست؟
و کلا در همه ی انواع فراخوانی ها ، تغییر متغییر سراسری حکمش چیه؟

برای فراخوانی با ارجاع هم گفته میشه :
[tex]z=5-6=-1[/tex]
[tex]y=4 6=10[/tex]
[tex]x=4-10=-6[/tex]


چرا در فراخوانی با ارجاع برای محاسبه x ، همون x قبلی رو در نظر گرفتیم ؟ مگه y و x نباید یکی باشند ؟
سلام دوست عزیز

زیاد سخت نگیر.نکته این سوال چیزی نیست ، جز یک اشکال تایپیه دیگه.Big Grin

این ی مثاله ک مولف نوشته.به تست های کنکور هم چندان اطمینانی نیست چه برسه به تست های تالیفیShy
لینک مرجع