تبليغاتX
فناوري‌اطلاعات ، برنامه‌نويسي

برنامه نويسي ، شبكه ، سيستم عامل ، پايگاه داده ، سيستم اطلاعات جغرافيايي ، مديريت و كنترل پروژه

Information
سلام دوست عزيز . اين وبلاگ در مورد فناوري اطلاعات و علوم مرتبط با اون هست و داراي آموزش كامل و گام به گام برنامه نويسي به زبان ++C .
************************
پيشنهاد مي‌كنم از لينك‌هاي بخش مقالات فناوري اطلاعات ديدن كنيد .
************************
به اميد اينكه مطالب مفيد واقع بشه . با ارائه نظرات سازنده ي خودتون من رو در هرچه پربارتر كردن اين وب ياري كنيد .
متشكرم

مقالات فناوري اطلاعات
پیوندها
جستجوگر

طراح قالب

Powered By
BLOGFA.COM
لینک RSS
برنامه نويسي به زبان ++C ( پست 7)
آماده سازي مقدمات

يك برنامه (Program) دستورالعمل هاي متوالي است كه مي تواند توسط يك كامپيوتر اجرا شود . براي نوشتن و اجراي هر برنامه , به يك ويرايشگر متن (Text Editor) و يك كامپايلر (Compiler) احتياج داريم . با استفاده از ويرايشگر متن مي توانيم كد برنامه را نوشته و ويرايش كنيم . سپس كامپايلر اين كد را به زبان ماشين ترجمه مي كند . هرچند ويرايشگر و كامپايلر را مي توان به دلخواه انتخاب نمود اما امروزه بيشتر توليد كنندگان كامپايلر , "محيط مجتمع توليد (Integrated Development Environment) , (IDE )  "  را توصيه مي كنند . محيط مجتمع توليد , يك بسته ي نرم افزاري است كه تمام ابزارهاي لازم براي برنامه نويسي را يكجا دارد : يك ويرايشگر متن ويژه كه امكانات خاصي دارد , يك كامپايلر , ابزار خطا يابي و كنترل اجرا , نمايشگر كد ماشين , ابزار توليد خودكار براي ايجاد امكانات استاندارد در برنامه , پيوند دهنده هاي خودكار (Linker) , راهنماي سريع و هوشمند و ... . بيشتر اين ابزارها براي سهولت برنامه نويسي , توانايي هاي ويژه اي دارند . ويرايشگرهاي متن كه در محيط هاي IDE استفاده ميشوند , قابليت هاي بصري به كد برنامه ميدهند تا كد خواناتر شود و نوشتن و دنبال كردن برنامه آسانتر باشد . به عنوان مثال , دستورات را با رنگ خاصي متمايز مي سازند , متغيرها را با رنگ ديگري مشخص مي كنند , توضيحات اضافي را به شكل مايل نشان مي دهند و حتي با نوشته هاي خاصي شما را راهنمايي مي كنند كه كجاي برنامه چه چيزهايي بنويسيد . تمام اين امكانات سبب شده تا برنامه نويسي جذابتر از گذشته باشد و برنامه نويس بجاي اينكه نگران سرگرداني در كد برنامه يا رفع خطا باشد , تمركز خويش را بر منطق برنامه و قابليت هاي آن استوار كند .
بسته ي ++Visual C محصول شركت مايكروسافت و بسته ي C++builder محصول شركت بورلند نمونه هاي جالبي از محيط مجتمع توليد براي زبان ++C بشمار مي روند . البته هر دوي اينها مخصوص سيستم عامل ويندوز هستند . اگر مي خواهيد روي سيستم عامل ديگري مثل Unix يا Linux برنامه بنويسيد بايد از كامپايلري كه مخصوص اين سيستم عامل هاست استفاده كنيد .

قبل از اينكه برنامه نويسي با ++C را شروع كنيم , يك محيط مجتمع توليد روي كامپيوتر خود نصب كنيد تا بتوانيد مثال هايي كه بيان ميشود را خودتان نوشته و امتحان كنيد .
 
نوشته شده توسط: مرضيه در جمعه چهاردهم دی 1386|+|
برنامه نويسي به زبان ++C (پست 6)
تاريخچه ي ++C ؟

