وبلاگ آموزشی ثناالله خیری

ویژه علاقمندان علوم و مهندسی کامپیوتر

وبلاگ آموزشی ثناالله خیری

ویژه علاقمندان علوم و مهندسی کامپیوتر

وبلاگ آموزشی ثناالله خیری

اینجانب ثناالله خیری(ملقب به Sasan Ace)، موسس و مدیرعامل هلدینگ پاراتاپیک هستم
(شرکت صنایع فناوری آرکا بنیان نادین با شماره ثبت ۱۹۴۳۱)

💍متاهل و خوشبخت با💚همسر بزرگوارم که تمام زندگیمه💚

هدف اصلی محتوای این وبلاگ، ارائه محتوای تخصصی و کاملا اصیل در حوزه علوم و مهندسی کامپیوتر می باشد که همه مطالب حاصل تجربه شخصی و ساعت ها مطالعه، پژوهش و برنامه نویسی عملی، تالیف کتب و جزوات درسی و تدریس به صدها دانشجو در سراسر کشور بوده تا بار سنگین آموزش مهندسی کامپیوتر از دوش اساتید بزرگوار، همکاران و دانشجویان عزیز، اندکی کاسته شود،
و موانست با مفاهیم بغرنج ریاضی و کامپیوتری تسهیل شود.
لذا انتشار هر یک از مطالب این وبلاگ بدون پیوند به این وبلاگ و ذکر نام نویسنده(عمدا یا سهوا)،به دور از اخلاق کاری است.

برای بازدید از محتواهای بیشتر، میتوانید با آی دی sasanace@ در ❤️اینستا❤️ و 💙تلگرام💙 در ارتباط باشید.🙏

تبلیغات
Blog.ir بلاگ، رسانه متخصصین و اهل قلم، استفاده آسان از امکانات وبلاگ نویسی حرفه‌ای، در محیطی نوین، امن و پایدار bayanbox.ir صندوق بیان - تجربه‌ای متفاوت در نشر و نگهداری فایل‌ها، ۳ گیگا بایت فضای پیشرفته رایگان Bayan.ir - بیان، پیشرو در فناوری‌های فضای مجازی ایران
طبقه بندی موضوعی
نویسندگان

شاید یکی از مهم ترین و مشهور ترین مساله در جهان علوم و مهندسی کامپیوتر که دانشجویان مقاطع کارشناسی اولین بار با آن روبرو می شوند همین مساله برج های هانوی است که نخستین بار یک ریاضیدان فرانسوی به نام لوکاس آن را ابداع کرده و هانوی هم پایتخت کشور ویتنام است و اعتقاد بر این بود که اگر بتوان دیسک ها را از برج نخست به برج سوم (با کمک برج میانی) انتقال داد، دنیا به پایان می رسد(یه چرت و پرتی مثل اعتقاد قوم مایای احمق به عدد 2012 😂)

خب بریم سر اصل مطلب

آماده ؟؟

بزن بریم

ابتدا برای مشاهده تصویر برج ها و دیسک ها اینجا  کلیک کنید تا بهتر ادامه مطالب را دنبال کنین

هدف مساله : انتقال تمام دیسک های برج A به برج C با کمک برج میانی (‌‌‌B) ، به نحوی که در هیچ یک از مراحل انتقال، در هیچ یک از برج ها ، دیسک بزرگتر روی دیسک کوچک تر قرار نگیرد

شرط اولیه معما : دیسک ها در اول بازی ، از بالا به پایین بصورت صعودی (کوچک به بزرگ) مرتب شده اند.

معلومات معما : تعدا دیسک ها به علاوه نکات بالا

مجهول : تعداد و ترتیب انتقال دیسک ها بین برج ها

روش حل : 

1. فرض کنیم تنها یک دیسک داریم در ابتدا، خب معلوم است آن را از مبدا به مقصد منتقل میکنیم

2. حال اگر تعداد دیسک ها بیش از یک عدد باشند چه کار کنیم ؟

