تاکنون با مقدمات زبان برنامه نویسی C تا حدودی آشنا شدیم و آماده می شویم که بتوانیم در ادامه برنامه ساده ای را بنویسیم. قبل از اینکه شروع به برنامه نویسی کنیم بهتر است که با روش ایجاد برنامه در برنامه نویسی c آشنا شویم. برنامه نویسی، نوعی حل مسئله می باشد. اگر مسئله را به راحتی حل میکنید، بدانیدکه برنامه نویس موفق میشوید. در زبان برنامه نویسی c، می توان برنامه های ساخت یافته ای نوشت. همانطور که می دانیم برنامه های ساخت یافته برنامه هایی هستند که قابلیت خوانایی آنها بالا می باشد و درک آنها آسان است و نگهداری آنها مشکل نیست برای نوشتن و ایجاد برنامه در C باید مواردی را در نظر بگیریم:
- تعیین نیازمندیهای مسئله
- تحلیل مسئله
- طراحی الگوریتم حل مسئله
- پیاده سازی الگوریتم
- تست و کنترل برنامه
- نگهداری و نوسازی برنامه
۱- تعیین نیازمندیهای مسئله:
یکی از بخش های مهم و اساسی بخش تعیین نیازمندیهای مسئله می باشد. تعیین نیازمندیهای مسئله باعث شناخت بهتر مسئله و همچنین موجب میشود تا مسئله را به وضوح و بدون هیچ ابهامی شناسایی کنیم و مواردی را که برای حل مسئله لازم است را بهتر درک کنیم. در تعیین نیازمندیهای مسئله هدف این است که جنبه های بی اهمیت مسئله را چشمپوشی کنیم و به موارد اصلی بپردازیم. در تعیین نیازمندیهای مسئله ممکن است لازم باشد با کسی که مسئله را طرح کرده نیز راهنمایی بگیریم.
۲- تحلیل مسئله:
در روش ایجاد برنامه یکی از ارکان مهم آن این است که بتوانیم مسئله را به خوبی تحلیل کنیم تحلیل مسئله ، شامل تعیین ورودی ها و خروجی ها و سایر موارد مهم یا محدودیت های حل مسئله می باشد.
در برخورد اولیه برای حل مسئله، باید تمام موارد زیر را با دقت بررسی کنیم
۲-۱- داده ها: در یک مسئله منظور از داده ها، فرض و نتایج هستند که باید از داده ها بدست آیند.
۲-۲- مجهول ها: منظور از مجهول ها مقادیری هستند که مسئله در جستجوی آنها می باشد.
۲-۳- ارتباط بین داده ها و مجهول ها:: منظور از ارتباط، رابطه منطقی که توسط آن میتوان از دادهها به مجهول ها، رسید که در این میان از ابزارهای ریاضی میتوان استفاده کرد.
همانطور که میدانیم ورودیها، داده هایی هستند که مسئله باید بر روی آنها کار کند و خروجیها ، نتایج مورد انتظار مسئله می باشند. در مرحله ۱ و ۲ به خوبی انجام نشود، مسئله به درستی حل نخواهد شد. صورت مسئله را به دقت بخوانیم تا اولاً روش مناسبی برای حل مسئله پیدا کنید و ثانیاً ورودی و خروجی ها را تعین کنید.
مثلا میخواهیم با دانستن طول و عرض مستطیل ، مساحت آن را حساب کنیم.
ورودی مسئله: طول مستطیل عرض مستطیل خروجی مسئله: مساحت مستطیل
وقتی که ورودی و خروجی های مسئله مشخص شد، باید به دنبال راه حل ریاضی مناسبی برای رسیدن به جواب مسئله بگردیم. فرمول مورد نظر همان تعین کننده ارتباط بین داده های ورودی و خروجی می باشد.
برای این مثال : مساحت مستطیل= طول مستطیل * عرض مستطیل
در بضی از موارد ممکن است رابطه بین ورودی ها و خروجی ها به این سادگی مشخص نشود و نیاز به فرضیه ها و موارد خاصی باشند. استخراج متغیرهای مسئله و تعیین روابط بین آنها از طریق صورت مسئله ، انتزاع نام دارد
۳- طراحی الگوریتم حل مسئله:
یکی از راههای حل مسئله استفاده از روشهای ریاضی و منطقی است، این روش برای نخستین بار توسط خوارزمی مورد توجه قرار گرفت، حال اساس اجرای بسیاری از برنامههای کامپیوتری روش خوارزمی است، نام الگوریتم نیز به احترام این دانشمند و از کلمهی الخوارزمی گرفته شده است. الگوریتم، به مجموعه ای از دستورالعمل ها که مراحل مختلف، یک مسئله را به زبان دقیق و با جزئیات کافی بیان میکند و در آن ترتیب مراحل و خاتمه پذیر بودن عملیات کاملا مشخص باشد الگوریتم گفته میشود.
منظور از زبان دقیق این است که از یک دستورالعمل داشتهای متفاوتی گرفته نشود و یا سوال برانگیز نباشد پس ویژگی برداشت یگانه در مورد دستورات یک الگوریتم امری ضروریست.
در طراحی الگوریتم برای حل مسئله ، لازم است قدم به قدم رویه هایی نوشته شود و سپس بررسی شود که آیا الگوریتم ، مسئله را به درستی حل می کند یا خیر؟ سپس بررسی شود که آیا الگوریتم ، مسئله را به درستی حل میکند یا خیر. نوشتن الگوریتم، مشکلترین بخش حل مسئله می باشد. سعی نکنید تمام جزئیات مسئله را حل کنید ، بلکه سعی کنید شیوه طراحی بالا به پایین را به کار ببرید. در طراحی بالا به پایین ابتدا مراحل اصلی که باید حل شوند مشخص میگردند و سپس با حل هر مرحله اصلی حل مسئله حل میشود
- خواندن داده ها
- انجام محاسبات
- چاپ نتایج
وقتی مراحل مهم مسئله مشخص شد میتوانید هر مرحله را به طور جداگانه حل کنید مرحله انجام محاسبات میتواند به بخشهای کوچکتری تقسیم شود که به این عمل بهینه سازی الگوریتم هم گفته میشود.
پس از اینکه ماتمام نیاز های الگوریتم خود را مشخص کردیم، و به این نتیجه رسیدیم که این الگوریتم مارا به نتیجه دلخواه نزدیک و می رساند، بعد از آن وارد مرحله پیاده سازی الگوریتم می شویم. باید الگوریتم را به برنامه تبدیل کرد. هر مرحله از الگوریتم باید به یک یا چند دستور زبان برنامه نویسی تبدیل شود. یکی از کارهای مهم این مرحله مشخص کردن فایل های سرآیند است که در جلسلت بعدی به صورت کامل با آن اشنا خواهید شد.
۵- تست برنامه:
بعد از پیاده سازی الگوریتم حال باید برنامه نوشته شده را از لحاظ درستی کار تست کنیم.در تست برنامه، باید کل برنامه را تست کنیم تا مشخص شود آیا خواسته شما برآورده می شود یا خیر. در تست برنامه ، باید آن را برای داده های مختلفی چندین بار اجرا کنید و خروجی های برنامه را بررسی کنیم، تا مطمئن شویم برنامه تحت هر شرایط و داده ایی به خوبی عمل می کند.
۶- نگهداری برنامه:
نگهداری برنامه شامل اصلاح برنامه جهت حذف خطاهای قبلی و نوسازی آن جهت پاسخگویی به نیازهای فعلی، می باشد. بعضی از سازمان ها برای این که نویسنده برنامه به جای دیگری منتقل شد، برنامه آن را تا ۵ سال یا بیشتر نگه داری می کنند ولی به تدریج آن را از دور خارج می کند.
بعد از اینکه برنامه را نوشتیم ، باید آن را وارد کامپیوتر کنیم ، ترجمه کنیم ، پیوند و اجرا نماییم. فرایند آماده سازی و اجرای برنامه شامل مراحل زیر می باشد
- وارد کردن برنامه در محیط ویراستاری و ذخیره کردن بر روی حافظه در کامپایلر های C++ یا پسوند Cpp و در کامپایلر های توربو C با پسوند C ذخیره میشوند.
- ترجمه برنامه جهت اشکال زدایی و برطرف کردن اشکالات نحوی برنامه، و ترجمه دوباره برنامه. این مرحله را آنقدر باید انجام دهیم تا تمام مشکلات برنامه برطرف شوند.
- پس از ترجمه برنامه، فایلی را با پسوند obj ایجاد می کنیم که به زبان ماشین است، ولی قابل اجرا نیست. به دلیل اینکه، هنوز بخش های مختلف برنامه به هم پیوند نشدند و آدرس دهی آنها کامل نیست.
پس تا اینجای کار با با روش ایجاد برنامه آشنا شدیم و متئجه شدیم برای ایجاد برنامه چه مراحلی باید طی شود. در جلسه آینده با ساختار برنامه c به صورت کامل آشنا خواهید شد.