الگوریتم در برنامه نویسی چیست ؟
الگوریتم به معنی فرآیندی است که طی آن یک مسئله بصورت مرحله به مرحله حل میشود . خیلی از افراد که قصد یادگیری برنامه نویسی را دارند ابتدا این سوال را میپرسند که الگوریتم چیست و چرا باید آنرا یاد بگیرم ؟
در ویدیو IGTV امروز در صفحه ی رسمی اینستاگرام آواسام ، مهندس نیک زاد در یک ویدیو بصورت کامل درباره ی الگوریتم صحبت کرده اند و این موارد را بصورت کامل بیان کرده اند که پیشنهاد میکنیم از طریق لینک زیر به ویدیو رفته و آنرا به صورت رایگان تماشا کنید:
برای مشاهده ویدیو مربوط به الگوریتم های برنامه نویسی اینجا کلیک کنید |
مبانی اولیه الگوریتم های کامپیوتری
برای درک بهتر برنامه نویسی کامپیوتر ابتدا باید یاد بگیریم که الگوریتم های کامپیوتری چیست و چطور کار میکنند. فرض کنید شما در یک نرم افزاری مثل فتوشاپ یک تصویر را باز میکنید و روی آن تصویر ادیت های مختلفی را انجام میدهید تمام کارهایی که شما توسط ماوس و کیبورد به کامپیوتر اعلام میکنید تا روی تصویر انجام بگیرد دارای یک الگوریتم است که آن کارها را عملی میکند و بدون الگوریتم عاملا هیچ عملیاتی در کامپیوترها انجام نمیگیرد.
از ساده ترین عملیات مثل جمع بستن دو عدد تا پیچیده ترین کارها مثل پردازش تصویر همگی توسط یک الگوریتم انجام میگیرد که توسط برنامه نویس آن طراحی و پیاده سازی شده است.
زبان های برنامه نویسی ابزارهایی هستند که فقط الگوریتم شما را به کامپیوتر میفهمانند و در حقیقت بدون الگوریتم ، هیچ زبان برنامه نویسی کاربرد ندارد.
تاریخچه ی الگوریتم
الگوریتم برگرفته از نام دانشمند ایرانی به نام خوارزمی است که در یک کتابی به شیوه ی حل مسائل پرداخته است . در آن زمان ها کامپیوتر و برنامه نویسی نبوده است و به احتمال زیاد خوارزمی الگوریتم را برای ریاضیات و نجوم استفاده میکرده است که امروزه بیشترین کاربرد الگوریتم در برنامه نویسی کامپیوتر است.
بعدها دانشمندان اروپایی و غربی با استفاده از کتاب ها و شیوه های خوارزمی روشی را به دست آوردند که آنرا الگوریتم مینامیدند و الگوریتم برگردانی از نام خوارزمی میباشد.
الگوریتم ها در طی تاریخ کامپیوتر دچار تغییر و تحول های زیادی شدند و در همه ی زمینه ها اعم از الکترونیک و هوش مصنوعی نیز نفوذ کردند و صنعت رباتیک توسط الگوریتم های مختلف متحول شده است.
یکی از زیباترین الگوریتم ها که کاربرد زیادی در بحث هوش مصنوعی دارد الگوریتم های ژنتیک است که جزو بحث های بسیار پییچده ی الگوریتم هاست.
الگوریتم های فراوانی وجود دارد به نام الگوریتم های جستجو که برای حل مسائل مختلف کامپیوتری کاربرد دارد که کتاب ها و مثال های بسیاری برای درک عمیق الگوریتم های جستجو نوشته شده است.
کتاب هنر برنامه نویسی کامپیوتر اثر دونالد اروین نات
در این ویدیو مهندس نیکزاد یک کتابی به نام هنر برنامه نویسی کامپیوتر یا با نام اصلی the art of computer programming که توسط دکتر دونالد اروین نات نوشته شده است و یکی از بهترین کتاب های در زمینه ی علوم کامپیوتر است.
در این کتاب تفسیر کاملی از الگوریتم های مختلف برنامه نویسی نوشته شده است و بسیاری از این الگوریتم ها پیچیده هستند و کاربرد های فراوانی در صنعت کامپیوتر داشته اند.
تمام مثال های این کتاب به زبان اسمبلی که یک زبان برنامه نویسی سطح پایین است نگاشته شده است.
شبه کد یا Pseudocode ها چیست ؟
در کتابی که در قسمت بالا معرفی کردیم مثال های این کتاب به زبان اسمبلی درون کتاب آورده شده است ولی در بسیاری از کتاب های آموزشی علوم کامپیوتر مثال ها با یک سری کد هایی معرفی میشود که ان کد ها در هیچ یک زبان های برنامه نویسی کاربرد ندارد و فقط جنبه ی بیان مثال درون کتاب هاست.
یعنی سینتکس آن نوشته مطابق با هیچ یک زبان های برنامه نویسی واقعی مثل جاوا و سی و پایتون و ... نیست.
به این نوع کد ها که معمولا به همراه خود راهنما هم دارند و درون کتاب ها هستند شبه کد یا Pseudocode گفته میشود.
معرفی رشته ی تحصیلی الگوریتم ها و محاسبات در دانشگاه
بحث الگوریتم های کامپیوتر به قدی پیشرفت کرده است که هم اکنون در دانشگاه های معتبر در مقطع کارشناسی ارشد یک رشته به نام الگوریتم ها و محاسبات قرار گرفته است.
این رشته ادامه ی رشته ی مهندسی کامپیوتر هست که بصورت تخصصی به بحث الگوریتم ها و محاسبات میپردازد که یکی از زمینه های کامپیوتر و برنامه نویسی است.
تعریف جامع الگوریتم و فلوچارت و کاربرد
الگوریتم فرآیندی است که طی آن یک مسئله بصورت مرحله به مرحله حل میشود و در نهایت توسط آن به هدف میرسیم.
فلوچارت طرحی است از اشکال هندسی برای بیان بهتر و واضحتر الگوریتم نوشته شده بصورتی که بجای نوشته های الگوریتم از اشکال هندسی مثل مربع و دایره و مثلث و ... استفاده میشود.
برای مشاهده ویدیو مربوط به الگوریتم های برنامه نویسی اینجا کلیک کنید |
مقالات دیگر مرتبط با این مقاله ی آموزشی :
چطور برنامه نویسی را شروع کنیم ؟ ( راهنمای کامل ) لینک های فالو (follow) در مقابل لینک های نوفالو (nofollow) در سئو سایت پکیج منیجر های زبان پایتون 5 روش برای ساخت اپ دسکتاپ با پایتون ۷ تمرین عالی درباره ی لاراول که باید بدانیددوره های آموزشی مرتبط با این مقاله :
سلام خیلی خوب و کاربردی بود با تشکر از استاد نیکزاد عزیز که این مقاله و ویدیو رو ایجاد کردن خیلی ها میپرسن که کاربرد الگوریتم توی برنامه نویسی چیه اما اگه این مقاله رو بخونن و واقعا اگه کمی عمیق تر به برنامه نویسی ای که میکنیم فکر کنیم میفهمیم خیلی کاربرد داره و خودم این رو به چشم دیدم با تشکر از آواسام و زحماتی که کشیدند
سلام بر استاد نیکزاد گرانقدر و گرامی ویدیو شما درباره ی الگوریتم در برنامه نویسی دیدم و خیلی لذت بردم ممنون از زحمتی که کشیده اید بسیار عالی بود