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

نسخه‌ی کامل: آزمون آزمایشی مدرسان شریف
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با عرض سلام

دوستان این سوال از کنکور آزمایشی مدرسان هست. می شه لطفا راهنمایی کنید.
سلام
Bیک متغیر سراسری است. که مقدار اولیه ۱۰ دارد بعد رویه TEST با پارامتر B فراخوانی میشود.
در فراخوانی با مقدار , مقدار پارامتر واقعی (B) در پارامتر مجازی(A) کپی می شود. یعنی مقدار اولیه A برابر ۱۰ میشود بعد با جرای دستور B=B+10 مقدار B برابر ۲۰ و با اجرای دستور A=A+20 مقدار A برابر ۳۰ می شود بعد مقدار B که ۲۰ است چاپ می شود و از رویه خارج و دوباره دستور چاپ بعد فراخونی رویه اجرا و دوباره ۲۰ چاپ می شود یعنی تغیر پارامتر مجازی روی پارامتر واقعی تاثیری ندارد
در فراخوانی با ارجاع هردو پارامتر واقعی و مجازی به یک محل اشاره می کنند و هر تغیری روی پارامتر مجازی روی پارمتر واقعی اعمال می شود پس A, B هر دو به یک محل که مقدار اولیه ۱۰ دارد اشاره می کنند دستور اول رویه مقدار ان محل را برابر ۲۰ و دستور دوم مقدار ۴۰ را در ان محل قرار می دهد پس رویه چاپ داخل رویه با پارامتر B که الان ۴۰ است اجرا می شود بعد از خروج از رویه هم مقدار B همچنان ۴۰ باقی می ماند پس یک ۴۰ دیگر هم چاپ می شود.
در فراخوانی با مقدار نتیجه: مقدار پارامتر واقعی در مجازی کپی می شود و در هنگام خروج از رویه مقدار پارامتر مجازی در واقعی کپی می شود پس ابتدا َA
مقدار اولیه ۱۰ دارد دستور اول B را برابر ۲۰ می کند و دستور دوم A را برابر ۳۰ بعد B که ۲۰ است چاپ می شود واز رویه خارج و در این حین مقدار پارامتر مجازی یعنی A که ۳۰ است در پارامتر واقعی کپی می شود یعنی B مقدار ۳۰ دارد که در نهایت این ۳۰ چاپ می شود. گزینه ۱/
سلام دوست عزیز
بسیار سپاسگزارم از کمک های شما
لینک مرجع