طراحی الگوریتم برای مسئله :
الگوریتم ها برای حل مسئله نوشته میشوند . مشکل ترین بخش حل مسئله ، طراحی الگوریتم برای آن است . در طراحی الگوریتم ، ابتدا تمام مراحل کلی انجام کار را مشخص میکنیم و با حل هر مرحله اصلی ، کل مسئله حل می شود . تقریبا تمام الگوریتم ها مراحل زیر را دارا هستند :
1- خواندن داده ها
2- انجام محاسبات
3- چاپ نتایج
هر مرحله از الگوریتم با بررسی دقیق ممکن است به بخشهای کوچکتری نیز تقسیم شود . به عنوان مثال ، مرحله انجام محاسبات یک مرحله کلی است که با پرداختن به مسئله ، به روابط ریاضی تبدیل می شود که مسئله را حل می کند . اصولا برای حل یک مسئله و طراحی الگوریتم برای آن ، موارد زیر باید مشخص شوند :
1- تعریف دقیقی از مسئله جهت مشخص کردن نیازمندیهای آن
2- ورودی های مسئله
3- خروجی های مسئله
4- بررسی راه حل های مختلف مسئله
5- رابطه بین ورودی ها و خروجی های مسئله
6- انتخاب یک راه حل مناسب و تهیه الگوریتم برای آن راه حل
7- اشکال زدایی و رفع اشکال الگوریتم
برای آشنایی با حل یک مسئله و طراحی الگوریتم آن ، مثالی را در نظر میگیریم :
دانشگاهی برای هر ترم شهریه ثابتی که در طول تحصیل دانشجو است دریافت می کند .
اگر میزان شهریه ثابت مشخص باشد ، دانشجو در مدت 4 ترم چه مبلغی باید پرداخت کند؟؟
ورودی های مسئله : میزان شهریه ثابت برای هر ترم
خروجی های مسئله : مبلغ شهریه ثابت پرداختی در ازای 4 ترم ( یعنی مبلغ کل )
رابطه بین ورودی ها و خروجی های مسئله :
4 × شهریه ثابت ترم = مبلغ کل
در این مثال ، تشخیص ورودی ، خروجی و رابطه بین آنها خیلی ساده است ولی ممکن است همیشه به این سادگی ها نباشد و مستلزم فرض ها و تسهیلات خاصی باشد .