مراحل حل مسئله رایانه‌ای

از ویکی‌پدیا، دانشنامهٔ آزاد


مراحل حل مسئله رایانه‌ای[ویرایش]

حل مسئله یکی از توانایی‌های مهمی است که یک دانش‌آموخته کامپیوتر باید در دوران تحصیل خود کسب کند. توانایی حل مسائل مختلف توسط کامپیوتر؛ و هدف اصلی این مقاله آشنایی افراد با مراحل حل مسئله می‌باشد.

انتزاع[ویرایش]

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

الگوریتم و داده ساختار[ویرایش]

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

تحلیل[ویرایش]

در این مرحله باید الگوریتم را تحلیل کرد و زمان اجرا و حافظه مصرفی را تخمین زد؛ و اگر آنچه انتظار می‌رفت نبود باید الگوریتم و داده ساختارش را مورد تجدید نظر قرار داد و دوباره آن را تحلیل کرد.

برنامه کامپیوتری[ویرایش]

پس از نهایی شدن این مراحل می‌توان با استفاده از یک زبان برنامه‌نویسی مناسب و متناسب الگوریتم را پیاده‌سازی کرد.

شمای کلی[ویرایش]

  1. تعریف صورت مسئله به صورت جامع و دقیق (انتزاع)
  2. تعیین راه حل قدم به قدم (الگوریتم) برای حل مسئله
  3. تبدیل راه حل قدم به قدم یا الگوریتم به داده ساختار
  4. بررسی درستی (تحلیل)
  5. نوشتن یک برنامه با استفاده از یک زبان برنامه‌نویسی
  6. عیب‌یابی برنامه و اطمینان از صحت کارکرد

منابع[ویرایش]

  • داده ساختارها و مبانی الگوریتم‌ها/محمد قدسی/دانشگاه شریف/دانشکده کامپیوتر/۱۳۸۳
  • طراحی الگوریتم‌ها/ایس مورویتس/ چاپ دوم/ترجمه علیخان‌زاده/۱۳۸۵

سایت‌های مرتبط[ویرایش]

[۱]

[۲]