در دهه ي 70 ميلادي در آزمايشگاه هاي بل , زباني بنام C ايجاد شد . انحصار اين زبان در اختيار شركت بل بود تا اينكه در سال 1978 توسط Kernighan و Richie شرح كاملي از اين زبان منتشر شد و بسرعت نظر برنامه نويسان حرفه اي را جلب نمود . هنگامي كه بحث شئ گرايي و مزاياي آن در جهان نرم افزار رونق يافت , زبان C كه قابليت شئ گرايي نداشت , ناقص به نظر مي رسيد تا اينكه در اوايل دهه ي 1980 دوباره شركت بل دست بكار شد و Bjarne Stroustrup زبان ++C را طراحي نمود . ++C تركيبي از دو زبان C و Simula بود و قابليت هاي شئ گرايي نيز داشت . از آن زمان به بعد , شركت هاي زيادي كامپايلرهايي براي ++C طراحي كردند . اين امر سبب شد تفاوت هايي بين نسخه هاي مختلف اين زبان بوجود آيد و از قابليت سازگاري و انتقال آن كاسته شود . به همين دليل در سال 1998 زبان ++C توسط مؤسسه ي استانداردهاي ملي آمريكا (ANSI) به شكل استاندارد و يكپارچه درآمد . كامپايلرهاي كنوني به اين استاندارد پايبندند . ما نيز بر اساس همين استاندارد كار خواهيم كرد .
 
نوشته شده توسط: مرضيه در جمعه چهاردهم دی 1386|+|
برنامه نويسي به زبان ++C (پست 5)
چرا ++C ؟

از زماني كه اولين زبان از خانواده ي C به شكل رسمي انتشار يافت , متخصصين بسياري درباره ي توانايي ها و قابليت هاي آن قلم زده و در اين وادي قدم زده اند . از نظر ايشان آنچه بيشتر جلب نظر مي كرد نكات زير بود :

- زبان C يك زبان همه منظوره است . دستورالعمل هاي اين زبان بسيار شبيه عبارات جبري است و نحو آن شبيه جملات انگليسي است . اين امر سبب ميشود كه C يك زبان سطح بالا باشد كه برنامه نويسي در آن آسان است .
- در اين زبان عملگرهايي تعبيه شده كه برنامه نويسي سطح پايين و به زبان ماشين را نيز امكان پذير مي سازد . اين خاصيت سبب مي شود تا بتوانيم با استفاده از C برنامه هاي سيستمي و بسيار سريع ايجاد كنيم . به اين ترتيب خلاء بين زبان هاي سطح بالا و زبان ماشين پر ميشود . به همين دليل به C زبان سطح متوسط نيز گفته ميشود .
- چون C عملگرهاي فراواني دارد , كد منبع برنامه ها در اين زبان بسيار كوتاه است .
- زبان C براي اجراي بسياري از دستوراتش از توابع كتابخانه اي استفاده مي كند و بيشتر خصوصيات وابسته به سخت افزار را به اين توابع واگذار مي نمايد . نتيجه اين است كه نرم افزار توليد شده با اين زبان به سخت افزار خاص بستگي ندارد و با اندك تغييراتي مي توانيم نرم افزار مورد نظر را روي ماشيني متفاوت اجرا كنيم . يعني برنامه هايي كه با C نوشته مي شوند " قابليت انتقال " دارند و مستقل از ماشين هستند . علاوه بر اين C اجازه ميدهد تا كاربر توابع كتابخانه اي خاص خودش را ايجاد كند و از آنها در برنامه هايش استفاده كند . به اين ترتيب كاربر مي تواند امكانات C را گسترش دهد .
- برنامه ي مقصدي كه توسط كامپايلرهاي C ساخته ميشود بسيار فشرده تر و كم حجم تر از برنامه هاي مشابه در ساير زبان هاست .

++C كه از نسل C است , تمام ويژگي هاي جذاب بالا را به ارث برده است . اما اين فرزند برتري فني ديگري هم دارد : ++C اكنون شئ گراست . ميتوان با استفاده از اين خاصيت , برنامه هاي شئ گرا توليد نمود . برنامه هاي شئ گرا منظم و ساختاري اند , قابل بروز شدن اند , به سهولت تغيير و بهبود مي يابند و قابليت اطمينان و پايداري بيشتري دارند .
و سرانجام آخرين دليل استفاده از ++C ورود به دنياي #C ( سي شارپ ) است . #C كه اخيرا عرضه شده , زباني است كاملا شئ گرا . اين زبان در شئ گرايي پيشرفت هاي زيادي دارد و همين موضوع سبب پيچيدگي بيشتر آن شده است . ولي براي عبور از اين پيچيدگي يك ميانبر وجود دارد و آن ++C است . نحو #C بسيار شبيه ++C است . اگر ++C را بلد باشيم #C آن قدرها هم پيچيده نيست . كليد ورود به دنياي #C ميان كدهاي ++C نهفته است .
 