1.2. ابتدا پایین ترین دیسک را نادیده گرفته و سپس بالاترین را به برج وسط منتقل میکنیم (با کمک برج مقصد) یعنی زیر آن را نیز به مقصد منتقل میکنیم

2.2. گام قبلی را با دستور چاپ در صفحه نمایش به کاربر نشان می دهیم

3.2. دوباره چون یک دیسک از برج مبدا کم شده، باز هم یکی از آنها را نادیده میگیریم تا بتوان دیسک موجود در برج میانی را به مقصد برسانیم


به همین ترتیب ادامه میدهیم(بازگشتی با حذف دیسک ها از برج مبدا) تا فقط یک دیسک باقی بماند که تکلیف آن هم واضح است.



 خب استثنا کد ها سی پلاس پلاس اش رو براتون برعکس سایر پست ها میزارم که تنها دلیلش اهمیت مساله و نیز چالش برانگیز بودن مساله است ولی دلیل مهم ترش، نمایش ارتباط الگوریتم بازگشتی با فراخوانی تابع درون خودش می باشد


در کد زیر لازم به ذکر است که عبارت nDisk تعداد کل دیسک ها، start همان A یا هر نام دلخواه برای برج مبدا است

temp همان B یا هر نام دلخواه برای برج میانی است

finish همان C یا هر نام دلخواه برای برج مقصد است


void hanoi (int nDisk, char start, char temp, char finish)

{

  if (nDisk == 1)

  cout <<start <<" --> " <<finish <<endl;

  else

  {

  hanoi (nDisk - 1, start, finish, temp);

  cout <<start <<" --> " <<finish <<endl;

  hanoi (nDisk - 1, temp, start, finish);

  }

}

*******************************************************************
برای دانلود بازی معمای هانوی نیز لینک زیر منتظر کلیک و نیز نظرات دلگرم کننده شماست
*******************************************************************
                                 👇👇👇👇👇 

Download Release version 1.0 Hanoi Solver Bot  x64 bit

نظرات  (۱)

واقعا عالی بود - خداقوت - اینجارو سیو کردم که دفع بعدم بیام

سایت کانون خرد آموزشی و فرهنگی انجمن کنکور کانون خرد


بخش کنکور کانون خرد | بخش روانسناسی کانون خرد | بخش مذهبی کانون خرد | بخش اجتماعی کانون خرد | بخش ورزشی کانون خرد | بخش دانشگاهی کانون خرد | بخش دانش آموزی کانون خرد | بخش داستان کوتاه کانون خرد | بخش رمان کانون خرد | بخش کودکان کانون خرد | بخش تکنولوژی کانون خرد | بخش خودرو کانون خرد | بخش گردشگری کانون خرد | بخش تجربه کانون خرد | بخش زناشویی کانون خرد | بخش آموزشی کانون خرد | بخش هنر کانون خرد | بخش غذا کانون خرد | بخش تناسب اندام کانون خرد | بخش انگیزشی کانون خرد | بخش زیبایی کانون خرد | بخش اختراع کانون خرد | بخش تبلیغات کانون خرد | بخش حیوانات کانون خرد | بخش استخدام کانون خرد | بخش سالمندان کانون خرد | بخش گیاهان کانون خرد | بخش نجوم کانون خرد | بخش درمانی کانون خرد | بخش متافیزیک کانون خرد | بخش جنسی کانون خرد | بخش فینگر فود کانون خرد | بخش فال آنلاین کانون خرد | آشنایی با فروشگاه کانون خرد ماندگار ایران

پاسخ:
سلام دوست گرامی

نظر لطف شما بود

ما هم تمام سعی مان را میکنیم تا به نحو احسن به وظیفه مان که نشر دانش به عنوان زکات علم است عمل کنیم

و نیز سعی شده تا تمام کد ها را ننویسیم و به جای آن راهنمایی کنیم تا خلاقیت دانشجو در روند یادگیری حل مساله از میان نرود و واقعا ماهیگیری آموزش دهیم نه اینکه صرفا ماهی برایشان صید کنیم
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی