خرید فالوور اینستاگرام خرید لایک اینستاگرام
مطالب داغ
خانه » دسته‌بندی نشده » الگوریتم چیست؟ مثال‌هایی ساده از الگوریتم در زندگی روزمره!

الگوریتم چیست؟ مثال‌هایی ساده از الگوریتم در زندگی روزمره!

یکی از راه‌های حل مسئله استفاده از روش‌های ریاضی و منطقی است، این روش برای نخستین بار توسط خوارزمی (دانشمند ایرانی) مورد توجه قرار گرفت، حال اساس اجرای بسیاری از برنامه‌های کامپیوتری روش خوارزمی است، نام الگوریتم نیز به احترام این دانشمند و از کلمه‌ی الخوارزمی گرفته شده است.

در این مقاله قصد داریم تا به طور مفصل با الگوریتم و چگونگی نوشتن آن آشنا شویم، همچنین در ادامه مثال‌هایی عینی از استفاده‌ی الگوریتم در زندگی روزمره را با هم بررسی می‌کنیم، این موارد به شما کمک می‌کند خیلی راحت با مفهوم الگوریتم آشنا شده و طریقه‌ی نوشتن آن‌را به سادگی درک کنید، پس از آن به چند نمونه از الگوریتم‌هایی که در دنیای ریاضی کاربرد دارند می‌پردازیم و در انتها نیز با چند مورد از الگوریتم‌های پر استفاده و معروف در علم کامپیوتر آشنا می‌شویم.

همانطوری که گفته شد، اساس اجرای بسیاری از برنامه‌ها الگوریتم میباشد، طرح اصلی خیلی از نرم‌افزار‌هایی که درحال استفاده از آن‌ها هستیم ابتدا توسط الگوریتم و فلوچارت (روندنما) ایجاد و سپس به برنامه و درنهایت به زبان کامپیوتر تبدیل میشود، بنابراین اگر میخواهید برنامه نویس خوبی شوید و از پس حل مسائل مختلف برآیید باید به خوبی با مفهوم الگوریتم آشنا بوده و بتوانید طرح و ایده‌ی خود را در قالب الگوریتم و فلوچارت پیاده‌سازی کنید، در ادامه با پرانت همراه باشید تا با هم با مفهوم الگوریتم آشنا شویم و بدانیم چگونه باید ایده خود را به برنامه تبدیل کنیم!

شاید با دیدن تصویر بالا پیش خود فکر کنید که میخواهیم برای شروع برنامه‌نویسی شما را با تعداد زیادی محاسبات ریاضی گیج کننده درگیر کنیم، باید بگوییم که اصلا اینطور نیست! برای شروع احتیاجی به این محاسبات پیچیده نداریم، هرچند که باید بدانیم اساس کار برنامه‌های کامپیوتری بر مبنای همین محاسبات پیچیده است!

 

راه حل مسائل پیچیده و بزرگی که سر راه یک برنامه نویس پیش می‌آیند، تسلط بر الگوریتم‌ها می‌باشد؛ زیرا با نوشتن یا تصور یک الگوریتم می‌توان بر تمام مسائل غلبه کرد.

برای نوشتن یک الگوریتم مناسب باید سه عامل اصلی را در صورت مسئله شناسایی کنیم:

  • مقادیر معلوم: اطلاعاتی که در اختیار ما قرار داده شده و باید به کمک آن‌ها به حل مسئله بپردازیم (داده‌ها)
  • خواسته‌های مسئله: نتایجی که در اثر انجام محاسبات بر روی داده‌های مسئله حاصل می‌شود (مقادیر مجهول)
  • عملیات محاسباتی: دستورات و روابط منطقی که برای رسیدن به خواسته‌های مسئله بر روی داده‌ها و مقادیر مجهول انجام میشود.

به عنوان مثال فرض کنید وزن مقداری سیب و قیمت هر کیلوگرم از آن به ما داده شده است، از ما خواسته میشود قیمت کل سیب‌ها را محاسبه کنیم.

 

در این مثال:

داده‌ها: وزن سیب‌ها (W) و قیمت هر کیلوگرم سیب (P)
خواسته‌ها: محاسبه‌ی قیمت کل سیب‌ها (T)
عملیات محاسباتی: قیمت کل = وزن سیب‌ها * قیمت هر کیلوگرم

