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