close
دانلود فیلم
پاسکال

 

آماده سازی منطق برنامه

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

تهيه کد برنامه

کد برنامه (source code) مجموعه عبارات يا دستوراتی است کامپيوتر را هدايت می کند تا عمل موردنظر شما انجام بپذيرد. از يک ويرايشگر متن برای وارد کردن کد برنامه استفاده کنيد. اغلب کامپايلرهای نظير Borland's Turbo C++ و Visual C/C++ همراه با يک محيط مجتمع (IDE) می آيند که اجازه تايپ، کامپايل و لينک برنامه را در يک محيط مناسب می دهند. در غيراينصورت از ويرايشگرهای متن ديگر مانند Edit، Notepad و Microsoft Windows می توانيد استفاده کنيد و برنامه خود را با فرمت ASCII روی ديسک ذخيره نمائيد.

کد برنامه را با پسوند cpp. ذخيره کنيد.

ترجمه کد برنامه

برای ترجمه يک برنامه C/C++ کامپايلرهای مختلفی وجود دارد. نسخه رايگان کامپايلر Borland C++ محيط مجتمع پياده سازی ندارد و يک کامپايلر خط فرمانی است يعنی بايد در محيط سيستم عامل DOS فرمان ترجمه برنامه صادر شود.

مثال. اگر Borland's Turbo C++ را استفاده می کنيد، برای ترجمه برنامه Hello.cpp فرمان زير را در خط فرمان سيستم عامل بايد وارد نمائيد:

bcc Hello.cpp

ترجمه برنامه در کامپايلرهای با محيط مجتمع (مانند Borland C++ 3.1) يا محيط گرافيکی (مانند Microsoft Visual C++) راحت تر صورت می گيرد. کافی است ازمنو گزينه Compile يا Run را انتخاب کنيد.

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

تهيه برنامه اجرائی

وقتی از توابع کتابخانه ای استفاده می کنيد، فايل مقصد توليد شده بايد با کد مقصد تابع کتابخانه ترکيب شود تا فايل اجرائی نهائی شکل بگيرد. اين فرآيند linking نام دارد که توسط برنامه لينکر (linker) انجام می گيرد. اگر لينکر در اين فرآيند با مشکلی مواجه نشود، يک برنامه اجرائی روی ديسک هم نام برنامه و با پسوند exe. ايجاد می شود.

اجرای برنامه

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

در اکثر کامپايلرها امکان انجام مراحل ترجمه، لينک و اجرا در يک مرحله وجود دارد، گرچه در اينجا به عنوان مراحل جداگانه مطرح شد.


مثال. اگر برنامه Hello.cpp موفق ترجمه و لينک شود فايل های Hello.obj که شامل کد زبان ماشين برنامه و Hello.exe که برنامه اجرائی توليد شده است روی ديسک ايجاد می شود. با اجرای برنامه جمله Hello, World! روی صفحه مشاهده می شود.

 

برای آشنائی سريعتر با ساختار برنامه ++C يک برنامه ساده کوچک در اينجا ارائه می شود که ممکن است در وحله اول کاملا قابل درک نباشد. توضيحات بيشتر درباره برنامه در دنباله آن داده شده است.


مثال. برنامه Hello.cpp يک پيغام را روی صفحه نمايش می دهد.

/* HELLO.CPP */
#include <iostream>
using namespace std;
int main()
{
   //print hello word on the screen
   cout << "Hello World!n";
   return 0;
}


تابع اصلی

در زبان C برنامه از يک سری تابع (function) تشکيل می شود (توضيحات بيشتر درباره تابع). هر برنامه الزاما يک تابع اصلی به نام main دارد که برنامه از آن شروع به اجرا می کند.

نوع برگشتی تابع در خط اعلان تابع و قبل از نام تابع تعيين می شود. که برای تابع اصلی معمولا نوع صحيح يا int درنظر گرفته می شود. چون برخی از سيستم عامل ها نيازدارند برنامه مقداری را به آنها برگرداند تابع main يک عدد صحيح را بر می گرداند تا سيستم عامل متوجه بشود که همه چيز درست است. البته در بعضی موارد تابع اصلی را می توان به صورت void main() هم تعريف کرد. کلمه void مشخص می کند تابع چيزی بر نمی گرداند.

