مراحل حل مسئله رایانهای
این صفحه نامزد انتقال به ویکیکتاب است. به نظر میرسد این مقاله دربرگیرنده یک نوشته کتابی است و دانشنامهای نیست. چون ویکیپدیا یک کتابخانه نیست، این صفحه باید به ویکیکتاب منتقل شود. |
مراحل حل مسئله رایانهای
[ویرایش]حل مسئله یکی از تواناییهای مهمی است که یک دانشآموخته کامپیوتر باید در دوران تحصیل خود کسب کند. توانایی حل مسائل مختلف توسط کامپیوتر؛ و هدف اصلی این مقاله آشنایی افراد با مراحل حل مسئله میباشد.
انتزاع
[ویرایش]یک مسئله دارای پارامترهای مختلفی است که باید همه آنها شناخته شده و پارامترهای زائد آن حذف شود. بهطوری که بتوان مسئله را به صورت یک مدل ساده از آن انتزاع کرد. برای یک مسئله سطوح مختلفی از انتزاع را میتوان تصور کرد و یک سطح از آن تبدیل مسئلهٔ واقعی به یک مدل ریاضی است.
الگوریتم و داده ساختار
[ویرایش]پس از تبدیل مسئله به یک مدل انتزاعی قابل حل باید الگوریتم مسئله را طراحی کنیم. این الگوریتم مشخص میکند که دادههای مسئله باید توسط چه ساختمان دادهای عرضه شوند و روی هر داده ساختار چه اعمالی صورت گیرد.
تحلیل
[ویرایش]در این مرحله باید الگوریتم را تحلیل کرد و زمان اجرا و حافظه مصرفی را تخمین زد؛ و اگر آنچه انتظار میرفت نبود باید الگوریتم و داده ساختارش را مورد تجدید نظر قرار داد و دوباره آن را تحلیل کرد.
برنامه کامپیوتری
[ویرایش]پس از نهایی شدن این مراحل میتوان با استفاده از یک زبان برنامهنویسی مناسب و متناسب الگوریتم را پیادهسازی کرد.
شمای کلی
[ویرایش]- تعریف صورت مسئله به صورت جامع و دقیق (انتزاع)
- تعیین راه حل قدم به قدم (الگوریتم) برای حل مسئله
- تبدیل راه حل قدم به قدم یا الگوریتم به داده ساختار
- بررسی درستی (تحلیل)
- نوشتن یک برنامه با استفاده از یک زبان برنامهنویسی
- عیبیابی برنامه و اطمینان از صحت کارکرد
منابع
[ویرایش]- داده ساختارها و مبانی الگوریتمها/محمد قدسی/دانشگاه شریف/دانشکده کامپیوتر/۱۳۸۳
- طراحی الگوریتمها/ایس مورویتس/ چاپ دوم/ترجمه علیخانزاده/۱۳۸۵