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

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

[تصویر:  240524_85.png]

کلید گزینه 3 هستش اما من فقط دو تا حالت میتونم در نظر بگیرم که در عکس زیر نشون دادم. کمک کنید ممنون میشم

[تصویر:  240524_SSR.png]
بچه ها یه لطفی بکنید
دقیقا همون شکل هایی که کشیدید رو یه بار با این حالت که B هم داخل A باشه در نظر بگیرید.
مرسی از جوابتون
آخه اگه B داخله A باشه اونوقت دیگه فراخوانیه B->A اشتباهه چون فراخوانیه جز به کل نداریم دیگه
(08 بهمن 1392 12:57 ب.ظ)hosshah نوشته شده توسط: [ -> ]مرسی از جوابتون
آخه اگه B داخله A باشه اونوقت دیگه فراخوانیه B->A اشتباهه چون فراخوانیه جز به کل نداریم دیگه
این حرف اشتباهه کاملا.
حوزه ایستاست. اگر B به داده ای نیاز داشته باشه که درون خودش نیست به یه level بالاتر مراجعه میکنه که اینجا میشه A . و اگر در اونم نباشه به M مراجعه میکنه.
(08 بهمن 1392 01:02 ب.ظ)e.sharmi نوشته شده توسط: [ -> ]این حرف اشتباهه کاملا.
حوزه ایستاست. اگر B به داده ای نیاز داشته باشه که درون خودش نیست به یه level بالاتر مراجعه میکنه که اینجا میشه A . و اگر در اونم نباشه به M مراجعه میکنه.
خب آخه اون زنجیره ای که اون بالا داده زنجیره فراخوانی هاست نه SCP
حالا اگه هم فرض شما رو در نظر بگیریم پس یه B->A هم داریم با این اوصاف یعنی هم B تابع A رو فراگرفته هم A تابع B رو
نمیدونم میتونم برسونم گیرم کجای کاره یا نه
(08 بهمن 1392 01:08 ب.ظ)hosshah نوشته شده توسط: [ -> ]
(08 بهمن 1392 01:02 ب.ظ)e.sharmi نوشته شده توسط: [ -> ]این حرف اشتباهه کاملا.
حوزه ایستاست. اگر B به داده ای نیاز داشته باشه که درون خودش نیست به یه level بالاتر مراجعه میکنه که اینجا میشه A . و اگر در اونم نباشه به M مراجعه میکنه.
خب آخه اون زنجیره ای که اون بالا داده زنجیره فراخوانی هاست نه SCP
حالا اگه هم فرض شما رو در نظر بگیریم پس یه B->A هم داریم با این اوصاف یعنی هم B تابع A رو فراگرفته هم A تابع B رو
نمیدونم میتونم برسونم گیرم کجای کاره یا نه

متوجه منظورتون شدم. ولی چیزی که تو ذهن من بود البته نمیدونم تا چه حد درسته این بوده که تابع A که میتونه B رو فراخوانی کنه. و B هم میتونه به داده های A دسترسی داشته باشه. ولی اینکه شما میگید خود A رو به عنوان متد فراخوانی کنه ، حلقه بی نهایت میشه اصلا.
نمیدونم منم.
(08 بهمن 1392 01:38 ب.ظ)e.sharmi نوشته شده توسط: [ -> ]متوجه منظورتون شدم. ولی چیزی که تو ذهن من بود البته نمیدونم تا چه حد درسته این بوده که تابع A که میتونه B رو فراخوانی کنه. و B هم میتونه به داده های A دسترسی داشته باشه. ولی اینکه شما میگید خود A رو به عنوان متد فراخوانی کنه ، حلقه بی نهایت میشه اصلا.
نمیدونم منم.

البته شما هر کدومو داری یه جور میخونی. هرجوری هست دو تاشو باید یه جور بخونیم
فراخوانی: A میتونه B رو فرخوانی کنه و B هم میتونه A رو فراخوانی کنه (پس ایین دو تا نباید داخله هم باشن)
SCP: که اصلا نمیشه چون میگه هم A به داده های B دسترسی داره هم B به داده های A
فراخوانی تابع هم مثل فراخوانی متغییر میمونه.با توجه به حوزه ایستا اگر در همین بلاک پیدا نکنه میره بلاک بالاییش رو می گرده.
تو این سوال A و B میتونن کنار هم باشن یا B داخل A باشه ولی از اونجایی M اول A رو فراخوانی کرده A نمیتونه داخل B باشه. که تمام حالتاش میشه 4 تا.
صفحه 585 طراحی پیاده سازی پوران (خلیلیان) یک مثال زده شبیه به این سوال هست.
موفق باشید.
(08 بهمن 1392 03:36 ب.ظ)Amoojan نوشته شده توسط: [ -> ]فراخوانی تابع هم مثل فراخوانی متغییر میمونه.با توجه به حوزه ایستا اگر در همین بلاک پیدا نکنه میره بلاک بالاییش رو می گرده.
تو این سوال A و B میتونن کنار هم باشن یا B داخل A باشه ولی از اونجایی M اول A رو فراخوانی کرده A نمیتونه داخل B باشه. که تمام حالتاش میشه ۴ تا.
صفحه ۵۸۵ طراحی پیاده سازی پوران (خلیلیان) یک مثال زده شبیه به این سوال هست.
موفق باشید.

بله درسته هم از شما هم از e.sharmi عزیز تشکر می کنم
سلام
ببخشید ممکنه توضیح بدید چرا تو این سوال C رو صرفاً داخل A در نظر گرفتید؟
(10 بهمن 1392 01:01 ق.ظ)hsh نوشته شده توسط: [ -> ]سلام
ببخشید ممکنه توضیح بدید چرا تو این سوال C رو صرفاً داخل A در نظر گرفتید؟

سلام
خواهش می کنم
چون تو صورت سوال گفته که D میتونه از متغیرهای A استفاده کنه پس صد در صد داخل A هست
از طرفی هم C میتونه این تابع رو call کنه پس C هم باید با A یه رابطه ای داشته باشه حالا یا A داخله C یا C داخله A
اما چون ابتدا A تابع C رو فراخوانی کرده صد در صد C داخله A هستش
لینک مرجع