حلقه ها و دستورات شرطي

جمعه ، 28 مرداد 1390 ، 11:30 مدیریت کل سایت
چاپ

به نام خدا

در اين بخش قصد داريم در موارد زير مطالبي را بياوريم:

حلقه ها يا همان loop ها:

1. حلقه while

2. حلقه do while

3. حلقه for


دستورات شرطي:

1. دستور شرطي if

2. دستور شرطي if else

3. دستور شرطي swtich

+ دستور break و  continue

 

 

حلقه ها يا همان loopها:

كاربرد حلقه ها زماني است كه مي خواهيم يك سري از مجموعه دستورات را چند بار تكرار كنيم و البته مي توانيم در هر بار تكرار بعضي از دستورات را متناسب با برنامه تغيير دهيم.

1.حلقه while:

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

while(شرط حلقه){

مجموعه دستورات

}


2.حلقه do while:

اين حلقه شبيه حلقه قبل است با اين تفاوت كه حلقه حداقل يك بار تكرار مي شود. علت اين امر هم مشخص است. چون ابتدا مجموعه دستورات اجرا مي شود و سپس شرط حلقه مورد ارزيابي قرار مي گيرد:

do{

مجموعه دستورات

}while(شرط حلقه);


3. حلقه for:
اين حلقه نسبت به حلقه هاي قبل كاملتر است و ترجيحاً مي توانيد از اين حلقه استفاده كنيد. چرا كه در ساختار اصلي حلقه علاوه بر اين كه در هر بار اجراي حلقه شرط حلقه را مورد ارزيابي قرار مي دهد ؛ بعد از انجام مجموعه دستورات در هر بار اجراي حلقه "فرمان حلقه" را اجرا مي شود. معمولا فرمان حلقه به مقدار اوليه اي كه حلقه با آن شروع مي شود يك واحد اضافه و يا كم مي كند اما هيچ محدوديتي براي فرمان حلقه وجود ندارد. syntax آن به صورت زير است:
for(فرمان حلقه; شرط حلقه;مقدار اوليه){
مجموعه دستورات
}
به مثال ساده ي زير توجه كنيد. مفهوم مقدار اوليه،‌شرط حلقه و فرمان حلقه در زير مشخص است:
for(int i=0;i<20;i++){
cout<<"www.tamadon.org";
cout<
}//end for i
اين حلقه در ابتدا يك متغير به اسم i از نوعint تعريف مي كند و به آن مقدار اوليه 0 را مي دهد. شرط حلقه كه همان i كوچكتر از 20 مي باشد را چك مي كند. چون برقرار است ابتدا نام سايت و سپس مقدار i را چاپ مي كند. پس از رسيدن به آكولاد بسته فرمان حلقه را كه همان ++i است را اجرا مي كند و يك واحد به i اضافه مي كند. دوباره چك مي كند كه آيا i كوچكتر از 20 است يا خير و چون هست، مجدداً همان كار تكرار مي شود.
اين كار 20 مرتبه تكرار مي شود يعني مقدار i برابر 19 مي شود، سپس دستورات اجرا مي شود و دوباره يك واحد به i اضافه مي شود. اين بار نيز دوباره شرط حلقه را چك مي كند و چون i برابر 20 شده و از 20 كوچكتر نيست از حلقه خارج مي شود.
بنابراين اين قطعه كد علاوه بر نام سايت اعداد 0 تا 19 را چاپ مي كند.

 


 

دستورات شرطي:

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

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

مثال ديگر از آن زماني است كه مثلا در يك بازي وقتي كاربر دكمه سمت راست را وارد مي كند بازيكن بايد به سمت راست و اگر دكمه سمت چپ را وارد نمايد بازيكن مي بايست به سمت چپ برود.

1. دستور شرطي if:

دستور شرطي if به اين شكل است كه يك سري عبارت يا همان شرط ها را چك مي كند و اگر درست بود دستور بعد از خود را انجام مي دهد. در غير اين صورت آن دستور انجام نخواهد شد. syntax اين دستور به شكل زير است:

if  (شرط )  {

مجموعه دستوراتي كه مي بايست انجام شود

}

