زمان کنونی: ۰۵ آذر ۱۴۰۳, ۱۲:۴۰ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

(کمک در حل تست) تابع بازگشتی مربوط به برج هانوی

ارسال:
  

samaneh_aftab پرسیده:

(کمک در حل تست) تابع بازگشتی مربوط به برج هانوی

سلام دوستان.
میشه برای من stack این سوال و نحوه فراخوانی توابع بازگشتیش را توضیح بدین؟ این سوال مربوط به توابع بازگشتی برای برج هانوی است

ممنون


فایل‌(های) پیوست شده

۶
ارسال:
  

Parva پاسخ داده:

RE: (کمک در حل تست) تابع بازگشتی مربوط به برج هانوی

خوب من الگوریتم رو براتون تحلیل میکنم، تابع این دستور رو فراخوانی می کنه
[tex]test\left (3,A,B,C \right )[/tex]

مرحله اول:
وقتی وارد برنامه میشه سطر اول شرط برقرار نیست n=1 نیست،
سطر دوم تابع بازگشتی خودش رو فراخوانی می کنه
[tex]test\left (2,A,C,B \right )[/tex]
دستورات زیر این صدا زدن وارد پشته میشه؛ یک نکته خیلی مهم است که باشد در نظر بگیری
"اگر زیر برنامه ای در وسط بدنه دستوراتش، خودش را صدا بزند می بایست تمام دستورات زیر آن صدا زدن را به همان ترتیب درون پشته بفرستید. "

خوب دستورات پشته در مرحله اول از بالا به پایین
[tex]print\left ( i,k \right )\,[/tex] که اینجا با توجه به فراخوانی [tex]test\left (3,A,B,C \right )[/tex] دستور بالای پشته print AC خواهد بود.
[tex]test\left (2,B,A,C \right )[/tex]

مرحله دوم:
اینجا فراخوانی صورت میگیره [tex]test\left (2,A,C,B \right )[/tex]
شرط n=1 برقرار نیست
دستور دوم تابع [tex]test\left (1,A,B,C \right )[/tex] فراخوانی میشود دستورات زیر این صدا زدن وارد پشته می شود
[tex]print\left ( i,k \right )\,[/tex] که اینجا با توجه به فراخوانی [tex]test\left (2,A,C,B \right )[/tex] دستور بالای پشته print AB خواهد بود.
[tex]test\left (1,C,A,B \right )[/tex]
تا این مرحله دستورات پشته از بالا به پایین بصورت زیر هستش
print AB
[tex]test\left (1,C,A,B \right )[/tex]
print AC
[tex]test\left (2,B,A,C \right )[/tex]

مرحله سوم :
اینجا فراخوانی [tex]test\left (1,A,B,C \right )[/tex] صورت میگیره.
شرط اول برقراره n=1 پس اولین چیزی که چاپ میشه [tex]print\left ( i,k \right )\,[/tex] که i=A , k=C , Ac چاپ میشه.
برمیگردیم سراغ پشته اولین دستور print AB که انجام میگیره.

دستور بعدی بالای پشته فراخوانی [tex]test\left (1,C,A,B \right )[/tex] هستش که وارد برنامه میشه دستور اول برقراره و دستور چاپ [tex]print\left ( i,k \right )\,[/tex] بصورت زیر هستش که i=C , k=B که CB چاپ میشه.

دستور سوم پشته print AC هست
تاالان چاپ شده ها: [tex]print\left ( AC,AB,CB,AC \right )[/tex]

مرحله چهارم:
دستور اخر پشته فراخوانی [tex]test\left (2,B,A,C \right )[/tex]هستش که وارد برنامه میشه و پشته خالی میشه
شرط n=1 برقرار نیست فراخوانی [tex]test\left (1,B,C,A \right )[/tex]
و دستوراتی که وارد پشته میشه
[tex]print\left ( i,k \right )\,[/tex] که اینجا با توجه به فراخوانی [tex]test\left (2,B,A,C \right )[/tex] دستور بالای پشته print BC خواهد بود.
[tex]test\left (1,A,B,C \right )[/tex]

مرحله پنجم:
فراخوانی [tex]test\left (1,B,C,A \right )[/tex] که شرط برقراره و دستور چاپ [tex]print\left ( i,k \right )\,[/tex] که BA چاپ میشه
سراغ دستورات پشته میریم print BC و ااخرین دستور [tex]test\left (1,A,B,C \right )[/tex] که برنامه فراخوانی میشه شرط برقرار و
دستور چاپ [tex]print\left ( i,k \right )\,[/tex] که AC چاپ میشه

