سفارش تبلیغ
صبا ویژن

حل مسائل نرم افزاری به زبان خیلی ساده(1)

نظر


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

حل مسائل نرم افزاری به زبان خیلی ساده(1)

مسئله

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

 

تحلیل

تحلیل مسئله یعنی:

الف) ورودی های مسئله، یا داده هایی که باید با آنها کار کنید.

ب) خروجی های مسئله، که نتایج حاصل از حل سوال هستند

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

اگر مراحل اول و دوم صحیح انجام نشوند، مسئله را اشتباه حل خواهید کرد.

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

به مثال زیر توجه کنید. مسئله معروف پرتقال فروش!

با فرض اینکه وزن تعدادی  پرتقال خریده شده مشخص باشد و همچنین قیمت هر کیلوگرم پرتقال را بدانیم، مبلغی که برای پرداخت قیمت پرتقال ها باید پرداخت شود چقدر است؟

این مسئله بسیار ساده است. شاید بخندید ولی بدانید در تمام مسئله اگر توانستید ورودی ها و خروجی ها را پیدا کنید حل مسئله به آسانی همین سوال خواهد بود.

حل مسائل نرم افزاری به زبان خیلی ساده(1)

ورودی های مسئله

میزان پرتقال خریداری شده (بر حسب کیلو گرم)

قیمت هر کیلوگرم پرتقال (بر حسب ریال)

 

خروجی مسئله

قیمت کل پرتقال ها (بر حسب ریال)

وقتی ورودی و خروجی مسئله را شناختید، فرمول هایی بنویسید که نمایانگر ارتباط آنها باشند.

همان طور که می دانید فرمول کلی زیر قیمت کل هر جنس خریداری شده را محاسبه می کند:

تعداد واحدها * قیمت یک واحد = قیمت کل

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

حل مسائل نرم افزاری به زبان خیلی ساده(1)

طراحی

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

در طراحی بالا به پایین ( که تکنیک تقسیم و حل نیز نامیده می شود) ابتدا مراحلی که برای حل مسئله از سایر مراحل مهمتر هستند را باید بنویسید، سپس با حل هر یک از این مراحل، مسئله اصلی را حل می کنید.

 

 

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

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

 

فاطمه مجدآبادی

بخش دانش و زندگی تبیان