View
64
Download
1
Category
Preview:
DESCRIPTION
درس برنامه سازي کامپيوتر. مقدمات برنامه نويسي جزئيات زبان برنامه سازي C++. الگوريتم Algorithm. روش حل مسئله مثال :. Flowchart. Flowchart. فرآيند برنامه نويسي. تعريف مسأله تدوين راه حل (الگوريتم-فلوچارت) توسط برنامه نويس از منابع ديگر پياده سازي بکمک زبان مورد نظر - PowerPoint PPT Presentation
Citation preview
سازي کامپيوتر درس برنامه
نويسي مقدمات برنامه++Cسازي جزئيات زبان برنامه
Algorithmالگوريتم
روش حل مسئله•مثال : •
Flowchart
Flowchart
نويسي فرآيند برنامه
تعريف مسأله•تدوين راه حل )الگوريتم-فلوچارت( •
نويس توسط برنامه•از منابع ديگر•
سازي بکمک زبان مورد نظر پياده•C ابتدا بر روي کاغذ• احتماٌالدر فايل-کامپايل-لينک•اجرا-اعمال وروديهاي مناسب- بررسي صحت پاسخها•در صورت لزوم اصالح الگوريتم/برنامه و تکرار تا •
C صحيح : کردنdebugدستيابي به پاسخ کامال
Cقواعد زبان
Cمتن برنامة زبان •شامل•
A-Z و a-zحروف )الفباي انگليسي( •9-0ارقام •عالئم•
• [ ] < , > . + - ) ( * & ^ % $ # @ ! ` ~ \ | ? ; : _ ” ‘ = /{ }
•Blank هاtab و spaceشامل •
case حساس به نوع کاراکتراست : Cزبان •sensitive
Cقواعد زبان
•Identifierهاشوند( کاراکتر اول در نظر گرفته مي32طول دلخواه )•شامل يک يا چند•
حرف )بزرگ يا کوچک(•رقم••Underline_ :
نبايد با رقم شروع شود•C از • هاي با identifierمعموٌال
شود تمامي حروف بزرگ در فايلهاي کتابخانه استفاده مي•شروع با _ در توابع و متغيرهاي سيستم )عامل( استفاده •
شود مي
Cقواعد زبان
•Keywords( identifierتعريف شده هاي پيشC)
structintdoubleautoswitchlongelsebreaktypedefregisterenumcaseunionreturnexterncharunsignedshortfloatconstvoidsignedforcontinuevolatilesizeofgotodefaultwhilestaticifdo
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
Cقواعد زبان
متغيرها•براي کار با اطالعات بايد بتوان•
آنها را در جايي نگهداي نمود•در زمان مورد نظر از مقادير آنها استفاده نمود•در صورت لزوم مقادير آنها را طبق نياز تغيير داد•
براي استفاده از متغير، نخست بايد نوع Cدر •متغير را مشخص نمود
متغيرها
ها محل نگهداري داده•شود متغير با نام و نوعش مشخص مي•
• 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};
char
يک بايتي•کند را اتخاذ مي127- تا 128با عالمت : مقادير بين •
27-1- تا 27•
unsigned احتياج دارد : modifierعالمت به نوع بي•28-1صفر تا •
کاربرد:•کار با مقادير کوچک•افزار )بيتها و بايتها( کارهاي مرتبط با سخت•کار با متون•
int
بايتي4 يا 2• بيتي 32 بايتي و در نوع 2 بيتي 16عاملهاي در سيستم•
چهار بايتي چهار 231-1- تا 231 براي دو بايتي و 215-1- تا 215•
بايتي
احتياج دارد : modifierعالمت به نوع بي•unsigned
232-1 يا صفر تا 216-1صفر تا •
کاربرد:•کارهاي معمول با اعداد صحيح، ردة مقادير متوسط•
short
بايتي(2 بيتي )16 در حالت intهمان متغير نوع ••short intمعادل آن است
long
بايتي(4 بيتي )32 در حالت intهمان متغير نوع ••long intمعادل آن است
enum
در حالتي که متغير مورد نياز حالتهايي را اتخاذ •C مقدار يا عددي نيستند مي نمايد که واقعا
مثال : تعريف نوع متغير•�ل را مشخص کند• متغيري که نوع گ
• enum gols {rose, daisy, orchid, tulip};
متغيري که نوع خودرو را مشخص کند•• enum cars {benz, nissan, bmw, lexus, mazda, samand};
متغيري که نوع پاسخ به سؤال را مشخص کند•• enum javab {yes, no, dont_know};
C از نوع • خواهد بودintاين متغير واقعا
enum
مثال : تعريف نمونة متغير•�ل را مشخص کند• متغيري که نوع گ
• enum gols gol;
متغيري که نوع خودرو را مشخص کند•• enum cars car, mashin;
متغيري که نوع پاسخ به سؤال را مشخص کند•• enum javab pasokh;
کاربرد :•• gol=daisy; if (pasokh==no); car=mashin;
float
متغير با امکان نمايش مقادير کوچکتر از واحد• بايتي4•محدودة نمايش اعداد•
C از • و معادل آن در 3/4× 10+38 تا 3/4× 10-38تقريبامحدودة اعداد منفي و صفر
بيتي( و نماي يک بايتي24 بايتي )3مانتيس •10 رقم با معني مبناي 7معادل •
double
متغير با امکان نمايش مقادير کوچکتر از واحد• بايتي8•محدودة نمايش اعداد•
C از • و معادل آن 1/7× 10+308 تا 1/7× 10-308تقريبادر محدودة اعداد منفي و صفر
بيتي( و نماي دو بايتي48 بايتي )6مانتيس •10معادل پانزده رقم با معني مبناي •
long double
متغير با امکان نمايش مقادير کوچکتر از واحد• بايتي10•محدودة نمايش اعداد•
C از • و معادل آن 1/7× 10+308 تا 1/7× 10-308تقريبادر محدودة اعداد منفي و صفر
بيتي( و نماي دو بايتي64 بايتي )8مانتيس •10 رقم بامعني مبناي 19معادل •
pointer
گرها به آدرسهاي جهت ذخيرة مقادير اشاره•حافظه
شکل خاص دارد و با متغيرهاي ديگر مشابهتي •ندارد
( بيت64 )يا 32فضاي مورد استفاده : •
تعريف مقادير ثابت
گاهي ٌالزم است مقادير ثابتي را در برنامه تعريف کنيم•يعني به هيچ ترتيب نشود مقدار آن تغيير کند•
روشها :• : modifierبکمک •
محل تعريف : در فضاي اصلي برنامه•C متغيري ايجاد مي• گردد شود = فضاي حافظه استفاده مي در اين روش واقعا
• const float pi = 3.14159;
: preprocessorبکمک •محل تعريف : در ابتدا : قبل از فضاي اصلي برنامه : فضاي مشخص نمودن •
preprocessعمليات شود = قبل از کامپايل شدن برنامه مقدار در اين روش متغيري ايجاد نمي•
گردد ) ; ٌالزم ندارد( تعريف شده به متن اصلي اعمال مي• #define pi 3.14159
عملگرها
• + - * / % -- ++• Pre(post)in(de)crement
• a=5; b=3;• c=a--+b+a---a++;• d=--a---b+--a-++a;
تقدم عملگرها•• (++,--) (sign +,-) (*,/,%) (+,-)
در صورت ابهام شکل داراي اولويت باٌالتر انتخاب •شود مي
تبديل انواع متغيرها
در عملياتي که طرفين عمليات همجنس نيستند، •تر به نوع باٌالتر تبديل شده، نخست طرف نوع پايين
شود سپس عمل اجرا ميترتيب انواع : •
• long double• double• float• long• int• short• Char
قطع شدن عدد
هنگام انتقال محتويات متغير با ابعاد بزرگتر به •متغير با ابعاد کوچکتر )با فرض انتقال سالم(
به وضعيتهاي مختلفي که در محدودة اعداد مثبت و •دهد توجه کنيد منفي رخ مي
بخش صحيح•( rounding)گرد کردن ••ceiling •floor
مثال
• 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
عملگرهاي بيتي
•&>> ، << ، ~ ، ^ ، | ، • 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;
عملگرهاي نسبي )ارزيابي(
== ، >= ، <= ، > ، < ، != شامل عمليات پاية •قابل ترکيب بکمک عملگرهاي ( ، ) ، && ، || ، ~ •
• char a=2, b=3;• printf(“\n %d > %d is %d” , a, b, (a>b));• c=(a<=(b-1));
توجه شود که هر عبارت مورد ارزيابي، در هر مرحلة ارزيابي، •شود. صحيح يا غلط ارزيابي مي
ارزش عبارت غلط معادل صفر و ارزش عبارت صحيح معادل •يک خواهد بود
اگر عددي بدون عملگر در موقعيت ارزيابي قرار گيرد در •صورتي که مقدار آن )محتويات آن( صفر )عدد صفر( باشد شود معادل غلط و در غير اين صورت معادل صحيح ارزيابي مي
عملگرهاي ترکيبي
شوند )چند عمل برخي عملگرها با هم ترکيب مي•شود( با يک عملگر ترکيبي نشان داده مي
• a+=1; // equal to a=a+1;عملگرهاي ترکيبي مشابه•
• -= , *= , /= , %= , >>= , <<= , &= , |= , ^=
عملگرها – ساير حالتها
•&x آدرس متغير x•*p محتويات آدرس p
حالتهاي خاص
• x = a>b ? 3 : 4 ;• y = ( x=2, x*4/y );• x= sizeof y;• m=sizeof(float);
تقدم عمليات )جزئيات(
• () [] -> .• ++ -- ~ ! & * - sizeof ( گر و عالمت اشاره )• * / %• + -• >> <<• > <= >= >• == !=• & ^ |• && ||• ? :• = %= += -= *= /= <<= >>= &= ^= |=• ,
مثال
• y = 4 * 2 / (3+1)+(6+(7-2+8));
نمونة برنامه
•Convert
Recommended