مراحل حل مسئله به صورت زیر است:
T=W×P

الگوریتم چیست؟

الگوریتم مفهومی است که مسائل را با استفاده از دستورالعمل‌های پشت سرهم و به کمک تحلیل‌های ریاضی و منطقی مورد بررسی قرار داده و راه حل مناسبی برای آن ارائه می‌کند، الگوریتم به ما کمک میکند مراحل حل مسئله را به زبان رایانه نزدیک‌تر کرده و در نهایت آن را به کدهای قابل فهم کامپیوتر تبدیل کنیم.

حال بیایید یک نمونه الگوریتم که مطمئنا بسیاری از ما تا به‌حال طبق آن عمل کرده‌ایم را به هم بررسی کنیم.

به عنوان مثال فرض کنید میخواهیم مراحل رفتن به دانشگاه را به صورت مرحله به مرحله بنویسیم!

  1. شروع
  2. بیدار شدن از خواب
  3. شستن دست و صورت
  4. خوردن صبحانه
  5. پوشیدن لباس مناسب
  6. برداشتن وسایل مورد نیاز (کتاب و …)
  7. خروج از خانه
  8. رفتن به دانشگاه
  9. ورود به کلاس
  10. پایان

چیزی که واضح است این دستورات باید به ترتیب انجام شوند، در غیر این‌صورت امکان بروز خطا وجود دارد، الگوریتم‌های کامپیوتری نیز به همین صورت هستند، در صورتی که ترتیب اجرای دستورات آن‌ها به درستی در نظر گرفته نشود احتمال تولید خروجی نامعتبر بسیار بالا خواهد رفت.

 

نکات مهمی که باید در نوشتن الگوریتم به آن‌ها توجه داشته باشید

رعایت این موارد برای نوشتن یک الگوریتم صحیح لازم و ضروری است:

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

به یاد داشته باشید، نمادهای ریاضی که از آن‌ها برای حل الگوریتم استفاده میکنید باید در صفحه کلید رایانه شما نیز وجود داشته باشند! خیلی از نمادهای ریاضی (مانند خط کسری، توان و…) را نمیتوانید بر روی کیبرد خود بیابید در نتیجه اجازه ندارید برای نوشتن الگوریتم از آن‌ها استفاده کنید.

فرض کنید میخواهید عبارت زیر را به صورت قابل فهم برای رایانه (به صورت الگوریتم) بنویسید:

شما نمیتوانید این عبارت را با استفاده از کیبرد رایانه‌ی خود بنویسید، در نتیجه باید آن را به صورت زیر ایجاد کنید:

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

 

برخی از الگوریتم‌های معروف در علم کامپیوتر

این موارد الگوریتم‌های معروفی از دنیای رایانه‌ها هستند که در پشت پرده‌ی بسیاری از نرم‌افزارهای امروزی مورد استفاده قرار گرفته‌اند:

  • الگوریتم‌های مرتب‌سازی
  • الگوریتم‌های حریصانه
  • الگوریتم کراسکال و دایجکسترا
  • الگوریتم‌های تقسیم و غلبه
  • و…

در پایان این آموزش شما باید مهارت‌های زیر را کسب کرده باشید:

  • با مفهوم الگوریتم و کاربرد آن آشنا شده باشید.
  • بتوانید برای حل مسائل الگوریتم مناسب را ارائه دهید.

برای درک بهتر این آموزش تمرین‌های زیر را انجام دهید:

  1. داده‌ها و خواسته‌های مسلئه برای حل یک معادله‌ی درجه ۲ را بنویسید.
  2. مراحل پخت کیک را به صورت الگوریتم مرحله به مرحله بنویسید.
  3. فرض کنید طول (L)، عرض (W) و ارتفاع (H) یک مکعب مستطیل به شما داده شده و حجم آن (V) را از شما میخواهند، نحوه حل این مسئله را به صورت مرحله به مرحله بنویسید.

مطلب پیشنهادی

مفهوم واژه شبکه چیست ؟

مفهوم واژه شبکه چیست ؟

مفهوم واژه شبکه چیست ؟ دیگه الان کسی نیست که واژه « شبکه کامپیوتری » …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

3 × چهار =

Time limit is exhausted. Please reload the CAPTCHA.