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


