زبانهاي برنامهنويسي

26
ي س ي و ن ه م ا رن ب هاي ن ا ن ز از ز ف رما ب ها هاي ن ا ن د. ز ون ش ي م ه# ت ش و ن ي س ي و ن ه م ا رن ب هاي ن ا ن وسط ز# ن( وان# ن ي م ها ن* وسط ا# ن ه ك د ن- ت س ه ي ط ا ن# ت م از# ت س سي8 ك ي، ي س ي و ن ه م ا رن بل داد. ا# ق# ت@ ت ا( ن ي س ه ما ب م زا لاز# وزات# ت ش داعد و و# ق م، ي لا ع از يO ها ع و م ج م ه ب ي س ي و ن ه م ا رن ب( ان ن رز ه# ت ه ج ر زا# ب و تY ت م كا ا اط ن ن# ت از( مكان ه ا ك ود ش ي م ه# ت ف گ لها م ع ل وزا# ت ش د د. ن ك ي م م ه زا ف هاي لO ن س م ل ح ا ن كازي( ان نi ت

Upload: amena-villarreal

Post on 30-Dec-2015

49 views

Category:

Documents


0 download

DESCRIPTION

زبانهاي برنامه‌نويسي. نرم‌افزار ها توسط زبانهاي برنامه‌نويسي نوشته مي‌شوند. زبانهاي برنامه‌نويسي، يك سيستم ارتباطي هستند كه توسط آنها مي‌توان دستورات لازم را به ماشين انتقال داد. - PowerPoint PPT Presentation

TRANSCRIPT

زبانهاي برنامه نويسي

توسط زبانهاي برنامه نويسي نوشته مي شوند. هانرم افزار•زبانهاي برنامه نويسي، يك سيستم ارتباطي هستند كه

توسط آنها مي توان دستورات الزم را به ماشين انتقال داد.

هرزبان برنامه نويسي به مجموعه أي از عاليم، قواعد و •دستورالعمل ها گفته مي شود كه امكان ارتباط با كامپيوتر

را جهت بيان كاري يا حل مسئله اي فراهم مي كند.

زبانهاي سطح باال•زبانهاي سطح پايين•زبانهاي سطح مياني•

در حالت كلي زبانهاي برنامه نويسي را به سه دسته زير تقسيم بندي مي كنند:

Source program

Object program

Compiler

كامپايلر برنامه نوشته در يك زبان سطح باال را به برنامه مقصد تبديل مي كند.

هاي هاي يک زبان همه منظوره است. دستورالعمل يک زبان همه منظوره است. دستورالعملCCزبان زبان زبان بسيار شبيه عبارات جبري و نحو آن شبيه زبان بسيار شبيه عبارات جبري و نحو آن شبيه ايناين

CCشود که شود که . اين امر سبب مي. اين امر سبب مي ميباشد ميباشدجمالت انگليسيجمالت انگليسينويسي در آن آسان نويسي در آن آسان برنامهبرنامه يک زبان سطح باال باشد کهيک زبان سطح باال باشد که

است است

++C که از نسل Cهاي است، تمام ويژگيC را به +Cارث برده است. اما برتري فني ديگري هم دارد:

توان با استفاده از اين گرا« است. مي اکنون »شي+هاي گرا توليد نمود. برنامه هاي شي خاصيت، برنامه

اند، اند، قابل روزآمد کردن يافته گرا منظم و ساخت شييابند و قابليت اطمينان و به سهولت تغيير و بهبود مي

. پايداري بيشتري دارند

++Cزبان

++cتاريخچه زبان

هاي بUل زبUاني بUه نUام در آزمايشUگاه1970در دهUه C رکتUار شUان در اختيUار اين زبUد. انحصUاد شUايج

توسUUط 1978بUUل بUUود تUUا اين کUUه در سUUال Kernighan و Richie انUاملي از اين زبUرح کUش

نويسUUان منتشUUر شUUد و بUUه سUUرعت نظUUر برنامهاي را جلب نمود. حرفه

گرايي و مزايUUاي آن در هنگUUامي کUUه بحث شUUي کUه قUابليت CافUزار رونUق يUافت، زبUان جهUان نرم

رسUيد تUا اين گرايي نداشUت نUاقص بUه نظUر مي شUي دوبUاره شUرکت بUل دسUت 1980کUه در اوايUل دهUۀ_

++ را C زبUان Bjarne StroustrupبUه کUار شUد و طراحي نمود