به این ترتیب [tex]print\left ( AC,AB,CB,ACوBA,BC,AC \right )[/tex] چاپ صورت میگیره.


فایل‌(های) پیوست شده

۰
ارسال:
  

شیوا۸۸ پاسخ داده:

RE: (کمک در حل تست) تابع بازگشتی مربوط به برج هانوی

(۰۴ تیر ۱۳۹۱ ۰۸:۵۰ ق.ظ)samaneh_aftab نوشته شده توسط:  سلام دوستان.
میشه برای من stack این سوال و نحوه فراخوانی توابع بازگشتیش را توضیح بدین؟ این سوال مربوط به توابع بازگشتی برای برج هانوی است

ممنون

سلام.گزینه ۳ صحیح است .باید بازگشت ها رو به صورت درختی بنویسی

۰
ارسال:
  

samaneh_aftab پاسخ داده:

(کمک در حل تست) تابع بازگشتی مربوط به برج هانوی

(۰۵ تیر ۱۳۹۱ ۰۱:۱۶ ق.ظ)شیوا۸۸ نوشته شده توسط:  
(04 تیر ۱۳۹۱ ۰۸:۵۰ ق.ظ)samaneh_aftab نوشته شده توسط:  سلام دوستان.
میشه برای من stack این سوال و نحوه فراخوانی توابع بازگشتیش را توضیح بدین؟ این سوال مربوط به توابع بازگشتی برای برج هانوی است

ممنون

سلام.گزینه ۳ صحیح است .باید بازگشت ها رو به صورت درختی بنویسی

میشه رو ۱ کاغذ مراحل حلتون را بنویسید بعد عکسشو برام بذارید؟
منم میدونم که باید بازگشت ها رو به صورت درختی بنویسم ولی این گزینه ۳ درنمیاد. مشکل من نحوه پرشدن استکه

۰
ارسال:
  

mfXpert پاسخ داده:

(کمک در حل تست) تابع بازگشتی مربوط به برج هانوی

شما برا حل این سوال کلا استک رو بزایدر کنار. شما کافیه مفهوم استک تو ذهنت باشه نه اینکه استک رو واقعا رو کاغد بکشید.



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  تست ۸۷ کامپیوتر مربوط به عامل ها Shekarchi_shab ۳ ۲,۵۳۲ ۲۰ بهمن ۱۴۰۱ ۰۷:۳۹ ب.ظ
آخرین ارسال: HamidReza1
  تابع مولد ss311 ۰ ۱,۴۹۱ ۲۶ اردیبهشت ۱۳۹۹ ۱۲:۴۹ ب.ظ
آخرین ارسال: ss311
  آخرین اخبار مربوط به مسابقات رباتیک کشوری javadjj ۲۴ ۲۲,۹۷۶ ۲۳ دى ۱۳۹۸ ۱۲:۵۶ ق.ظ
آخرین ارسال: marvelous
Star بهترین و پر درآمدترین شغل مربوط به کامپیوتر از نظر شما چیست؟ پشتکار ۶ ۱۳۲ ۱۴ آذر ۱۳۹۷ ۰۵:۱۴ ب.ظ
آخرین ارسال: jaweed88
  آیا امکان ارسال مجدد ایمیل مربوط به پذیرش مقاله در یک ژورنال isi وجود دارد؟ Autumngirl ۴ ۴,۲۴۷ ۱۱ مهر ۱۳۹۷ ۰۱:۲۱ ب.ظ
آخرین ارسال: Autumngirl
  درخواست(محاسبه پیچیدگی زمانی)(بخش روابط بازگشتی) Saman ۶ ۷,۵۲۴ ۲۷ خرداد ۱۳۹۷ ۰۳:۲۴ ب.ظ
آخرین ارسال: saeed_vahidi
  کدام گرایش به برنامه نویسی مربوط است؟ سیدرضا بازیار ۱ ۲,۶۴۶ ۰۹ اردیبهشت ۱۳۹۷ ۰۹:۰۵ ب.ظ
آخرین ارسال: kilookiloo
  تابع ورودی فلیپ فلاپ naghmeh70 ۳ ۳,۲۹۷ ۲۷ فروردین ۱۳۹۷ ۰۶:۵۹ ب.ظ
آخرین ارسال: عزیز دادخواه
  تابع منطقی naghmeh70 ۲ ۲,۷۲۹ ۲۷ فروردین ۱۳۹۷ ۱۱:۰۴ ق.ظ
آخرین ارسال: naghmeh70
  تابع خروجی pla naghmeh70 ۲ ۳,۳۱۱ ۲۱ اسفند ۱۳۹۶ ۰۱:۴۶ ق.ظ
آخرین ارسال: naghmeh70

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close