انتقال پارامتر - دسترسی به متغییر سراسری - - نسخهی قابل چاپ |
انتقال پارامتر - دسترسی به متغییر سراسری - - e.shrm - 23 آذر ۱۳۹۲ ۰۵:۱۱ ب.ظ
سلام مثال زیر از کتاب پورانه. جوابش رو نمی فهمم. ممنون میشم کمکم کنید.
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 نباید یکی باشند ؟ |
RE: انتقال پارامتر - دسترسی به متغییر سراسری - - AEM4949 - 24 آذر ۱۳۹۲ ۱۲:۲۲ ق.ظ
سلام دوست عزیز زیاد سخت نگیر.نکته این سوال چیزی نیست ، جز یک اشکال تایپیه دیگه. این ی مثاله ک مولف نوشته.به تست های کنکور هم چندان اطمینانی نیست چه برسه به تست های تالیفی |