حلقه ها و دستورات شرطی
در اين بخش قصد داريم در موارد زير مطالبي را بياوريم:
حلقه ها يا همان loopها:
كاربرد حلقه ها زماني است كه مي خواهيم يك سري از مجموعه دستورات را چند بار تكرار كنيم و البته مي توانيم در هر بار تكرار بعضي از دستورات را متناسب با برنامه تغيير دهيم.
اين حلقه تا زماني اجرا مي شود كه شرط حلقه برقرار باشد. syntax آن به صورت زير است:
while(شرط حلقه){
مجموعه دستورات
}
اين حلقه شبيه حلقه قبل است با اين تفاوت كه حلقه حداقل يك بار تكرار مي شود. علت اين امر هم مشخص است. چون ابتدا مجموعه دستورات اجرا مي شود و سپس شرط حلقه مورد ارزيابي قرار مي گيرد:
do{
مجموعه دستورات
}while(شرط حلقه);
for(int i=0;i<20;i++){ cout<<"www.tamadon.org"; cout<}//end for i
اصولا دستورات شرطي زماني مي آيد كه وقتي برنامه به يك مرحله مي رسد كه مي بايست با توجه به مقادير وشرايطي كه در آن جا وجود دارد عملكرد متفاوتي را انجام دهد.
به عنوان مثال اگر از كاربر يك عدد بخواهيم و او عدد كوچكتر از ۱۰ وارد نمايد مي بايست يك سري دستورات انجام شود و اگر عدد بزرگتر از ۱۰ بود يك سري دستورات ديگر. اين كار را مي توانيم با دستورات شرطي انجام دهيم.
مثال ديگر از آن زماني است كه مثلا در يك بازي وقتي كاربر دكمه سمت راست را وارد مي كند بازيكن بايد به سمت راست و اگر دكمه سمت چپ را وارد نمايد بازيكن مي بايست به سمت چپ برود.
دستور شرطي if به اين شكل است كه يك سري عبارت يا همان شرط ها را چك مي كند و اگر درست بود دستور بعد از خود را انجام مي دهد. در غير اين صورت آن دستور انجام نخواهد شد. syntax اين دستور به شكل زير است:
if (شرط ) {
مجموعه دستوراتي كه مي بايست انجام شود
}
# نكته اي قابل توجه در برنامه نويسي اين است كه اگر عبارات بعد از يك دستور مثل if فقط يك خط باشد نيازي به آكولاد باز و بسته {} نيست اما اگر اين عبارات بيش از يك دستور باشد مي بايست آن ها را در داخل {} قرار دهيد
در اين دستور اگر شرط داخل پرانتز درست باشد عبارت بعد از if اجرا مي شود و اگر آن درست نباشد دستور بعد از else اجرا مي شود:
if(شرط ){
مجموعه دستوراتي كه بايد انجام شود
}
else{
مجموعه دستوراتي كه در عدم برقراري شرط بايستي انجام شود
}
دستور switch زماني استفاده مي شود كه يك عبارت را در داخل پرانتز مي گذاريم و مي گوييم اگر برابر هر يك از مقدارهاي مشخص شده در خط هاي بعدي بود يك دستور مشخص را انجام دهد. syntax آن به صورت زير است:
switch(عبارت اصلي){
case(شرط ۱):
مجموعه دستورات۱
case(شرط ۲):
مجموعه دستورات۲
…
case(شرط آخر):
مجموعه دستورات آخر
default:
مجموعه دستورات پيش فرض
}
نكات مهم در دستور switch عبارتند از:
در اين دستور اگر مثلاً شرط شماره nام برقرار باشد، تمام دستورات بعد از آن نيز اجرا مي شود. براي جلوگيري از اين اتفاق مي توان بعد از مجموعه دستورات nام دستور break را وارد نماييد، تا بعد از انجام مجموعه دستورات nام از دستور switch خارج شود. (دستور break را در زير توضيح خواهيم داد).
مجموعه دستورات بعد از default زماني اجرا مي شود كه هيچ كدام از شرايط بالا برقرار نباشد و البته مي توان از نوشتن آن(نوشتن كلمه كليدي default و مجموعه دستورات پيش فرض) صرف نظر نمود.
اين دستور جزو دستورات پركاربرد در برنامه نويسي مي باشد. كاربرد آن زماني است كه وقتي برنامه به يك شرط معين مي رسد و يا به مكاني مي رسد كه ديگر نمي خواهيم برنامه با روند قبلي اجرا شود. مثلا در يك حلقه تكرار مي گوييم اگر فلان شرط برقرار بود از آن حلقه تكرار خارج شود. وقتي برنامه به دستور break رسيد از داخلي ترين دستور خارج مي شود.(دستور if و case از اين قاعده استثنا دارند و از حلقه داخلي بعد از آن خارج مي شود.)
مثال:
for (int i=0;i<50;i++){
cout< if(i==25) break;
}//end for i
در مثال بالا وقتي i به مقدار ۲۵ رسيد ابتدا آن را چاپ مي كند و سپس چون شرط if برقرار است از دستور داخلي بعد از if يعني for خارج مي شود.
دستور continue:
اين دستور تا حدودي شبيه break مي باشد. كاربرد اصلي آن در حلقه ها مي باشد. وقتي برنامه به continue برسد دستورات بعد از continue اجرا نمي شود و اجراي برنامه دوباره به ابتداي حلقه منتقل مي شود. براي درك بهتر به مثال زير توجه كنيد:
for (int i=0; i<20; i++){
if (i==5) continue;
cout<}//end for i
در اين قطعه كد وقتي مقدار i برابر ۵ شود دستورات بعد از آن اجرا نمي شود و سپس مقدار i يك واحد بيشتر مي شود و دوباره حلقه تكرار مي شود. بنابراين اين قطعه كد اعداد ۰ تا ۱۹ به جز عدد ۵ را چاپ مي كند
دستور switch با در نظر گرفتن دستور break به شكل زير در مي آيد:
switch(عبارت اصلي){
case(شرط ۱):
مجموعه دستورات۱
break;
case(شرط ۲):
مجموعه دستورات۲
break;
…
case(شرط آخر):
مجموعه دستورات آخر
break;
default:
مجموعه دستورات پيش فرض
}
در صورت داشتن هر گونه سوال و یا اشکال مي توانيد آن را از طریق افزودن نظر در همین بخش عنوان نمایید.
منبع: مرجع کامل فارسی سی پلاس پلاس به آدرس Cplusplus.ir
نویسنده: تمدن
لازم به ذکر است که دامنه cplusplus.ir توسط من تهیه شده و در حال حاضر محتوای سایت را روی وبلاگ بارگذاری کرده ام ;)
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگو شرکت کنید؟نظری بدهید!