نوشته شده توسط: مرضيه در جمعه چهاردهم دی 1386|+|
برنامه نويسي به زبان ++C (پست 4)
كدام شيوه بهتر است ؟

برنامه نويسي شئ گرا از منطق قوي و قابليت اطمينان بالا برخوردار است . همچنين روند توسعه ي نرم افزار در اين روش ساده تر دنبال ميشود و مديريت برنامه هاي پيچيده در آن آسانتر است . در عوض شناسايي اشياي برنامه كمي مشكل است و اين كار , روند توليد نرم افزار را كمي كند مي نمايد . همچنين به دليل سرباري كه برنامه هاي شئ گرا دارند , كمي كندتر از برنامه هاي مشابه در شيوه ي ساخت يافته عمل مي كنند .
برنامه هاي ساخت يافته را به آساني ميتوان طراحي كرد زيرا فقط كافي است جريان كار برنامه را بدانيد . سپس خيلي راحت مي توانيد توابع را تشخيص داده و پياده سازي كنيد . برنامه هاي ساخت يافته سربار ندارند و به همين دليل معمولا سريع تر از برنامه هاي شئ گراي مشابه اجرا مي شوند ولي روند توسعه ي نرم افزار هاي ساخت يافته مشكل تر است زيرا بايد با تابع هاي زيادي سروكله بزنيد و همين امر امنيت و صحت برنامه را به خطر مي اندازد .
با توجه به اين گفته ها , به درستي نمي توان گفت كه كدام برنامه نويسي بهتر است . اين كاملا به نوع برنامه بستگي دارد . اگر قابليت اطمينان و نگهداري اهميت بيشتري داشته باشد , شئ گرايي اولين انتخاب است ولي اگر سرعت اجرا و زمان عكس العمل و تصميم گيري اهميت بيشتري دارد , برنامه نويسي ساخت يافته ترجيح داده مي شود . برنامه نويسان با تجربه , اغلب تركيبي از اين دو روش را به كار مي گيرند . بخش هايي را با اشياء پيش مي برند و قسمت هايي را با توابع . حتي ممكن است طراحي برنامه را با يك روش انجام دهند و پياده سازي را با روش ديگر . اين كاملا به شرايط برنامه و توانايي اعضاي گروه بستگي دارد .
در اين وبلاگ هر دو روش را با استفاده از زبان ++C بررسي خواهم كرد .
 
نوشته شده توسط: مرضيه در جمعه چهاردهم دی 1386|+|
برنامه نويسي به زبان ++C (پست 3)
برنامه نويسي شئ گرا