C++ انUبي از دو زبUترکي C و Simula ود وUب گرايي نUيز داشUت. از آن زمUان هUاي شUي قابليت

هاي زيUادي کامپايلرهUايي بUراي بUه بعUد شUرکتC++ دUUبب شUUر سUUد. اين امUUراحي کردنUUط

هاي مختلUف اين زبUان بUه هUايي بين نسUخه تفاوتوجUود بيايUد و از قUابليت سUازگاري و انتقUال آن

کاسته شود.

++C زبUUان 1998به همين دليUUل در سUUال توسUUط موسسUUۀ_ اسUUتانداردهاي ملي آمريکUUا

(ANSI)آمد. پارچه در به شکل استاندارد و يک

؟ ++Cچرا -1

ي�ک زب�ان هم�ه منظ�وره استCزب�ان •

ه�ايي تعبي�ه ش�ده در اين زب�ان عملگر•نويس�ي س�طح پ�ايين و ب�ه ک�ه برنامه

پ���ذير زب���ان ماش���ين را ن���يز امکانسازد مي عملگره��اي ف��راواني دارد، Cچون •

ه���ا در اين زب���ان ک���د منب���ع برنامهبسيار کوتاه است

شود بسيار ‌ ساخته ميCبرنامۀ: مقصدي که توسط کامپايلرهاي •ها است.‌هاي مشابه در ساير زبان‌تر از برنامه‌حجم‌تر و کم‌فشرده

•C++ که از نسل Cهاي ‌ است، تمام ويژگي. را به ارث برده استCجذاب

++Cو سرانجام آخرين دليل استفاده از • است.#Cورود به دنياي

ب�راي اج�راي بس�ياري از دس�توراتش از C زب�ان •کن��د و بيش��تر ‌اي اس��تفاده مي‌تواب��ع کتابخ��انه

افزار را ب�ه اين ‌خصوص�يات وابس�ته ب�ه س�ختنمايد. ‌توابع واگذار مي

Algorithmsالگوریتم ها

هدفهاي كلي

اجزاء الزم برای حل مسئله شناخت

شناخت راه حل مسئله و ارائه الگوریتم

بررسی صحت الگوریتم

مقدمه انسان با مسائل مختلفي ،در زندگي روزمره

روبروست و براي هر كدام مشكالت( راه حلي و حل از اين مسائل )از قبيل راه ی گزيند. مسائل‌روشي را بر مي

ا خوردن، خوابيدن و غيره كه بشر غذرفتن، ريبا_ هر روز آنها را پيش روي خود دارد.قت همه اين مسائل نياز به روشي براي حل كردن دارند مثال راه رفتن بايد

با ترتيب خاصي و مراحل معيني انجام شود. تا مسئله راه رفتن براي بشر حل شود. اصطالحا_ روش انجام كار يا حل مسئله را الگوريتم آن

نامند‌ مسئله مي

تعريف الگوريتم

باشد كه ‌اي از دستورالعمل ها، براي حل مسئله مي‌ الگوريتم مجموعهشرايط زير را بايد دارا باشد:

دقيق باشد • جزئيات كامل حل مسئله را داشته باشد.•پذير باشد.‌پايان•

مراحل الگوريتم

