تالار گفتمان نبض فردا  

بازگشت   تالار گفتمان نبض فردا > کامپیوتر و اینترنت > نرم افزار > آموزش ها و مقالات و برنامه نویسی

اطلاع رسانی

ارسال موضوع جدید  پاسخ
 
ابزارهای موضوع نحوه نمایش
قدیمی 06-07-2012   #51
Mino
عضو تالار
 

تاریخ عضویت: Feb 2012
محل سکونت: خوزستان، اهواز،
نوشته ها: 802
تشکرهای ایشان: 22,059
33,363بار در12,628پست از ایشان تشكر شده است

صندوق مدال ها

پیش فرض


ساختار انتخاب شرطي if

ساختار انتخاب if
در برنامه نويسی مواردی پيش می آيد که بخواهيم دستور يا دستوراتی، هنگامی که شرط خاصی برقرار است، توسط برنامه به اجرا در آيد. اين مورد در زندگی روزمره نيز ديده می شود؛ به عنوان مثال " اگر فردا باران نيايد، من به کوه خواهم رفت." شرط مورد نظر نيامدن باران است و عملی که قرار است انجام شود رفتن به کوه می باشد. شيوه پياده سازی ساختار انتخاب if به صورت زير می باشد: کد:

if ( شرط مورد نظر )
دستور مورد نظر ;

به مثال زير توجه کنيد: کد:

if (x == 50)
cout << "x is 50";

اگر از دستور فوق در برنامه استفاده کنيم، اگر مقدار متغير x قبل از رسيدن به شرط فوق برابر 50 باشد عبارت "x is 50" بر روی صفحه نمايش ظاهر خواهد شد وگرنه دستور cout << "x is 50" ; ناديده گرفته می شود و برنامه خط بعدی را اجرا می کند.
توجه داشته باشيد که شرط مورد استفاده در دستور if هر عبارت منطقی می تواند باشد. در مبحث عبارات منطقی ، اينگونه عبارات و شيوه کاربرد آنها را به طور کامل بررسی کرديم.
اگر بخواهيم هنگامی که شرط برقرار می شود، بيش از يک دستور اجرا شود، بايد دستورات مورد نظر را با علامت { } دسته بندی کنيم، به مثال زير توجه کنيد:
کد:

if ( x==50 )
{
cout << "x is ";
cout << x;
}

قطعه کد فوق هنگامی که مقدار x عدد 50 باشد، عبارت "x is 50" را در صفحه نمايش چاپ می کند.
ولی در دستورات زير: کد:

if ( x == 50)
cout << "x is ";
cout << x ;

خط آخر برنامه به هر جهت اجرا می شود. به عنوان مثال اگر فرض کنيم x برابر 50 است برنامه به درستی عبارت "x is 50" را چاپ می کند، اما اگر مثلاً x برابر 20 باشد عدد 20 بر روی صفحه نمايش ظاهر خواهد شد. چون عبارت ;cout <<x جز دستورات if قرار ندارد و يک دستور مجزا می باشد.
مورد اخير که توضيح داده شد يکی از مواردی است که بعضی از برنامه نويسان به اشتباه مرتکب آن می شوند. پس در هنگام نوشتن برنامه های خود به دسته بندی دستورات دقت کنيد.



ساختار انتخاب if/else گاهی اوقات نياز داريم که در صورت برقرار بودن شرط خاصی يک سری دستورات اجرا و در صورت برقرار نبودن شرط دسته ای ديگر از دستورات اجرا گردند. به عنوان مثال اگر فردا باران بيايد من به کوه نمی روم در غير اين صورت من به کوه خواهم رفت؛ زبان ++C برای پياده سازی چنين ساختاری شيوه زير را در اختيار ما قرار داده است. کد:

if (شرط مورد نظر)
دستور1 ;
else
دستور2 ;

اگر شرط برقرار باشد دستور1 اجرا می گردد و در غير اين صورت دستور2 اجرا می شود. به مثال زير توجه کنيد: کد:

if ( x = = 50 )
cout << "x is 50";
else
cout << "x is not 50";

اگر مقدار متغير قبل از رسيدن به شرط فوق برابر 50 باشد عبارت "x is 50" برروی صفحه نمايش چاپ می شود در غير اين صورت عبارت "x is not 50" چاپ می شود.
بياد داشته باشيد اگر می خواهيد از بيش از يک دستور استفاده کنيد، حتماً آنها را با { } دسته بندی نماييد. به عنوان مثال:
کد:

if ( x > 50 )
{
cout << x;
cout << "is greater than 50";
}
else
{
cout << x;
cout << "is less than 50";
}

