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