برنامه نويسي شئ گرا روش نويني است كه بجاي آن كه به جريان اجراي برنامه بپردازد , به داده هايي كه قرار است پردازش شوند مي پردازد . در اين روش , داده هاي مرتبط با هم يك جا جمع ميشوند و توابعي كه براي پردازش آنها لازم است نيز اضافه ميشود به تركيب حاصل " شئ " ( Object ) مي گويند . پس از اينكه اشياي برنامه شناخته شدند , با ارسال پيام به يكديگر , تراكنش هايي انجام مي دهند كه حاصل اين تراكنش ها , مقصود اصلي برنامه را تامين مي كند . درست مثل دنياي اطراف ما كه در آن اشياي مختلف با رفتارشان روي اشياي ديگر تاثير مي گذارند تا كاري را انجام دهند .
قدرت برنامه نويسي شئ گرا در " پنهان سازي اطلاعات " ( Information Hiding ) است . يعني داده هاي مورد نياز و توابع لازم براي يك شئ , درون آن شئ محصور ميشود . به اين ترتيب ساير اشياي برنامه از پياده سازي داخلي اشياي ديگر بي خبرند و فقط توابع و داده هاي لازم را مي توانند دست يابي كنند . در نتيجه توابع درهم و برهم از يكديگر تفكيك شده و درون اشياي خاصي قرار مي گيرند . خلاصه اينكه منطق برنامه براحتي دنبال ميشود و جزئيات كم اهميت ما را سردرگم نمي كند . عيب يابي چنين برنامه اي نيز راحت است زيرا اغلب براحتي مي توان شئ معيوب را شناخت و با اصلاح پياده سازي داخلي آن , برنامه را بهبود داد . اشياء نيز مثل تابع ها قابليت استفاده ي مجدد دارند و اين كار بسيار آسانتر و منطقي تر انجام ميشود زيرا هم ميتوان اشياء را با هم تركيب كرد تا شئ جديد حاصل شود و هم با استفاده از وراثت مي توانيم از روي اشياي قبلي , شئ جديدي بسازيم كه ويژگي هاي مشترك و ويژگي هاي منحصر بفرد داشته باشد .
برنامه نويسي گروهي با استفاده از شئ گرايي بهتر انجام ميشود . اعضاي گروه به جاي آنكه روي نوشتن توابع متمركز شوند , روي ساختن اشياء تمركز مي كنند . چون شئ گرايي از مخفي سازي اطلاعات سود مي برد , اعضاي گروه ميتوانند شيء ساخته شده توسط ساير اعضا را بدون درگير شدن با جزئيات داخلي اش بكار بگيرند . به همين علت است كه شئ گرايي در مديريت برنامه هاي حجيم و پيچيده موفق تر است . #C و JAVA دو تا از زبان هايي هستند كه برنامه نويسي شئ گرايي در آنها انجام ميشود .
 
نوشته شده توسط: مرضيه در سه شنبه یازدهم دی 1386|+|
برنامه نويسي به زبان ++C ( پست 2)
برنامه نويسي ساخت يافته

برنامه نويسي ساخت يافته روش منظمي براي توليد برنامه هاست . برنامه هايي كه به اين شيوه نوشته ميشوند خوانايي زيادي دارند ( يعني راحت درك ميشوند ) , آزمايش و اشكال زدايي و اصلاح آنها نيز آسان است . در اين روش برنامه بصورت مجموعه اي از فعاليت ها تصور ميشود كه بايد بر روي داده ها انجام شوند . هر كار پيچيده اي به چند كار كوچكتر تجزيه ميشود تا اين كارها براحتي قابل پياده سازي باشند . سپس براي انجام هريك از اين كارها , زير برنامه ي خاصي كه تابع ( Function ) نام گرفته نوشته ميشود . به همين دليل به اين شيوه " برنامه نويسي بالا به پايين " ( Up-Down programming ) نيز مي گويند . برنامه نويسي ساخت يافته روش موفقي در حل مسائل پيچيده است . توابع قابليت استفاده ي مجدد دارند . يعني ميتوان توابع يك برنامه را در برنامه هاي ديگر نيز بكار برد . به اين ترتيب كد نويسي كمتر ميشود و توليد نرم افزار با سرعت بيشتري صورت مي گيرد .
توابع امكان مي دهند تا توليد نرم افزار با استفاده از گروه ممكن شود . به اين شكل كه پس از مشخص شدن توابع مورد نياز , هريك از اعضاي گروه وظيفه ي نوشتن و آزمايش توابع مشخصي را برعهده مي گيرد و به اين شكل اعضاي گروه بصورت همزمان روي بخش هاي مختلف برنامه كار مي كنند بدون اينكه يكي منتظر ديگري بماند . در نهايت اين توابع به هم پيوند مي خورند تا جريان منطقي برنامه برقرار شود .
بديهي است كه عيب يابي و اصلاح برنامه نيز آسان ميشود , زيرا با برسي جريان برنامه , تابع معيوب بسرعت شناسايي و اصلاح ميشود بدون اينكه بقيه ي بخش هاي برنامه تغيير يابند . زبان هاي C و PASCAL دو نمونه از زبان هاي برنامه نويسي ساخت يافته هستند .
 
نوشته شده توسط: مرضيه در دوشنبه دهم دی 1386|+|
برنامه نويسي به زبان ++C ( پست 1)
مروري بر تاريخ برنامه نويسي