براي حل يك مسئله بايد الگوريتم آن مسئله را i طراحي مشخص كنيم )يا بيابيم(. كه اصطالحا

شود. در طراحي الگوريتم براي آن مسئله ناميده ميi سه مرحله زير را از هم جدا الگوريتم معموال

كنند: مي

ها‌خواندن داده•انجام محاسبات•ها‌خروجي•

الگوريتمي بنويسيد كه دو عدد از ورودي دريافت كرده : مثال مجموع

دو عدد را محاسبه و چاپ نمايد.

انجام محاسبات خروجي ها ‌‌‌‌‌‌‌‌وروديها

مجموع دو عدد جمع دو عدد a‌‌,‌‌b

� شروع 0 1 �b‌,a.را بخوان قرار بده.sum را محاسبه و در �b‌,‌a مجموع 23 �sum را در خروجي چاپ كن � پايان4

انجام محاسبات ها خروجي وروديها

چاپ مجموع محاسبه مجموع a

چاپ ميانگين محاسبه ميانگين b

c

مثال: الگوريتمي بنويسيد كه سه عدد از ورودي دريافت كرده مجموع و ميانگين سه

.عدد را محاسبه و چاپ كند

� شروع0� سه عدد از ورودي بخوان1 قرار بده.�sum مجموع سه عدد را محاسبه و در 23 �sum را بر سه تقسيم كرده،در ave.قرار بده 4 �ave‌,‌sum.را در خروجي چاپ كن � پايان.5

معموال درك يك الگوريتم با شكل راحتر از نوشتن آن بصورت متن

باشد. لذا الگوريتم را با ‌ميدهند.‌(نمايش مي flowchartفلوچارت)

شود.‌هاي زير تشكيل مي‌ فلوچارت از شكل

Begin End

خواندن یا Read

چاپ کردن write

كنند: هاي شروع و پايان: كه معموال از يك بيضي استفاده مي عالمت

شود: االضالع استفاده مي عالمتهاي ورودي و خروجي: كه معموال از متوازي

عالمتهاي محاسباتي و جايگزيني: براي نمايش دستورات جايگزينيو محاسباتي از مستطيل استفاده مي كنند:

جایگزین یا محاسبات

عالمت شرط: براي نمايش شرط از لوزي •.شود‌استفاده مي

هاي ‌عالمت اتصال: براي اتصال شكل•هاي‌مختلف بهم از فلش

كنند.‌دار استفاده مي‌ جهت

Begin

Read(a,b,c)

Sum a+b+c

Ave sum/3

Write(sum,ave)

End

فلوچارت مجموع •سه عدد

مثال: فلوچارتی رسم نمائيد كه دو عدد از ورودي دريافت كرده سپسنمايد.‌ محتويات دو عدد را با هم جابجا

را دو متغير كه در آنها دو عدد خوانده شده،b‌,‌aبراي حل اين مسئله گيريم. سپس با استفاده از يك متغير كمكي‌گيرند در نظر مي‌ قرار مي

كنيم : ‌ محتويات اين دو عدد را جابجا مي

12 15

temp

temp

a b

12 15

12

a b

temp

15 15

12

a b

temp

15 12

12

a b

temp

Begin

Read(a,b)

temp‌‌‌‌‌‌‌‌‌‌‌‌a

a‌‌‌‌‌‌‌‌‌‌‌b

Write(a,b)

End

b‌‌‌‌‌‌‌‌‌‌‌temp

‌:فلوچارت مسئله باال بصورت زير خواهد بود

تمرين� فلوچارتي رسم نمائيد كه طول و عرض مستطيل را از ورودي دريافت1

كرده محيط و مساحت آنرا محاسبه و چاپ كند.

اي را از ورودي دريافت كرده، ‌� فلوچارتي رسم نمائيد كه شعاع دايره2محيط و مساحت آنرا محاسبه و چاپ نمايد.

‌,‌�Third فلوچارتي رسم كنيد كه سه عدد 3second,‌first را از ورودي دريافت كرده، محتويات

آنها را به صورت حلقه ای جابجا نموده، حاصل چاپ كند. را در خروجي

� فلوچارتي رسم نمائيد كه دو عدد از ورودي دريافت كرده، سپس 4محتويات دو عدد را بدون استفاده از متغير كمكي جابجا كند.

� فلوچارتي رسم نمائيد كه عددي )درجه حرارت برحسب سانتيگراد( 5را از ورودي دريافت كرده سپس آنرا به درجه فارنهايت تبديل كند.

هاي شرطي ‌ دستورالعمل

در حل بسياري از مسائل يا تقريبا_ تمام مسائل نياز به استفاده از شروطشود. همانطور كه ما خودمان در‌ جزء، نيازهاي اساسي محسوب مي

ها سركار داريم. بطور مثال اگر هوا ابري ‌ زندگي روزمره با اين شرطباشد ممكن است چنين سخن بگوييم:

دارم.‌ اگر هوا باراني باشد سپس چتري برمي•دارم.‌در غير اينصورت چتر برنمي

در حالت كلي شرط را بصورت زير نمايش دهند:‌مي

If‌ شرط یاthen شروط

‌yes عمل يا اعمال

NO

عمل يا اعمال بعدي

: فلوچارتي رسم نمائيد كه عددي را از ورودي مثال Beginدريافت كرده، فرد يا زوج بودن آن را تشخيص دهد.

Read(a)

R a mod 2

Write(‘odd’)

End

if R=0 then

No

yesWrite(‘even’)

مثال : فلوچارتي رسم كنيد كه دو عدد از ورودي دريافت كرده بزرگترين عدد را پيدا كرده در خروجي چاپ نمايد.