پس از آن که متوجه شدیم نرمافزار ما قرار است چه کاری انجام دهد و چه مشکلی از مشکلات کاربران را رفع نماید، حال میبایست گامهایی را تعریف کنیم تا با اجرای آنها یکی پس از دیگری، به سیستم دستور دهیم تا آن مشکل خاص را حل کند. این گامهای دقیقی که مشخص میکنند نرمافزار ما چگونه میبایست کار کند را اصطلاحاً الگوریتم می گویند. به عبارت دیگر، راه کارهای حل یک مسأله در برنامه نویسی را الگوریتم میگویند.
* واژهٔ «الگوریتم» (Algorithm) از نام دانشمند بزرگ ایرانی، محمد بن موسی خوارزمی گرفته شده است. در زبان لاتین، نام او به صورت «Algoritmi» نوشته میشد و به مرور زمان این واژه در زبانهای اروپایی به شکل «Algorithm» درآمد. امروزه این واژه به معنای مجموعهای از دستورالعملهای گامبهگام برای حل یک مسئله به کار میرود.

در واقع برای داشتن یک الگوریتم خوب، پیش از هر چیز می بایست بدانیم که نرمافزار ما قرار است چه کاری انجام دهد. سپس بایستی به سیستم دستور دهیم که آن کار یا کارها را به چه شکلی انجام دهد که این بخش دشوار کار است. در حقیقت، هرچه کارهایی که ما میخواهیم سیستم برای ما انجام دهد بیشتر و پیچیدهتر باشند، مسلماً تعداد خطهای کد بیشتری باید نوشته و برنامهی ما هم پیچیدهتر خواهد شد و نیاز به الگوریتم پیچیدهتری است.
به خاطر داشته باشید |
به نمود عینی یک الگوریتم که در آن کلیه ی مراحل انجام کار و دستوراتی که سیستم می بایست یکی پس از دیگری انجام دهد، فلوچارت گفته می شود. |
برای روشن شدن این مسأله مثالی می زنیم. یک الگوریتم ساخت نرمافزار خیلی شبیه به دستور پخت غذا است. برای ساخت ماکارونی، ما خیلی دشواری نخواهیم داشت. ابتدا آب را جوش می آوریم، سپس بستهی ماکارونی را داخل آن میریزیم و پس از چند دقیقه مایع ماکارونی را روی آن ریخته و غذا را سرو میکنیم اما در عین حال، برای ساخت خورشت قیمه ما کارهای به مراتب بیشتری باید انجام دهیم!