مقداری که تابع بر می گرداند در مقابل دستور return نوشته می شود. اگر تابعی مقداری برنگرداند و از نوع void تعريف شده باشد نيازی به استفاده از دستور return در تابع نيست.

بدنه توابع و بلوک های کد مابين دو کروشه باز و بسته { } قرار می گيرند. کروشه مرز يک بلاک از کد را معين می کند. وقت کنيد که برای هر کروشه باز { يک کروشه بسته } بايد وجود داشته باشد.

int main()
{
   return 0;
}


فايل های ضميمه

معمولا اولين عمل در هر برنامه C++ ضميمه کردن فايل های هدر است. فايل های هدر (include file) فايل هائی شامل تعاريف توابع يا کلاس ها هستند. اگر توابع يا متغيرهائی وجود دارند که در برنامه های مختلف مورد استفاده قرار می گيرند بهتر است در يک فايل هدر قرار داده شوند، سپس فايل هدر در هرجائی که از آن استفاده می شود ضميمه شود.

برای ضميمه کردن يک فايل به برنامه علامت # سپس include و نام فايل ضميمه در داخل < > ذکر می شود.

اولين خط برنامه Hello.cpp فايل هدر iostream.h را ضميمه برنامه می کند.

#include <iostream.h>

تعداد زيادی از فايل های هدر در ++C برای استفاده از توابع کتابخانه ای همراه با نصب کامپايلر در اختيار برنامه نويس قرار می گيرند. يکی از اين فايل ها فايل هدر iostream.h است که توابعی برای عمليات ورودی و خروجی دارد. اگر اين فايل در ابتدای برنامه ضميمه شود کليه کلاس ها و توابع تعريف شده در آن قابل دسترسی هستند.

پسوند .h مشخص مي کند يک فايل هدر است. اگر کامپايلر C را استفاده می کنيد پسوند .h بايد مشخص شود ولی در ++C نياز نيست. البته بهتر است که ذکر شود تا توسط کامپايلرها پشتيبانی شود.


نمايش پيغام

تابع cout برای نمايش داده ها و پيغام ها روی صفحه نمايش بکار می رود. اين توابع در فايل هدر iostream قرار دارد که بايد به برنامه ضميمه شده باشد.

cout << "Hello World!n";

در زبان ++C يک رشته کاراکتری بايد بين دو علامت " " محصور شود

n به کامپايلر می گويد از يک خط جديد شروع کند.


فضای اسمی

فضای اسمی (namespace) اجازه گروه بندی مجموعه ای از توابع يا اشيای سراسری را تحت يک نام می دهد (توضيحات بيشتر درباره فضاهای اسمی). وقتی يک فايل هدر اضافه می شود محتويات آن در فضای اسمی استاندارد std قرار می گيرد. برای دسترسی به کتابخانه های استاندارد درون std بايد از عملگر :: استفاده شود.

مثال. وقتی iostream در برنامه ضميمه شده است برای دسترسی به تابع cout از اين کتابخانه بايد فضای اسمی std قبل از آن و بدنبالش علامت :: تعيين شود:

Std::cout <<"Hello World!n";

البته به سادگی می توان با استفاده از عبارت using فضای اسمی مورد استفاده را در برنامه تعيين کرد و به عناصر درون std تنها با صدازدن نامشان دسترسی پيدا کرد.

وقتی پسوند .h اضافه می شود نيازی به اضافه کردن فضای اسمی استاندارد نيست ولی به طور معمول بهتر است که از استاندارد ANSI/ISO تبعيت بشود و فضای اسمی std توسط عبارت using تعيين شود.

نکته. کامپايلرهای قديمی عبارت using را قبول نمی کنند.


توضيحات

توضيحات (comment) عباراتی هستند که هنگام ترجمه ناديده گرفته می شوند. توضيحات شرح مرحله به مرحله از عمليات برنامه را برای برنامه نويس، يا هر فردی که روی کد برنامه کار می کند، ارائه می دهد.

در ++C دو روش برای ساختن توضيح وجود دارد؛ يک روش که برای توضيحات کوتاه است با علامت // شروع می شود. کامپايلر از اين علامت تا انتهای خط را به عنوان توضيح درنظر می گيرد.

