الگوریتم Algorithm
الگوریتم یا Algorithm چیست؟
الگوریتم (Algorithm) به مجموعهای متناهی از اعمال گام به گام اطلاق میشود که هدفی معین را دنبال میکنند.
فرایندی که توسط یک Algorithm انجام میشود میتواند شامل یک ضرب ساده یا عملی پیچیده نظیر تولید یک میلیون رقم از عدد پی باشد. الگوریتمها میتوانند ورودی داشته باشند یا نداشته باشند اما باید حداقل یک خروجی داشته باشند. به علاوه باید دقیق و بی ابهام باشند و شروع و پایانی مشخص داشته و پس از طی مراحلی متناهی پایان یابد. گفتنی است ترتیب انجام گامهای یک الگوریتم نیز مهم میباشد لذا اگر دستورالعملها (اعمال) را به صورت یک لیست در نظر بگیریم باید این اعمال از بالا تا پایین لیست به ترتیب اجرا شوند.
به طور کلی میتوان تفاوت یک برنامه (Program) و الگوریتم را در این موضوع دانست که ممکن است یک برنامه هیچ نقطه پایانی نداشته باشد.
لازم به ذکر است این واژه از نام الخوارزمی ریاضیدان، منجم و جغرافیدان ایرانی گرفته شده است. برای بیان یک الگوریتم، روشهای مختلفی وجود دارد که از مهمترین آنها میتوان به زبان طبیعی، شبه کد و فلوچارت اشاره نمود. در زبانهای برنامه نویسی نیز الگوریتمها به شکلی بیان میشوند که توسط یک رایانه قابل اجرا باشد.
به عنوان مثال، الگوریتمی را در نظر بگیرید که اعداد زوج و فرد موجود در بازهی بسته 1 تا 100 را تشخیص میدهد. اگر به زبان طبیعی این الگوریتم را بیان کنیم میتوانیم گامهای زیر را برای آن در نظر بگیریم:
گام اول: اولین عدد (1) را انتخاب کن.
گام دوم: عدد انتخاب شده را بر 2 تقسیم کن.
گام سوم: اگر باقیمانده تقسیم برابر با صفر باشد عدد انتخاب شده زوج است در غیراینصورت عدد انتخابی فرد است.
گام چهارم: اگر عدد کنونی کمتر از 100 بود عدد بعدی را انتخاب کن و به گام دوم برو.