سایرعلوم پایهتجزیه و تحلیل اطلاعاتمنابع انسانی و مشاغل

دانلود پاورپوینت آشنایی با Control Structures

Intro to C++ Language Control Structures 1 Control Structures همیشه برنامه بصورت ترتیبی اجرا می شود مگر اینکه اتفاق خاصی رخ دهد. در این حالت ما از ساختارهای انتخاب استفاده می کنیم. ساختارهای انتخاب دو نوع عملکرد مفید را در اختیار ما قرار می دهند: انتخاب بین گزینه های مختلف بر حسب شرایط موجود تکرار یا حلقه 2 Selection یک ساختار کنترلی انتخاب ،برای انتخاب بین گزینه های متفاوت استفاده می گردد. باید یک شرط وجود داشته داشته باشد که بر اساس آن گزینه مورد نظر انتخاب شود. ساختارهای کنترلی انتخاب در : ++C ‏switchif/else if 3 Repetition Control Structures ساختارهای کنترلی تکرار به ما امکان می دهند که قسمتی از برنامه را به تعداد دلخواه اجرا کنیم. ++C دارای ساختارهای تکرار زیر است: ‏while ‏for ‏do/while 4 if ساختار کنترلی ifاجازه می دهد که در صورت درست بودن شرط ،یک عمل (مجموعه ای از دستور العملها) انجام گردد دستورهاي قبلي )if (condition ;action عمل ‏true شرط؟ ‏false 5 دستور بعدي Conditions در ساختارهای انتخاب ،شرط یک مقدار Booleanدارد که درست یا غلط است در :++C مقدار 0برابر غلط است هر مقدار دیگری برابر درست است 6 if examples if (1) cout << "I am true!\n"; if (1-1) cout << "I am false!\n"; 7 Relational and Equality ‏Operators and Conditions در ++Cاز عملگرهای مقایسه ای و تساوی برای ساخت شرط استفاده می گردد. نتیجه این عملگرها ( 0غلط) یا ( 1درست) است مثال ،عبارت x==xدارای مقدار صحیح است اما مقدار 3 =< 7غلط است. 8 More ifs if (foo) cout << "foo is not zero\n"; if (grade>=90) lettergrade = 'A'; if (lettergrade == 'F') cout << "The system has failed you\n" 9 Common Mistake اغلب عملگر انتساب (=) با عملگر تساوی .(==) اشتباه گرفته می شود : در عبارت زیر چه ایرادی وجود دارد if (grade=100) cout << "your grade is perfect RPI has decided to give you your degree today!\n"; 10 Compound Statements داخل هر ،ifمی توان یک عبارت ساده یا یک عبارت مرکب قرار داد. هر عبارت مرکب با } شروع و با { خاتمه می یابد .داخل این عالیم می توان چندین عبارت را استفاده نمود. { )if (grade>=90 ;"cout << "Nice job - you get an A\n ;acnt = acnt+1 } 11 A word about style ++C کاری به فضاهای خالی داخل کد برنامه ندارد لذا می توان کد برنامه را به صورتهای متفاوتی نوشت. چندین استیل معروف وجود دارد که مورد استفاده اغلب برنامه نویسان هستند. هدف اصلی این استیلها افزایش خوانایی برنامه است. 12 Some common styles if if (foo>10) (foo>10) {{ x=y+100; x=y+100; cout cout << << x; x; }} if if (foo>10) (foo>10) {{ x=y+100; x=y+100; cout cout << << x; x; }} if(foo>10){x=y+100;cout<<x;} if(foo>10){x=y+100;cout<<x;} 13 if else Control Structure اجازه می دهد که درif else ساختار کنترلی عمل،صورت صدق نکردن یا غلط بودن شرط .دیگری انجام گردد if ( condition ) action if true else action if false 14 دستورهاي قبلي ‏false ‏true عمل 1 شرط؟ دستوربعدي 15 عمل 2 if else example if (grade >= 90) lettergrade = 'A'; else lettergrade = 'F'; 16 Another example if (grade >= 99) lettergrade = 'A'; else if (grade >= 98) lettergrade = 'B'; else if (grade >= 97) lettergrade = 'C'; else if (grade >= 96) lettergrade = 'D'; else lettergrade = 'F'; 17 while Control Structure ساختار کنترلی whileبرای پیاده کردن حلقه استفاده می شود .تا وقتی که شرط whileدرست باشد دستورات درون حلقه ( whileبدنه حلقه) پشت سر هم اجرا می گردند. ‏d ‏calle " ‏is ‏p ‏e ‏o ‏d ‏o ‏i ‏l ‏s ‏e ‏the in ody of th ‏b " the 18 )while (condition ;do something while (condition) دستورهاي قبلي { Statements; } true While Condition? بدنه حلقه false دستورهاي بعدي 19 while dangers بدنه حلقه باید حاوی دستوراتی باشد که شرط حلقه را تغییر می دهند. در غیر این صورت ،حلقه هیچوقت تمام نمی شود. حلقه هیچوقت تمام نمی شود. ‏حلقه هیچوقت تمام نمی شود. حلقه هیچوقت تمام نمی شود. حلقه هیچوقت تمام نمی شود. 20 while example lettergrade = 'A'; cutoff = 90; while (grade < cutoff) { lettergrade = lettergrade + 1; cutoff = cutoff - 10; } if (lettergrade > 'F') lettergrade = 'F'; 21 Off topic - increment and decrement operators برای افزایش مقدار یک متغییر صحیح می توان از دستور زیر استفاده نمود // same as lettergrade = lettergrade + 1; lettergrade++; برای کاهش مقدار یک متغییر صحیح نیز می شود :نوشت // same as lettergrade = lettergrade - 1; lettergrade--; 22 More off topic - special ‏assignment operators عبارت ++Cزیر : ;foo += 17 مخفف عبارت زیر است: ;foo = foo + 17 هم چنین ،می توان از دستورات زیر استفاده کرد: =- =* =/ 23 while example modified lettergrade = 'A'; cutoff = 90; while (grade < cutoff) { lettergrade++; cutoff -= 10; } if (lettergrade > 'F') lettergrade = 'F'; 24 do while ساختار کنترلی do whileنیز برای پیاده سازی تکرار استفاده می گردد .در این حالت شرط خاتمه حلقه در آخر آن قرار دارد. لذا ،بدنه حلقه حداقل یکبار اجرا می شود. ‏do ;somestuff ;) while ( condition 25 do while do{ Statements; } while (condition); دستورهاي قبلي do بدنه حلفه While Condition? true false دستورهاي بعدي 26 do example i=1; do cout << "i is " << i++ << endl; while (i <= 10); 27

50,000 تومان