# نكته اي قابل توجه در برنامه نويسي اين است كه اگر عبارات بعد از يك دستور مثل if فقط يك خط باشد نيازي به آكولاد باز و بسته {} نيست اما اگر اين عبارات بيش از يك دستور باشد مي بايست آن ها را در داخل {} قرار دهيد


2. دستور شرطي if else:

در اين دستور اگر شرط داخل پرانتز درست باشد عبارت بعد از if اجرا مي شود و اگر آن درست نباشد دستور بعد از else  اجرا مي شود:

if(شرط ){

مجموعه دستوراتي كه بايد انجام شود

}

else{

مجموعه دستوراتي كه در عدم برقراري شرط بايستي انجام شود

}

 

3. دستور شرطي switch:

دستور switch زماني استفاده مي شود كه يك عبارت را در داخل پرانتز مي گذاريم و مي گوييم اگر برابر هر يك از مقدارهاي مشخص شده در خط هاي بعدي بود يك دستور مشخص را انجام دهد. syntax آن به صورت زير است:

switch(عبارت اصلي){

case(شرط 1):

مجموعه دستورات1

case(شرط 2):

مجموعه دستورات2

...

case(شرط آخر):

مجموعه دستورات آخر

default:

مجموعه دستورات پيش فرض

}

نكات مهم در دستور switch عبارتند از:

در اين دستور اگر مثلاً شرط شماره nام برقرار باشد، تمام دستورات بعد از آن نيز اجرا مي شود. براي جلوگيري از اين اتفاق مي توان بعد از مجموعه دستورات nام دستور break را وارد نماييد، تا بعد از انجام مجموعه دستورات nام از دستور switch خارج شود. (دستور break را در زير توضيح خواهيم داد).

مجموعه دستورات بعد از default زماني اجرا مي شود كه هيچ كدام از شرايط بالا برقرار نباشد و البته مي توان از نوشتن آن(نوشتن كلمه كليدي default و مجموعه دستورات پيش فرض) صرف نظر نمود.

 


دستور break:

اين دستور جزو دستورات پركاربرد در برنامه نويسي مي باشد. كاربرد آن زماني است كه وقتي برنامه به يك شرط معين مي رسد و يا به مكاني مي رسد كه ديگر نمي خواهيم برنامه با روند قبلي اجرا شود. مثلا در يك حلقه تكرار مي گوييم اگر فلان شرط برقرار بود از آن حلقه تكرار خارج شود. وقتي برنامه به دستور break رسيد از داخلي ترين دستور خارج مي شود.(دستور if و case از اين قاعده استثنا دارند و از حلقه داخلي بعد از آن خارج مي شود.)

مثال:

for (int i=0;i<50;i++){
cout< if(i==25) break;
}//end for i

در مثال بالا وقتي i به مقدار 25 رسيد ابتدا آن را چاپ مي كند و سپس چون شرط if برقرار است از دستور داخلي بعد از if‌ يعني for خارج مي شود.

دستور continue:

اين دستور تا حدودي شبيه break مي باشد. كاربرد اصلي آن در حلقه ها مي باشد. وقتي برنامه به continue برسد دستورات بعد از continue اجرا نمي شود و اجراي برنامه دوباره به ابتداي حلقه منتقل مي شود. براي درك بهتر به مثال زير توجه كنيد:

for (int i=0; i<20; i++){
if (i==5) continue;
cout<}//end for i

در اين قطعه كد وقتي مقدار i برابر 5 شود دستورات بعد از آن اجرا نمي شود و سپس مقدار i يك واحد بيشتر مي شود و دوباره حلقه تكرار مي شود. بنابراين اين قطعه كد اعداد 0 تا 19 به جز عدد 5 را چاپ مي كند


دستور switch با در نظر گرفتن دستور break به شكل زير در مي آيد:

switch(عبارت اصلي){

case(شرط 1):

مجموعه دستورات1

break;

case(شرط 2):

مجموعه دستورات2

break;

...

case(شرط آخر):

مجموعه دستورات آخر

break;

default:

مجموعه دستورات پيش فرض

}

در صورت داشتن هر گونه سوال و یا اشکال  مي توانيد آن را از طریق  افزودن نظر در همین بخش عنوان نمایید.

آخرین بروز رسانی مطلب در شنبه ، 25 خرداد 1392 ، 01:49