35
ه م ا رن ب درس ر ب و ي پ م کا ي سار ه م ا رن ب دمات ق م ي س ي و ن ه م ا رن ب$ ان ن ر ات ي ئ ز ج ي سارC ++

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

Embed Size (px)

DESCRIPTION

درس برنامه ‌ سازي کامپيوتر. مقدمات برنامه ‌ نويسي جزئيات زبان برنامه ‌ سازي C++. الگوريتم Algorithm. روش حل مسئله مثال :. Flowchart. Flowchart. فرآيند برنامه ‌ نويسي. تعريف مسأله تدوين راه حل (الگوريتم-فلوچارت) توسط برنامه ‌ نويس از منابع ديگر پياده ‌ سازي بکمک زبان مورد نظر - PowerPoint PPT Presentation

Citation preview

Page 1: درس برنامه  سازي کامپيوتر

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

نويسي مقدمات برنامه++Cسازي جزئيات زبان برنامه

Page 2: درس برنامه  سازي کامپيوتر

Algorithmالگوريتم

روش حل مسئله•مثال : •

Page 3: درس برنامه  سازي کامپيوتر

Flowchart

Page 4: درس برنامه  سازي کامپيوتر

Flowchart

Page 5: درس برنامه  سازي کامپيوتر

نويسي فرآيند برنامه