اگر متغير x حاوی عدد 100 باشد خروجی به صورت زير می باشد:
100 is greater than 50

و اگر متغير x عدد 10 باشد خروجی به صورت زير است:
10 is less than 50

از ساختارهای if/else های تو در تو می توان برای بررسی حالتهای چندگانه استفاده کرد. برنامه زير در همين رابطه است کد:

:
#include
int main( )
{
int x;
cout << "Please enter a number:";
cin >> x;
if ( x > 0 )
cout << x << "is positive.";
else
if ( x < 0 )
cout << x << "is negative.";
else
cout << "The number that you entered is 0.";
return 0;
}

برنامه فوق را سه بار با سه عدد مختلف اجرا می کنيم. خروجی ها به صورت زير می باشند:
Please enter a number : 10
10 is positive.
Please enter a number : -5
-5 is negative.
Please enter a number : 0
The number that you entered is 0.

نکته : برای وضوح برنامه پيشنهاد می شود همانند برنامه فوق هنگام استفاده از if يا if/else و يا ديگر ساختارهای کنترلی از تورفتگی های مناسب استفاده کنيد. يعنی به عنوان مثال دستور if را به صورت زير:
کد:

if ( x > 0 )
cout << x << "is positive.";

بنويسيم و نه به صورت زير : کد:

if ( x > 0 )
cout << x << "is positive

Mino آنلاین نیست.   پاسخ با نقل قول
این2کاربر از Mino بخاطر پست مفیدشان تشکر کرده اند
Sponsored Links
قدیمی 12-01-2014   #52
m_ahmad_b
عضو تازه وارد
 

تاریخ عضویت: Nov 2014
محل سکونت: گنبد
نوشته ها: 19
تشکرهای ایشان: 6
16بار در8پست از ایشان تشكر شده است
پیش فرض

سلام،اگه اطلاعاتی از درس های طراحی الگوریتم و ساختمان داده دارین بزارین ممنون میشم!
البته اخرین ارسال واسه 2012 ه!
m_ahmad_b آنلاین نیست.   پاسخ با نقل قول
این2کاربر از m_ahmad_b بخاطر پست مفیدشان تشکر کرده اند
قدیمی 07-03-2015   #53
hassan717
عضو تازه وارد
 

تاریخ عضویت: Jul 2015
نوشته ها: 1
تشکرهای ایشان: 0
1بار در 1 پست از ایشان تشكر شده است
پیش فرض

با سلام به دوستان عزیز و گرامی و دوستاران برنامه نویسی سی پلاس پلاس . برای شما فیلم آموزشی سی پلاس پلاس را از دانشگاه صنعتی اصفهان را برای شما آماده کرده ام که امیدوارم این مطلب به درد دوستان بخوره. آموزش کاملا فارسی و سطح بالاست.
[نمایش لینک، فقط برای اعضای سایت امکان پذیر است. ] .
منبع: سایت آغازه
hassan717 آنلاین نیست.   پاسخ با نقل قول
یک کاربر از پست مفیدhassan717تشکر کرده است:
قدیمی 07-12-2015   #54
code-academy.ir
عضو تازه وارد
 

تاریخ عضویت: Jul 2015
محل سکونت: آموزش برنامه نویسی اندروید
نوشته ها: 1
تشکرهای ایشان: 0
0بار در0پست از ایشان تشكر شده است
پیش فرض

ممنون از شما
فرق pointer و delegate در چه حد هست؟
code-academy.ir آنلاین نیست.   پاسخ با نقل قول
پاسخ


کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان)
 

(View-All تعداد کاربرانی که این تاپیک را مشاهده کرده اند : 16
Afof, ASHIL, code-academy.ir, dajes, daryuush, fardin75, Fertax, hassan717, koma1369, KOROSH BOZORG, mehrnosh, Mino, m_ahmad_b, reza300, s@eed, S@m!ra
ابزارهای موضوع
نحوه نمایش

مجوز های ارسال و ویرایش
شما نمیتوانید موضوع جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

BB code هست فعال
شکلک ها فعال است
کد [IMG] فعال است
کد HTML غیر فعال است

انتخاب سریع یک انجمن


اکنون ساعت 01:10 برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد.


Powered by vBulletin Version 3.8.9
.Copyright ©2000 - 2017, Jelsoft Enterprises Ltd

Free Persian Language By Persian Forum Ver 3.0
« ثبت شده در پایگاه ساماندهی وزارت ارشاد »
مسئولیت متون درج شده در این پایگاه اینترنتی، بر عهده ی نویسنده ی آن می باشد.