280 likes | 545 Views
زبانهاي برنامهنويسي. نرمافزار ها توسط زبانهاي برنامهنويسي نوشته ميشوند. زبانهاي برنامهنويسي، يك سيستم ارتباطي هستند كه توسط آنها ميتوان دستورات لازم را به ماشين انتقال داد.
E N D
زبانهاي برنامهنويسي • نرمافزارها توسط زبانهاي برنامهنويسي نوشته ميشوند. زبانهاي برنامهنويسي، يك سيستم ارتباطي هستند كه توسط آنها ميتوان دستورات لازم را به ماشين انتقال داد. • هرزبان برنامهنويسي به مجموعهأي از علايم، قواعد و دستورالعملها گفته ميشود كه امكان ارتباط با كامپيوتر را جهت بيان كاري يا حل مسئلهاي فراهم ميكند.
در حالت كلي زبانهاي برنامهنويسي را به سه دسته زير تقسيمبندي ميكنند: • زبانهاي سطح بالا • زبانهاي سطح پايين • زبانهاي سطح مياني
Compiler Source program Object program كامپايلر برنامه نوشته در يك زبان سطح بالا را به برنامه مقصد تبديل ميكند.
زبان C++ زبان C يک زبان همه منظوره است. دستورالعملهاي اينزبان بسيار شبيه عبارات جبري و نحو آن شبيه جملات انگليسي ميباشد. اين امر سبب ميشود که C يک زبان سطح بالا باشد کهبرنامهنويسي در آن آسان است ++C که از نسل C است، تمام ويژگيهاي C را به ارث برده است. اما برتري فني ديگري هم دارد: C++ اکنون «شيگرا» است. ميتوان با استفاده از اين خاصيت، برنامههاي شيگرا توليد نمود. برنامههاي شيگرا منظم و ساختيافتهاند، قابل روزآمد کردناند، به سهولت تغيير و بهبود مييابند و قابليت اطمينان و پايداري بيشتري دارند.
تاريخچه زبان c++ در دهه 1970 در آزمايشگاههاي بل زباني به نام C ايجاد شد. انحصار اين زبان در اختيار شرکت بل بود تا اين که در سال 1978 توسط Kernighan و Richie شرح کاملي از اين زبان منتشر شد و به سرعت نظر برنامهنويسان حرفهاي را جلب نمود. هنگامي که بحث شيگرايي و مزاياي آن در جهان نرمافزار رونق يافت، زبان C که قابليت شيگرايي نداشت ناقص به نظر ميرسيد تا اين که در اوايل دهۀ 1980 دوباره شرکت بل دست به کار شد و Bjarne Stroustrup زبان C++ را طراحي نمود
C++ ترکيبي از دو زبان C و Simula بود و قابليتهاي شيگرايي نيز داشت. از آن زمان به بعد شرکتهاي زيادي کامپايلرهايي براي C++ طراحي کردند. اين امر سبب شد تفاوتهايي بين نسخههاي مختلف اين زبان به وجود بيايد و از قابليت سازگاري و انتقال آن کاسته شود. به همين دليل در سال 1998 زبان C++ توسط موسسۀ استانداردهاي ملي آمريکا (ANSI) به شکل استاندارد و يکپارچه درآمد.
1-چرا C++؟ • زبان C يک زبان همه منظوره است • در اين زبان عملگرهايي تعبيه شده که برنامهنويسي سطح پايين و به زبان ماشين را نيز امکانپذير ميسازد • چون C عملگرهاي فراواني دارد، کد منبع برنامهها در اين زبان بسيار کوتاه است
زبان C براي اجراي بسياري از دستوراتش از توابع کتابخانهاي استفاده ميکند و بيشتر خصوصيات وابسته به سختافزار را به اين توابع واگذار مينمايد. • برنامۀ مقصدي که توسط کامپايلرهاي C ساخته ميشود بسيار فشردهتر و کمحجمتر از برنامههاي مشابه در ساير زبانها است. • C++ که از نسل C است، تمام ويژگيهاي جذاب C را به ارث برده است. • و سرانجام آخرين دليل استفاده از C++ ورود به دنياي C# است.
Algorithms الگوریتم ها هدفهاي كلي شناخت راه حل مسئله و ارائه الگوریتم شناخت اجزاء لازم برای حل مسئله بررسی صحت الگوریتم
مقدمه در زندگي روزمره، انسان با مسائل مختلفي روبروست و براي هر كدام از اين مسائل (حل مشكلات) راه حلي و روشي را بر ميگزيند. مسائلی از قبيل راه رفتن، غذا خوردن، خوابيدن و غيره كه بشر تقريباً هر روز آنها را پيش روي خود دارد. همه اين مسائل نياز به روشي براي حل كردن دارند مثلا راه رفتن بايد با ترتيب خاصي و مراحل معيني انجام شود. تا مسئله راه رفتن براي بشر حل شود. اصطلاحاً روش انجام كار يا حل مسئله را الگوريتم آن مسئله مينامند
تعريف الگوريتم الگوريتم مجموعهاي از دستورالعمل ها، براي حل مسئله ميباشد كه شرايط زير را بايد دارا باشد: • دقيق باشد • جزئيات كامل حل مسئله را داشته باشد. • پايانپذير باشد.
مراحل الگوريتم براي حل يك مسئله بايد الگوريتم آن مسئله را مشخص كنيم (يا بيابيم). كه اصطلاحاً طراحي الگوريتم براي آن مسئله ناميده ميشود. در طراحي الگوريتم معمولاً سه مرحله زير را از هم جدا ميكنند: • خواندن دادهها • انجام محاسبات • خروجيها
مثال : الگوريتمي بنويسيد كه دو عدد از ورودي دريافت كرده مجموع دو عدد را محاسبه و چاپ نمايد. خروجيها انجام محاسباتوروديها مجموع دو عدد جمع دو عدد a , b 0ـ شروع 1ـ b ,a را بخوان. 2ـ مجموع b , a را محاسبه و در sum قرار بده. 3ـ sum را در خروجي چاپ كن 4ـ پايان
مثال: الگوريتمي بنويسيد كه سه عدد از ورودي دريافت كرده مجموع و ميانگين سه عدد را محاسبه و چاپ كند. خروجيها انجام محاسباتوروديها چاپ مجموع محاسبه مجموع a چاپ ميانگين محاسبه ميانگين b c 0ـ شروع 1ـ سه عدد از ورودي بخوان 2ـ مجموع سه عدد را محاسبه و در sum قرار بده. 3ـ sum را بر سه تقسيم كرده،در ave قرار بده. 4ـ ave , sum را در خروجي چاپ كن. 5ـ پايان.
معمولا درك يك الگوريتم با شكل راحتر از نوشتن آن بصورت متن ميباشد. لذا الگوريتم را با فلوچارت( flowchart )نمايش ميدهند. فلوچارت از شكلهاي زير تشكيل ميشود. • علامتهاي شروع و پايان: كه معمولا از يك بيضي استفاده ميكنند: End Begin • علامتهاي ورودي و خروجي: كه معمولا از متوازيالاضلاع استفاده ميشود: خواندن یا Read چاپ کردن write
علامتهاي محاسباتي و جايگزيني: براي نمايش دستورات جايگزيني و محاسباتي از مستطيل استفاده ميكنند: جایگزین یا محاسبات • علامت شرط: براي نمايش شرط از لوزي استفاده ميشود. • علامت اتصال: براي اتصال شكلهاي مختلف بهم از فلشهاي • جهتدار استفاده ميكنند.
Begin Read(a,b,c) Sum a+b+c Ave sum/3 Write(sum,ave) End • فلوچارت مجموع سه عدد
مثال: فلوچارتی رسم نمائيد كه دو عدد از ورودي دريافت كرده سپس محتويات دو عدد را با هم جابجا نمايد. براي حل اين مسئله b , a را دو متغير كه در آنها دو عدد خوانده شده، قرار ميگيرند در نظر ميگيريم. سپس با استفاده از يك متغير كمكي محتويات اين دو عدد را جابجا ميكنيم :
temp a b a b 12 15 12 15 temp 12 temp a b b a 15 12 15 15 12 12 temp temp
Begin Read(a,b) temp a a b b temp Write(a,b) End فلوچارت مسئله بالا بصورت زير خواهد بود:
تمرين 1ـ فلوچارتي رسم نمائيد كه طول و عرض مستطيل را از ورودي دريافت كرده محيط و مساحت آنرا محاسبه و چاپ كند. 2ـ فلوچارتي رسم نمائيد كه شعاع دايرهاي را از ورودي دريافت كرده، محيط و مساحت آنرا محاسبه و چاپ نمايد. 3ـ فلوچارتي رسم كنيد كه سه عدد Third , second, first را از ورودي دريافت كرده، محتويات آنها را به صورت حلقه ای جابجا نموده، حاصل را در خروجيچاپ كند.
4ـ فلوچارتي رسم نمائيد كه دو عدد از ورودي دريافت كرده، سپس محتويات دو عدد را بدون استفاده از متغير كمكي جابجا كند. 5ـ فلوچارتي رسم نمائيد كه عددي (درجه حرارت برحسب سانتيگراد) را از ورودي دريافت كرده سپس آنرا به درجه فارنهايت تبديل كند.
دستورالعملهاي شرطي در حل بسياري از مسائل يا تقريباً تمام مسائل نياز به استفاده از شروط جزء، نيازهاي اساسي محسوب ميشود. همانطور كه ما خودمان در زندگي روزمره با اين شرطها سركار داريم. بطور مثال اگر هوا ابري باشد ممكن است چنين سخن بگوييم: • اگر هوا باراني باشد سپس چتري برميدارم. • در غير اينصورت چتر برنميدارم.
If شرط یا شروط then در حالت كلي شرط را بصورت زير نمايش ميدهند: عمل يا اعمال yes NO عمل يا اعمال بعدي
مثال : فلوچارتي رسم نمائيد كه عددي را از ورودي دريافت كرده، فرد يا زوج بودن آن را تشخيص دهد. Begin Read(a) R a mod 2 yes if R=0 then Write(‘even’) No Write(‘odd’) End
مثال : فلوچارتي رسم كنيد كه دو عدد از ورودي دريافت كرده بزرگترين عدد را پيدا كرده در خروجي چاپ نمايد.