تعريف مسأله•تدوين راه حل )الگوريتم-فلوچارت( •

نويس توسط برنامه•از منابع ديگر•

سازي بکمک زبان مورد نظر پياده•C ابتدا بر روي کاغذ• احتماٌالدر فايل-کامپايل-لينک•اجرا-اعمال وروديهاي مناسب- بررسي صحت پاسخها•در صورت لزوم اصالح الگوريتم/برنامه و تکرار تا •

C صحيح : کردنdebugدستيابي به پاسخ کامال

Page 6: درس برنامه  سازي کامپيوتر

Cقواعد زبان

Cمتن برنامة زبان •شامل•

A-Z و a-zحروف )الفباي انگليسي( •9-0ارقام •عالئم•

• [ ] < , > . + - ) ( * & ^ % $ # @ ! ` ~ \ | ? ; : _ ” ‘ = /{ }

•Blank هاtab و spaceشامل •

case حساس به نوع کاراکتراست : Cزبان •sensitive

Page 8: درس برنامه  سازي کامپيوتر

Cقواعد زبان

•Identifierهاشوند( کاراکتر اول در نظر گرفته مي32طول دلخواه )•شامل يک يا چند•

حرف )بزرگ يا کوچک(•رقم••Underline_ :

نبايد با رقم شروع شود•C از • هاي با identifierمعموٌال

شود تمامي حروف بزرگ در فايلهاي کتابخانه استفاده مي•شروع با _ در توابع و متغيرهاي سيستم )عامل( استفاده •

شود مي

Page 9: درس برنامه  سازي کامپيوتر

Cقواعد زبان

•Keywords( identifierتعريف شده هاي پيشC)

structintdoubleautoswitchlongelsebreaktypedefregisterenumcaseunionreturnexterncharunsignedshortfloatconstvoidsignedforcontinuevolatilesizeofgotodefaultwhilestaticifdo

Page 10: درس برنامه  سازي کامپيوتر

Cقواعد زبان

•Keywords( identifierتعريف شده هاي پيشC)++asm auto bool break case catch char class

const const_cast continue default delete do double dynamic_cast

else enum explicit export extern false float for

friend goto if inline int long mutable namespace

new operator private protected public register reinterpret_cast return

short signed sizeof static static_cast struct switch template

this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while _cdecl

cdecl _cs _ds _es _far _loadds _near _savereg

_seg _ss

Page 11: درس برنامه  سازي کامپيوتر

Cقواعد زبان

متغيرها•براي کار با اطالعات بايد بتوان•

آنها را در جايي نگهداي نمود•در زمان مورد نظر از مقادير آنها استفاده نمود•در صورت لزوم مقادير آنها را طبق نياز تغيير داد•

براي استفاده از متغير، نخست بايد نوع Cدر •متغير را مشخص نمود

Page 12: درس برنامه  سازي کامپيوتر

متغيرها

ها محل نگهداري داده•شود متغير با نام و نوعش مشخص مي•

• char a;• int b=1, c=2;• float d, e=4.5;• char f[]=“a new program”;• int g[5]={1,4,35,109,6};

Page 13: درس برنامه  سازي کامپيوتر

char

يک بايتي•کند را اتخاذ مي127- تا 128با عالمت : مقادير بين •

27-1- تا 27•

unsigned احتياج دارد : modifierعالمت به نوع بي•28-1صفر تا •

کاربرد:•کار با مقادير کوچک•افزار )بيتها و بايتها( کارهاي مرتبط با سخت•کار با متون•

Page 14: درس برنامه  سازي کامپيوتر

int

بايتي4 يا 2• بيتي 32 بايتي و در نوع 2 بيتي 16عاملهاي در سيستم•

چهار بايتي چهار 231-1- تا 231 براي دو بايتي و 215-1- تا 215•

بايتي

احتياج دارد : modifierعالمت به نوع بي•unsigned

232-1 يا صفر تا 216-1صفر تا •

کاربرد:•کارهاي معمول با اعداد صحيح، ردة مقادير متوسط•

Page 15: درس برنامه  سازي کامپيوتر

short

بايتي(2 بيتي )16 در حالت intهمان متغير نوع ••short intمعادل آن است

Page 16: درس برنامه  سازي کامپيوتر

long

بايتي(4 بيتي )32 در حالت intهمان متغير نوع ••long intمعادل آن است

Page 17: درس برنامه  سازي کامپيوتر

enum

در حالتي که متغير مورد نياز حالتهايي را اتخاذ •C مقدار يا عددي نيستند مي نمايد که واقعا

مثال : تعريف نوع متغير•�ل را مشخص کند• متغيري که نوع گ

• enum gols {rose, daisy, orchid, tulip};

متغيري که نوع خودرو را مشخص کند•• enum cars {benz, nissan, bmw, lexus, mazda, samand};

متغيري که نوع پاسخ به سؤال را مشخص کند•• enum javab {yes, no, dont_know};

C از نوع • خواهد بودintاين متغير واقعا

Page 18: درس برنامه  سازي کامپيوتر

enum

مثال : تعريف نمونة متغير•�ل را مشخص کند• متغيري که نوع گ

• enum gols gol;

متغيري که نوع خودرو را مشخص کند•• enum cars car, mashin;

متغيري که نوع پاسخ به سؤال را مشخص کند•• enum javab pasokh;

کاربرد :•• gol=daisy; if (pasokh==no); car=mashin;

Page 19: درس برنامه  سازي کامپيوتر

float

متغير با امکان نمايش مقادير کوچکتر از واحد• بايتي4•محدودة نمايش اعداد•

C از • و معادل آن در 3/4× 10+38 تا 3/4× 10-38تقريبامحدودة اعداد منفي و صفر

بيتي( و نماي يک بايتي24 بايتي )3مانتيس •10 رقم با معني مبناي 7معادل •

Page 20: درس برنامه  سازي کامپيوتر

double

متغير با امکان نمايش مقادير کوچکتر از واحد• بايتي8•محدودة نمايش اعداد•

C از • و معادل آن 1/7× 10+308 تا 1/7× 10-308تقريبادر محدودة اعداد منفي و صفر

بيتي( و نماي دو بايتي48 بايتي )6مانتيس •10معادل پانزده رقم با معني مبناي •

Page 21: درس برنامه  سازي کامپيوتر

long double

متغير با امکان نمايش مقادير کوچکتر از واحد• بايتي10•محدودة نمايش اعداد•

C از • و معادل آن 1/7× 10+308 تا 1/7× 10-308تقريبادر محدودة اعداد منفي و صفر

بيتي( و نماي دو بايتي64 بايتي )8مانتيس •10 رقم بامعني مبناي 19معادل •

Page 22: درس برنامه  سازي کامپيوتر

pointer

گرها به آدرسهاي جهت ذخيرة مقادير اشاره•حافظه

شکل خاص دارد و با متغيرهاي ديگر مشابهتي •ندارد

( بيت64 )يا 32فضاي مورد استفاده : •

Page 23: درس برنامه  سازي کامپيوتر

تعريف مقادير ثابت

گاهي ٌالزم است مقادير ثابتي را در برنامه تعريف کنيم•يعني به هيچ ترتيب نشود مقدار آن تغيير کند•

روشها :• : modifierبکمک •

محل تعريف : در فضاي اصلي برنامه•C متغيري ايجاد مي• گردد شود = فضاي حافظه استفاده مي در اين روش واقعا

• const float pi = 3.14159;

: preprocessorبکمک •محل تعريف : در ابتدا : قبل از فضاي اصلي برنامه : فضاي مشخص نمودن •

preprocessعمليات شود = قبل از کامپايل شدن برنامه مقدار در اين روش متغيري ايجاد نمي•

گردد ) ; ٌالزم ندارد( تعريف شده به متن اصلي اعمال مي• #define pi 3.14159

Page 24: درس برنامه  سازي کامپيوتر

عملگرها

• + - * / % -- ++• Pre(post)in(de)crement

• a=5; b=3;• c=a--+b+a---a++;• d=--a---b+--a-++a;

تقدم عملگرها•• (++,--) (sign +,-) (*,/,%) (+,-)

در صورت ابهام شکل داراي اولويت باٌالتر انتخاب •شود مي

Page 25: درس برنامه  سازي کامپيوتر

تبديل انواع متغيرها

در عملياتي که طرفين عمليات همجنس نيستند، •تر به نوع باٌالتر تبديل شده، نخست طرف نوع پايين

شود سپس عمل اجرا ميترتيب انواع : •

• long double• double• float• long• int• short• Char

Page 26: درس برنامه  سازي کامپيوتر

قطع شدن عدد

هنگام انتقال محتويات متغير با ابعاد بزرگتر به •متغير با ابعاد کوچکتر )با فرض انتقال سالم(

به وضعيتهاي مختلفي که در محدودة اعداد مثبت و •دهد توجه کنيد منفي رخ مي

بخش صحيح•( rounding)گرد کردن ••ceiling •floor

Page 27: درس برنامه  سازي کامپيوتر

مثال

• int n=3, m=4;• float f=7, g; // float f=7.0, g;• g=f+n/m;• g=f+float(n)/m;• g=f+3.0/m;• g=m+f/n

Page 28: درس برنامه  سازي کامپيوتر

عملگرهاي بيتي

•&>> ، << ، ~ ، ^ ، | ، • char b=3, a=50, c; // a=0000,0011 b=0011,0010• c=a&b;• c=a|b;• c=a^b;• c=a&~b;• c=a<<1;• c=b>>2;

Page 29: درس برنامه  سازي کامپيوتر

عملگرهاي نسبي )ارزيابي(

== ، >= ، <= ، > ، < ، != شامل عمليات پاية •قابل ترکيب بکمک عملگرهاي ( ، ) ، && ، || ، ~ •

• char a=2, b=3;• printf(“\n %d > %d is %d” , a, b, (a>b));• c=(a<=(b-1));

توجه شود که هر عبارت مورد ارزيابي، در هر مرحلة ارزيابي، •شود. صحيح يا غلط ارزيابي مي

ارزش عبارت غلط معادل صفر و ارزش عبارت صحيح معادل •يک خواهد بود

اگر عددي بدون عملگر در موقعيت ارزيابي قرار گيرد در •صورتي که مقدار آن )محتويات آن( صفر )عدد صفر( باشد شود معادل غلط و در غير اين صورت معادل صحيح ارزيابي مي

Page 30: درس برنامه  سازي کامپيوتر

عملگرهاي ترکيبي

شوند )چند عمل برخي عملگرها با هم ترکيب مي•شود( با يک عملگر ترکيبي نشان داده مي

• a+=1; // equal to a=a+1;عملگرهاي ترکيبي مشابه•

• -= , *= , /= , %= , >>= , <<= , &= , |= , ^=

Page 31: درس برنامه  سازي کامپيوتر

عملگرها – ساير حالتها

•&x آدرس متغير x•*p محتويات آدرس p

Page 32: درس برنامه  سازي کامپيوتر

حالتهاي خاص

• x = a>b ? 3 : 4 ;• y = ( x=2, x*4/y );• x= sizeof y;• m=sizeof(float);

Page 33: درس برنامه  سازي کامپيوتر

تقدم عمليات )جزئيات(

• () [] -> .• ++ -- ~ ! & * - sizeof ( گر و عالمت اشاره )• * / %• + -• >> <<• > <= >= >• == !=• & ^ |• && ||• ? :• = %= += -= *= /= <<= >>= &= ^= |=• ,

Page 34: درس برنامه  سازي کامپيوتر

مثال

• y = 4 * 2 / (3+1)+(6+(7-2+8));

Page 35: درس برنامه  سازي کامپيوتر

نمونة برنامه

•Convert