روش ديگر که معمولا برای توضيحات طولانی تر استفاده می شود بستن توضيحات بين علائم /* */ است.

//print hello word on the screen
/* This is my first program in C++ */

نکته. توضيحات يک خطی به دنبال علامت // تنها در کامپايلرهای ++C قابل استفاده است.

 

مهمترين ويژگی اين نسل پيدايش نرم افزارهای AM (access method) يا شيوه های دسترسی و همچنين ايجاد رسانه های با دسترسی مستقيم مانند ديسک است.

AM نرم افزاری است که مبتنی بر يک استراتژی دستيابی، به جنبه های فيزيکی محيط ذخيره سازی و عمليات آن می پردازد و جنبه های فيزيکی را تا حدی از ديد کاربر مخفی می کند. و برنامه کاربردی ديگر نيازی به پرداختن به آنها ندارد. مشخصات اين نسل عبارتند از:

• نرم افزار واسط AM برای ايجاد فايل ها با ساختار گوناگون بين برنامه های کاربردی و محيط ذخيره سازی وجود دارد
• امکان دسترسی ترتيبی و مستقيم به رکورد وجود دارد
• پردازش در محيط های بلادرنگ (Real Time)، برخط (On-Line) و يکجا بسته به نوع سيستم عامل می توانند انجام شوند
• ساختار فيزيکی و منطقی فايل از هم جدا است ولی هنوز برنامه کابردی از محيط ذخيره سازی مستقل نيست
• امکان دسترسی بر اساس چندين کليد وجود ندارد
• روش های ايمنی و حفاظت داده ابتدائی وجود دارد
• داده ها برای کاربردهای خاص طراحی و ذخيره می شوند
• تکرار داده هنوز در حد نسبتا بالائی است
• اشتراک داده ها تا حدی ايجاد شده است

پايگاه داده

يک بانك اطلاعاتي يا پايگاه داده (database) مجموعه اي سازمان يافته و بدون افزونگي از داده های مرتبط به هم است که مي تواند توسط سيستم هاي کاربردي مختلف به اشتراک گذاشته شود و به راحتي دسترسی، مديريت و بهنگام شود.

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


ويژگي هاي داده در پايگاه داده

ويژگی هائی که داده در پايگاه داده بايد داشته باشند در ليست زير آمده است:

1. اشتراکی شدن (shared)
      • داده در پايگاه داده بين چندين کاربر و برنامه کاربردی به اشتراک گذاشته می شود.
2. ماندگاري(persistence)
     • وقتي داده در پايگاه داده ذخيره شد پايدار است و از بين نمی رود، مگر آنکه توسط سيستم پايگاه داده تغيير کند.
3. امنيت (security)
      • داده در پايگاه داده از فاش شدن، تغيير و تخريب بدون مجوز محافظت می شود. مدير سيستم توسط سطوح دسترسي و قيدهای امنيتی نحوه دستيابی به داده را تعريف می کند و اطمينان می دهد که دستیابی از طريق مناسب انجام می شود.
4. اعتبار (validity)
      • يا جامعيت (integrity) و يا صحت(correctness) به درستی داده در پايگاه داده نسبت به موجوديت دنياي واقعي معتبر اشاره دارد. مثلا موجودی بانک نبايد منفی باشد.
5. سازگاری (consistency)
     • داده در پايگاه داده با مقدار واقعي داده در دنياي خارج سازگار است. وقتی يک فقره اطلاع در بيش از يک نقطه ذخيره شود و لازم باشد بهنگام شود، اگر بهنگام سازی در همه نقاط انجام نشود ناسازگاری ايجاد می شود.
6. کاهش افزونگی (non redundancy)
     • داده در پايگاه داده داراي حداقل افزونگي است. افزونگي به اين معناست که هيچ دو فقره داده در بانک معرف يک موجوديت در دنياي خارج نباشد.
7. استقلال (independence)
     • تغييردر نمايش فيزيکی، تکنيک های دستيابی و سازماندهی داده تاثيری روی برنامه های کاربردی ندارد.

ادامه مطلب...
به کانال تلگرام سایت ما بپیوندید