تالار گفتمان مانشت
سوال ۲ مقسمی . فصل ۵ - نسخه‌ی قابل چاپ

سوال ۲ مقسمی . فصل ۵ - wskf - 25 مهر ۱۳۹۵ ۱۰:۰۳ ب.ظ

میشه این سوال رو توضیح بدید


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


RE: سوال ۲ مقسمی . فصل ۵ - Behnam‌ - ۲۵ مهر ۱۳۹۵ ۱۰:۲۶ ب.ظ

(۲۵ مهر ۱۳۹۵ ۱۰:۰۳ ب.ظ)wskf نوشته شده توسط:  میشه این سوال رو توضیح بدید


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

سلام
لطفاً تصاویر رو در خود مانشت آپلود کنید. یا حداقل از گزینه‌ی افزودن تصویر استفاده کنید تا خود به خود به مانشت منتقل شود.
من روش تستی می‌گم، بقیه می‌تونند به روش تشریحی نشون بدند.
ابتدا [tex]what(A)[/tex] فراخوانی می‌شه، که که اون هم قبل از اینکه خط‌های پایینی اجرا بشوند، میره [tex]what(B)[/tex] رو فراخوانی می‌کنه و اونم به همین ترتیب میره [tex]what( C)[/tex] رو اجرا می‌کنه. [tex]what( C)[/tex] به صورت زیر خواهد بود:
[tex]what(0)[/tex]
[tex]print( C)[/tex]
[tex]what(0)[/tex]
[tex]print(C )[/tex]
که [tex]what(0)[/tex] هیچی اجرا نمی‌کنه، و [tex]print(C )[/tex]ها اجرا می‌شوند که C رو چاپ می‌کنند. پس عبارت با CC شروع خواهد شد، یعنی گزینه‌ی ۱/

RE: سوال ۲ مقسمی . فصل ۵ - Pure Liveliness - 25 مهر ۱۳۹۵ ۱۱:۲۸ ب.ظ

سلام. با تشکر از مهندس بهنام من راه حل تشریحی ش رو مینویسم:
روند صدا زدن تابع و پرینت و ذخیره شون توی پشته به صورت زیر هست:
اول [tex]what(A)[/tex] میره توی پشته یعنی پروسیجر صدا زده میشه با A و منجر به ۴ تا دستور زیر میشه:
[tex]what(B)[/tex]
[tex]print(A)[/tex]
[tex]what(B)[/tex]
[tex]print(A)[/tex]
حالا همون طور که با رنگ قرمز نشون دادم این صدا زدن پروسیجر با B منجر به ۴ تا دستور زیر میشه:
[tex]what©[/tex]
[tex]print(B)[/tex]
[tex]what©[/tex]
[tex]print(B)[/tex]
حالا همون طور که با رنگ آبی نشون دادم این صدا زدن پروسیجر با C منجر به ۴ تا دستور زیر میشه:
[tex]what(0)[/tex]
[tex]print©[/tex]
[tex]what(0)[/tex]
[tex]print©[/tex]

اینا به ترتیب از اول به آخر توی پشته PUSH میشن. حالا اون چیزی که pop میشه اینه:
C
C

تا این جا اون دستوراتی که از پشته POP شده رو صورتی کردم.
الان بالای پشته[tex]print(B)[/tex] هست که اجرا میشه
B
بعدش [tex]what©[/tex] که باعث میشه C C چاپ بشن و به همین ترتیب پشته خالی میشه.

در واقع کافی هست هر عمل رو با اعمال داخلیش replace کنید : )