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

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

ارسال:
  

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 پاسخ داده:

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

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



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  سوال تالیفی از برج های هانوی - کتاب پوران MSZ ۳ ۱,۵۷۸ ۲۷ شهریور ۱۳۹۱ ۱۰:۲۸ ب.ظ
آخرین ارسال: Marcel
  سوال از بازگشتی Aurora ۷ ۳,۲۰۱ ۱۷ شهریور ۱۳۹۱ ۱۱:۴۰ ب.ظ
آخرین ارسال: azad_ahmadi
  ساختمان(برج هانوی) jameshenas ۸ ۱,۹۶۸ ۲۹ تیر ۱۳۹۱ ۰۷:۵۵ ب.ظ
آخرین ارسال: jameshenas
Lightbulb درخواست راهنمایی در حل رابطه بازگشتی - rasool - ۵۱ ۵,۴۸۴ ۲۴ بهمن ۱۳۹۰ ۰۷:۱۷ ق.ظ
آخرین ارسال: sasanlive
Lightbulb روابط بازگشتی دو متغیره - rasool - ۳ ۱,۹۷۵ ۰۶ دى ۱۳۹۰ ۰۵:۲۷ ب.ظ
آخرین ارسال: homa
  یه سوال بازگشتی از قضیه اصلی پشتکار ۱۱ ۳,۳۳۷ ۰۹ آبان ۱۳۹۰ ۱۲:۱۲ ق.ظ
آخرین ارسال: sasanlive
Smile حل رابطه بازگشتی Mojtaba ۹ ۲,۲۱۴ ۰۶ آبان ۱۳۹۰ ۱۱:۰۵ ب.ظ
آخرین ارسال: - rasool -
  جواب رابطه بازگشتی زیر چیست؟ پشتکار ۷ ۲,۲۴۴ ۲۸ مهر ۱۳۹۰ ۱۱:۲۸ ق.ظ
آخرین ارسال: si.mozhgan
  حل یه رابطه بازگشتی و نکته مهم آن پشتکار ۴ ۲,۲۵۴ ۲۵ مهر ۱۳۹۰ ۱۱:۵۲ ب.ظ
آخرین ارسال: ahmadi_development
Question سوال از روابط بازگشتی livane_abi ۱۲ ۵,۵۱۵ ۱۹ مهر ۱۳۹۰ ۰۷:۲۱ ب.ظ
آخرین ارسال: Masoud05

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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