برنامه نويسي رايانه به گونه اي كه ما امروز مي شناسيم , در اواخر دهه ي 50 ميلادي شروع شد و در دهه ي 60 ميلادي بسرعت رشد نمود . در آن دوران برنامه نويسي يك كار تخصصي و مهندسي تلقي نميشد زيرا رايانه ها بسيار محدود بودند و كارهاي ساده اي انجام مي دادند . اغلب اينگونه بود كه افراد بسيار سريعتر از رايانه ها پاسخ محاسبات رياضي را مي يافتند . لذا برنامه نويسي براي چنين دستگاه هايي چندان ارزش و اهميت نداشت و اولين برنامه ها فقط چند دستور ساده ي متوالي بودند . پس از اجراي اين دستورها رايانه بايد از نو راه اندازي ميشد تا براي اجراي دوباره ي برنامه آماده شود .
كم كم سخت افزار متحول شد و رايانه ها قدرتمندتر و كارامدتر شدند اما به همان نسبت توليد برنامه براي آنها دشوار گشت طوري كه برنامه هاي ساده ي اوليه , مشكل جدي بر سر راه كاربري رايانه محسوب شدند . پس تلاش هايي صورت گرفت تا برنامه هاي كارامدتري نوشته شود . اما طبق يك قانون كلي , پيچيدگي نرم افزار بيشتر و بيشتر مي گردد تا جايي كه ديگر انسان نمي تواند آن را مديريت كند و از همان جا هرج و مرج شروع مي شود .
بزودي نهضت همگاني صورت گرفت تا راهكاري براي مديريت پيچيدگي و كارايي برنامه ها يافت شود . سرانجام در اواخر دهه ي 60 " برنامه نويسي ساخت يافته " ( Procedural programming ) بعنوان راه حل پذيرفته شد. برنامه نويسي ساخت يافته امكان ميداد كه برنامه به چند تابع تقسيم شود و چند نفر بطور همزمان كار توليد نرم افزار را پيش ببرند و همين امر سبب افزايش سرعت توليد نرم افزار و كاهش خطاهاي برنامه نويسي گرديد و برنامه هاي بزرگ و مفيد ساخته شدند . برنامه هايي كه در ابتدا با اين روش ايجاد شدند چيزي بين 10 تا 20 هزار خط كد داشتند , از ساختمان داده ي كوچكي بهره مي جستند و الگوريتم هاي ساده اي در آنها به كار مي رفت . با استفاده از برنامه نويسي ساخت يافته براحتي ميشد چنين برنامه اي را مديريت كرد .
برنامه ها آرام آرام به قصد بهبود كارايي , حجيم تر شدند . الگوريتم هاي پيشرفته اي بكار گرفته شد و ساختمان داده ي پيچيده تري در تركيب برنامه ها استفاده شد . برنامه نويسي ساخت يافته ديگر نمي توانست از پس كدهاي طولاني چنين برنامه هايي برآيد ( سيستم عامل ويندوز NT بيش از 10 ميليون خط كد دارد ) .
بنظر ميرسيد كه روش ديگري لازم است تا توليد كنندگان نرم افزار را از دست متغيرهاي فراوان و توابع طولاني و سرگيجه آور خلاص كند . بر اساس اين تفكر بود كه برنامه نويسي شئ گرا ( Object oriented programming )پيش كشيده شد . تفكر شئ گرا تقريبا همزمان با تفكر ساخت يافته مطرح شد اما فقط براي طراحي برنامه استفاده ميشد . پس از عاجز ماندن برنامه نويسي ساخت يافته , شئ گرايي در برنامه نويسي هم استفاده شد . حالا برنامه نويسان مي توانند در برنامه به پانزده شيء فكر كنند كه اين اشياء با چهل پيام مشخص با هم ارتباط دارند , حال آنكه همين برنامه اگر به سبك ساخت يافته ايجاد شود بايد به 100 متغير , 20 ثابت , ششصد تابع و ... فكر كرد .
******************************
در پست بعدي اين دو سبك برنامه نويسي را دقيق تر برسي خواهيم كرد .
 
نوشته شده توسط: مرضيه در دوشنبه دهم دی 1386|+|
Technology
آرشیو
آمار وبلاگ
» تعداد بازدیدها:
» مرورگر:
امکانات اضافي

© All Rights Reserved by mrz-it.Blogfa.com ©