تحقیق بر نامه نویسی C++

دسته بندي : دانش آموزی و دانشجویی » دانلود تحقیق
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل :  word (..DOC) ( قابل ويرايش و آماده پرينت )
تعداد صفحه : 28 صفحه

 قسمتی از متن word (..DOC) : 
 

‏1
‏2
‏تحولي در توسعه نرم افزار
‏سالهاست كه سخت افزار درحال پيشرفت بوده اما نرم افزار به دلايلي در برابر تقريباً هر گونه اقدامي در جهت تسريع و بهبود آن مقاومت كرده است . در حال حاضر،در ميانة يك تحول در زمينه نحوة نوشتن نرم افزار قرار داريم . اين تحول مبتني بر مفهومي است كه در صنعت خودروسازي توسط هنري فورد در به كارگيري قطعات استاندارد و قابل تعويض در مدل تي خودروي فورد مورد استفاده قرار گرفت. قطعات نرم افزاري ((اشياء))يا بهتر بگوييم ((رده)) ناميده مي شوند.
‏كاملترين زبان شي ء گرا از زبان اسمالتاك است كه در دهه 1970 ميلادي توسعه يافت اما در بين زباهاي شيء گرا، C++‏ از محبوبيت بيشتري برخوردار بوده است(حدود 10 برابر اسمالتاك) .C++‏ دراوايل دهه 1980 ميلادي توسط بيارنه استراوستروپ توسعه يافت. در فاصلة زماني بين انتشار اولين تا دومين ويرايش اين كتاب رقيب جدي ديگري پا به عرصه گذاشته است . اين زبان، جاوا نام دارد كه در اوايل دهه 1990 توسط جيمزگاسلينگ و همكارانش توسعه يافت.
‏چرا هر 10 سال يك زبان برنامه نويسي شيء گراي عمده پا به عرصه وجود ميگذارد؟اسمالتاك واقع از زمان خودش جلوتر بود و يك كار تحقيقاتي به شمار ميرفت. ظهور C++‏ درست به موقع بود و نيازهاي برنامه نويسي سيستم با كارآيي بالا و توسعه برنامه هاي كاربردي را برآورده مي ساخت. جاوا امكاناتي براي كاربردهاي چند رسانه اي قابل حمل و كاربردهاي شبكه اي مبتني بر اينترنت و تور جهان گستر در اختيار توسعه دهندگان نرم افزار قرار مي دهد ‏.
‏كامپيوتر چيست ؟
‏كامپيوتر دستگاهي است كه مي تواند محاسبات و تصميم گيريهاي منطقي را ميليونها و حتي ميلياردها بار سريعتر از انسان انجام دهد. به عنوان مثال بسياري از كامپيوترهاي شخصي امروزي مي توانند در يك ثانيه صد ميليون عمل جمع را انجام دهند. در حالي كه انجام چنين محاسبه اي براي يك انسان با يك ماشين حساب ممكن است دهها سال طول بكشد. (نكات قابل تامل : چگونه مي توانيد بفهميد كه اين فرد جمع اعداد را درست انجام داده است ؟ چگونه مي توانيد بفهميد كه كامپيوتر اعداد را درست جمع كرده است ؟) سريعترين ابر كامپيوتر‏1‏ –SUPER COMPUTER
‏هاي كنوني قادر به انجام صدها ميليارد عمل جمع در يك ثانيه هستند، يعني مقدار محاسبه اي كه صدها هزار انسان مي توانند در يك سال انجام دهند! و كامپيوترهايي با چند تريليون دستورالعمل در ثانيه نيز وجود دارند كه در حال حاضر در آزمايشگاههاي تحقيقاتي مورد استفاده قرار مي گيرند.
‏كامپيوتر داده ها را تحت كنترل مجموعه اي از دستورالعملها كه برنامه كامپيوتري ناميده مي شود پردازش مي كند. اين برنامه ها كامپيوتر را از طريق مجموعه هايي از اعمال (با ترتيب منظم) كه توسط افرادي به نام برنامه نويس كامپيوتر مشخص شده اند، راهنمايي مي كنند.
‏دستگاههاي مختلفي (همچون صفحه كليد ، صفحه نمايش، موشواره ، ديسكها، حافظه، ديسك فشرده2 -CD -ROM
‏ و واحدهاي پردازش) كه يك كامپيوتر را تشكيل مي دهند سخت افزار و برنامه هاي كامپيوتري كه بر روي يك كامپيوتر اجرا مي شوند نرم افزار ناميده مي شوند. هزينه هاي سخت افزاري در سالهاي اخير به طور چشمگيري كاهش يافته تا جايي كه كامپيوترهاي شخصي از لوازم زندگي شده اند. متاسفانه با توسعه برنامه هاي كاربردي قويتر و پيچيده تر ، هزينه هاي توسعة نرم افزار همواره به طور ثابتي در حال افزايش بوده بدون آنكه بتوان فن آوري توسعة نرم افزار رابهبود بخشيد.
‏1
‏3
‏سازمان كامپيوتر
‏صرفنظر از تفاوتهايي كه در ظاهر فيزيكي كامپيوترها است. واحد ورودي،اطلاعات(داده ها و برنامه هاي كامپيوتري) را از دستگاههاي ورودي گوناگوني مي گيرد واين اطلاعات را در اختيار واحدهاي ديگر قرار مي دهد تا پردازش شوند. امروزه بيشتر اطلاعات از طريق صفحه كليد و موشواره وارد كامپيوتر مي شوند . در آينده شايد بيشتر اطلاعات با صحبت كردن با كامپيوتر و پويش1 -Scan
‏ تصاوير وارد شوند.
‏2-واحد خروجي : اين واحد، بخش ، ((صدور)) كامپيوتر است .واحد خروجي، اطلاعاتي را كه كامپيوتر پردازش كرده مي گيرد و آنها را در يكي از دستگاههاي خروجي قرار ميدهد تا جهت استفاده در خارج از كامپيوتر در دسترس قرار گيرند.
‏امروزه بيشتر اطلاعات بر روي صفحه نمايش ، ظاهر و بر روي كاغذ، چاپ مي شوند و يا براي كنترل دستگاههاي ديگر مورد استفاده قرار مي گيرند.
‏3-واحد حافظه: اين واحد، بخش ((انبار)) نسبتاً كم ظرفيت كامپيوتر را تشكيل مي دهد كه سرعت دسترسي به آن بالاست، اين واحد، اطلاعاتي را كه از طريق واحد ورودي وارد شده حفظ مي كند تا هر گاه اين اطلاعات موردنياز بود بلافاصله جهت پردازش پردازش شده را نيز در خود نگه مي دارد تا در فرصتي توسط واحد خروجي بر روي دستگاههاي خروجي قرار گيرند. به واحد حافظه معمولاً حافظه يا حافظة اوليه گفته مي شود .
‏4-واحدرياضي ومنطقي (ALU)‏ 2 -Aritjmetic and Logic Unit
‏ : اين واحد ، بخش ، ((ساخت)) كامپيوتر ومسئول اجراي محاسباتي همچون، جمع، تفريق، ضرب و تقسيم است . واحد رياضي و منطقي قابليت تصميم گيري (مثلاً با مقايسة دو عنصر از واحد حافظه ) را نيزبه كامپيوتر ميدهد.
‏5-واحد پردازش مركزي (CPU)‏ 3 -‏ Central processing Unit
‏: اين واحد ، بخش ((مديريت )) كامپيوتر است ،اين واحد، هماهنگ كننده كامپيوتر و مسئول نظارت بر عمليات ساير بخشها مي باشد.
CPU‏ به واحد ورودي مي گويد چه زماني اطلاعات بايد به واحد حافظه خوانده شود، به ALU‏ مي گويد چه زماني اطلاعات بايد جهت انجام محاسبه از واحد حافظه دريافت شود و به واحد خروجي مي گويد چه زماني اطلاعات را از واحد حافظه به دستگاههاي خروجي معيني بفرستد.
‏6-واحد حافظة ثانويه: اين واحد، بخش ((انبار)) پرظرفيت و بلند مدت كامپيوتر است. برنامه ها يا داده هايي كه به طور فعال مورد استفادة واحدهاي ديگر نيستند معمولاًدر دستگاههاي حافظة ثانويه (مانند ديسكها) قرار مي گيرند تا به هنگام نياز مجدد، مثلاً شايد ساعتها، روز، ماهها يا حتي سالها بعد مورد استفاده قرار گيرند. دسترسي به اطلاعات موجود در حافظة ثانويه نسبت به حافظة اوليه زمان بسيار بيشتري طول مي كشد، اما قيمت هر واحد حافظة ثانويه بسيار كمتر از يك واحد حافظة اوليه است.
‏روند تكاملي سيستمهاي عامل 4 - Operating systems‏
‏كامپيوترهاي قديمي در هر زمان تنها مي توانستند يك كار يا وظيفه را انجام دهند. به اين شكل از اجرا((پردازش دسته اي تك كاربره) گويند. كامپيوتر درهر زمان تنها برنامه را اجرا مي كند در حالي كه پردازش داده ها را به صورت گروهي يا دسته اي انجام مي دهد. در سيستمهاي قديمي، كاربران عموماً كارهاي خود را روي دسته هايي از كارتهاي منگنه به يك مركز كامپيوتر تحويل مي دادند و غالباً مجبور بودند ساعتها يا حتي روزهاي صبر كنند. تا نتيجة چاپ خروجي برنامه هايشان روي ميزشان حاضر شود . سيستمهاي نرم افزاري موسوم به سيستمهاي عامل براي كمك به سهولت استفاده از كامپيوتر ها توسعه يافتند . سيستمهاي عامل اوليه، گذار روان بين كارها را با موفقيت انجام دادند و بدين ترتيب زماني كه طول مي كشيد تا اپراتورهاي كامپيوتر، از يك كاربه كار ديگر بروند از بين مي رفت و مقدار كار يا مقدار خروجي كه كامپيوتر ها مي توانستند پردازش كنند افزايش مي يافت. با قويتر شدن كامپيوتر ها ، مشخص شد كه پردازش دسته اي تك كاربره، از منابع كامپيوتر به طور كارآمد استفاده نمي كند.در عوض اين فكر به ذهن رسيد كه مي توان كاري كرد كه بسياري از كارها يا وظايف از منابع كامپيوتر به طور مشترك استفاده كنند تا ميزان به كارگيري بهتري حاصل شود. به اين ايده چند برنامگي گويند. چند برنامگي يعني اجراي ((همزمان)) چند كار در كامپيوتر؛ كامپيوتر امكانات خود را به صورت اشتراكي دراختيار چند كار قرار مي دهد تا آنها جلب توجه كامپيوتر با يكديگر رقابت كنند. در سيستمهاي عامل چند برنامگي اوليه، كاربران هنوز مي بايست كارهاي خود را روي دسته هاي كارت منگنه تحويل مي دادند و براي دريافت نتايج، ساعتها يا روزها صبر مي كردند.
‏1
‏3
‏در دهه 1960 ميلادي چند گروه از صنعت و دانشگاهها سيستمهاي عامل با اشتراك زماني را ابداع كردند. اشتراك زماني حالت خصوصي از چند برنامگي است كه در آن كاربران از طريق پايانه هايي (دستگاههايي متشكل از يك صفحه كليد و يك صفحه نمايش) به كامپيوتر دسترسي مي يابند . در يك سيستم عامل يا اشتراك زماني ممكن است دهها يا صدها كاربر در يك لحظه با يك كامپيوتر به طور مشترك كار كنند. البته كامپيوتر واقعاً به همه كاربران به طور همزمان خدمات ارائه نمي كند، بلكه يك قسمت از كار يك كاربر را اجرا مي كند، سپس به سراغ كاربر بعدي مي رود و به او خدمات ارائه مي كند و اين كار را ادامه ميد هد. كامپيوتر اين كار را به قدري سريع انجام ميدهد كه در هر ثانيه به هر كاربر چندين بار خدمات ارائه مي كند و بدين ترتيب اين طور به نظر مي آيد كه برنامه ها را به طور همزمان اجرا مي كند. مزيت اشتراك زماني آن است كه كاربر از تقاضاي خود پاسخهاي تقريباً فوري دريافت مي كند و مجبور نيست مانند روشهاي قبلي مدت طولاني منتظر نتيجه بماند.
‏محاسبات شخصي ، محاسبات توزيعي، و محاسبات مشتري ،خدمتگزار
‏در سال 1977 ميلادي كامپيوتر اپل، پديدة محاسبات شخصي را رواج داد.در گذشته اين پديده يك رؤياي تفريحي بود. اما بعداً كامپيوتر به قدري ارزان شد كه مردم توانستند از آن كارهاي شخصي خود را معرفي كرد. كمي پس از آن، محاسبات شخصي در تجارت، صنعت وسازمانهاي دولتي، امري موجه گرديد. اما اين كامپيوترها ، واحدهايي ((مستقل)) بودند. يعني كار خود را روي دستگاههاي خودشان انجام مي دادند و سپس اطلاعات را روي ديسك ذخيره و به كامپيوترهاي ديگر منتقل مي كردند (به اين پديده ((شبكة ضمني1-Stand-alone
‏ )) گفته مي شود ). گرچه كامپيوتر هاي شخصي اوليه براي اشتراك زماني چند كاربره به اندازه كافي قوي نبودند اما تصال آنها به يكديگر به صورت شبكه اي (روي خطوط تلفن و يا در شبكه ‏هاي محلي (LAN)‏ درون يك‏ سازمان) ، امكان پذير بود . اين ايده منجر به پديده اي به نام محاسبات توزيعي گرديد كه در آن به جاي محاسبات يك سازمان، كاملاً در تاسيسات كامپيوتر مركزي انجام مي گيرد در سراسر شبكه هايي از مقرها ( كار كار واقعي آن سازمان در آنها اجرا مي گردد) توزيع مي شود . كامپيوترهاي شخصي به اندازه كافي قوي بودند كه هم نيازي محاسباتي كاربران منفرد را برآورد و هم كارهاي ارتباطي الكترونيكي اطلاعات را انجام دهند .
‏1
‏5
‏بيشتر كامپيوترهاي شخصي قدرتمند امروزي به اندازه دستگاههاي يك ميليون دلاري يك دهه قبل قوي هستند . قويترين دستگاههاي روميزي-موسوم به ايستگاههاي كاري-امكانات چشمگيري را در اختيار كاربران منفرد قرار مي دهند. در شبكه هاي كامپيوتري ، اطلاعات به آساني به طور مشترك مورد استفاده قرار ميگيرد و كامپيوترهايي به نام خدمتگزار، انبار از برنامه ها و داده ها را دراختيار كامپيوترهاي مشتري كه در سراسر شبكه ‏توزيع شده اند قرار مي دهند. و اصطلاحاً محاسبات مشتري خدمتگزار انجام مي گيرد. C++.C‏ زبانهاي برنامه نويسي اصلي براي نوشتن نرم افزار سيستمهاي عامل وشبكه هاي كامپيوتري و برنامه هاي كاربردي مشتري –‏خدمتگزار شده اند . سيستمهاي عامل رايج امروزي نظير يونيكس، سيستمهاي مبتني بر ويندوز مايكروسافت و OS/2‏ آي بي ام قابليتهايي را كه در اين بخش مطرح شده اند دارا هستند .
‏زبان ماشين ، زبان اسمبلي و زبان سطح بالا
‏برنامه نويسان، دستورالعملها را به زبانهاي برنامه نويسي گوناگوني مي نويسند. برخي از اين زبانها مستقيماً براي كامپيوتر قابل فهمند و برخي ديگر نياز به مراحل مياني ترجمه دارند. امروزه از صدها زبان كامپيوتري استفاده مي شود كه مي توان آنها را به سه نوع كلي زير تقسيم كرد:
‏1-زبانهاي ماشين 2-زبانهاي اسمبلي 3-زبانهاي سطح بالا
‏كامپيوترها تنهامي توانند زبان ماشين مربوط به خودشان را مستقيماً درك كنند. زبان ماشين ، ((زبان طبيعي)) كامپيوتر است و توسط طراحي سخت افزار آن كامپيوتر تعريف مي شود . برنامه هاي به زبان ماشين به طور كلي شامل رشته هايي از اعداد (كه نهايتاً تبديل به 1و0 مي شوند ) هستند كه به كامپيوتر دستور اجراي ابتدايي ترين اعمال را يكي پس از ديگري مي دهند. زبانهاي ماشين وابسته به ماشين هستند ؛ يعني يك زبان ماشين خاص، تنها مي تواند روي يك نوع كامپيوتر مورد استفاده قرار گيرد. همان طور كه در قطعه برنامه زير ديده مي شود كار با زبان ماشين براي انسانها دشوار است. قطعه برنامة زير اضافه پرداخت را با حقوق پايه جمع مي كند و نتيجه را در حقوق كل ذخيره مي كند .
+1300042774
+1400593419
+1200274027
‏با رواج بيشتر كامپيوتر، معلوم شد كه برنامه نويسي به زبان ماشين بسيار آهسته و براي بيشتر برنامه نويسان كار بسيار پرمشقتي است .از اين رو برنامه نويسان به جاي كار با رشته هايي از اعداد كه كامپيوترها مستقيماً آنها را درك مي كنند، شروع به استفاده از مخففهاي انگليسي گونه اي كه بيانگر اعمال ابتدايي كامپيوتر نمودند. اين مخففها اساس زبان اسمبلي را تشكيل داد . در پي آن برنامه هاي مترجمي به نام اسمبلر ايجاد شدند تا برنامه هاي اسمبلي را به سرعت به زبان ماشين تبديل كنند. قطعه برنامة اسمبلي زير نيز اضافه پرداخت را با حقوق پايه جمع مي كند و نتيجه را در حقوق كل ذخيره مي كند. ولي اين كار را واضحتر از معادل زبان ماشين آن انجام مي دهد :
LOAD BASEPAY
ADD OVERPAY
STORE GROSSPAY
‏گرچه اين كد براي انسان واضحتر است ولي تا به زبان ماشين ترجمه نشود براي كامپيوتر نامفهوم است. با ابداع‏ زبان اسمبلي، ميزان استفاده از كامپيوترها به سرعت افزايش يافت ولي اين زبان نيز براي انجام حتي ساده ترين كارها نياز به تعداد زيادي دستورالعمل داشت . براي تسريع فرآيند برنامه نويسي، زبانهاي سطح بالا ايجاد شدند كه در آنها يك جمله كارهاي بزرگي انجام مي داد . برنامه هاي مترجمي به نام كامپايلر، برنامه هاي به زبان سطح بالا را به زبان ماشين تبديل مي كردند . زبانهاي سطح بالا به برنامه نويسان اجازه مي دادند دستوالعملهايي بنويسند كه بسيار شبيه انگليسي روزمره و شامل نمادهاي رياضي معمول هستند . مانند :

 
دسته بندی: دانش آموزی و دانشجویی » دانلود تحقیق

تعداد مشاهده: 3625 مشاهده

فرمت فایل دانلودی:.DOC

فرمت فایل اصلی: .DOC

تعداد صفحات: 28

حجم فایل:266 کیلوبایت

 قیمت: 10,000 تومان
پس از پرداخت، لینک دانلود فایل برای شما نشان داده می شود.   پرداخت و دریافت فایل