الگوریتم چیست؟

اگر بخواهیم یک توضیح ساده و روان در مورد الگوریتم دهیم باید بگویم الگوریتم روشی گام به گام برای حل مسئله است. به هر دستورالعملی که مراحل انجام دادن کاری را با زبانی دقیق و با جزئیات کافی بیان نماید، به طوری که ترتیب مراحل و شرط خاتمۀ عملیات در آن کاملاًمشخص شده باشد، الگوریتم گویند. 

برای حل هر مسئله باید :

  • مسئله را به طور شفاف شرح دهید.
  • در صورت نیاز، مسئله را به چند مسئله کوچکتر تقسیم کنید.
  • برای هر زیرمسئله راه حل مرحله به مرحله ایجاد کنید.

ویژگی‌های الگـــوریتم

استفاده از زبان ساده، دقیق و قابل فهم: این ویژگی سبب می شود تا در انجام دستورالعمل ها همواره یک برداشت یکسان حاصل شود، در غیر این صورت برداشت های متفاوت سبب خواهد شد تا دستورالعمل ها نتایج متفاوتی را به وجود آورند. زبان الگوریتم نیز می تواند یکی از زبان های گفتاری و نوشتاری مانند فارسی، انگلیسی و … باشد.

استفاده از جزئیات کافی: این ویژگی سبب می شود تا دستورالعمل ها به طور کامل اجرا شوند. وجود موارد نامشخص یا ارائه دستورالعمل ها به صورت کلی و مبهم سبب مخدوش شدن نتایج خواهد شد.

ترتیب انجام دستورالعمل ها: یکی از ویژگی های مهم یک الگوریتم است؛ اگر این کار به درستی انجام نشود، پیش بینی نتیجه کار مشخص نخواهد بود. در یک الگوریتم ترتیب انجام عملیات با استفاده از شماره گذاری دستورالعمل ها از بالا به پایین انجام می شود که البته در صورت نیاز می توان ترتیب اجرای دستورالعمل ها را نیز تغییر داد.

شروع و پایان الگوریتم: در یک الگوریتم باید شروع دستورالعمل ها مشخص باشد. هر الگوریتم یک نقطه شروع دارد که به عنوان اولین دستورالعمل از آن استفاده می شود، به علاوه پایان الگوریتم نیز باید تعیین شود. به هر حال الگوریتم باید در زمانی دلخواه و تحت شرایطی یا شرایط داده شده خاتمه پذیرد. یک الگوریتم می تواند بیش از یک نقطه پایان داشته باشد.

مثال: برای اینکه درک بهتری نسبت به الگوریتم داشته باشید یک مثال میزنیم تا کامل متوجه شوید الگوریتم چه جوری کار می کند، الگوریتم استفاده از تلفن را شرح میدهیم:

  • شروع کن
  • گوشی تلفن را بردار
  • صبر کن تا صدای بوق آزاد را بشنوی
  • شماره مورد نظر را بگیر
  • صحبت کن
  • گوشی را در محل قرار بده
  • پایان عملیات

فلوچارت چیست؟

بیان تصویری الگوریتم به کمک مجموعه ای استاندارد از اشکال ساده را فلوچارت یا نمودار گردشی می گویند، برای بیان مراحل حل مسائل از چند جمله استاندارد و کلی استفاده می شود، حال با دسته بندی این جملات و انتساب هر دستور به یک شکل می توان الگوریتم را از حالت نوشتاری به حالت تصویری تبدیل کرد. فلوچارت به مجموعه ای از علایم تصویری ساده که الگوریتم را به شکل نمادهای تصویری یا نموداری بیان می کنند فلوچارت گفته می شود. رسم فلوچارت درک الگوریتم را آسان تر کرده و نوشتن برنامه را بسیار ساده تر می کند.در واقع یکی از روش های برقراری ارتباط منطقی، بین مراحل مختلف حل مسأله فلوچارت است.

فلوچارت، متشکل از اشکال قراردادی است و هر یک از این اشکال دارای مفهوم خاصی می باشند که با مشاهده فلوچارت توسط افرادمختلف، استنباط های گوناگون صورت نمی گیرد. همچنین برای مسائل پیچیده و طولانی بهتر است از فلوچارت استفاده شود چرا که دنبال کردن مجموعه عملیات مورد نیاز برای حل یک مسأله آسان تر بوده و برنامه نویس از روی فلوچارت به راحتی می تواند برنامه را پیاده سازی کند.

انواع فلــــــــــوچارت:

استرنکرت در سال ۲۰۰۳ میل‍ادی این‌نکته را مطرح کرد که فلوچارت‌ها از دیدگاه گروه‌های مختلف کاربران، به‌طور مثال، کارمندان، مدیران یا تحلیلگران، ممکن است متفاوت باشند و به همین دلیل ۴ دستهٔ کلی وجود دارد:

  • فلوچارت مستندات
  • فلوچارت داده‌ها
  • فلوچارت سامانه‌ها
  • فلوچارت برنامه‌ها

اجزای نمودار عبارت‌اند از:

  • شروع و پایان
  • ترتیب
  • محاسبات
  • شرط ها
  • ورودی داده ها
  • چاپ و نمایش داده ها

 فلوچارت و الگوریتم Flowgorithm