جلسه هشتم - دستورات شرطی
• قبل از این که به سراغ پیاده سازی دستورات شرطی در محیط کدزنی برویم یک نگاه الگوریتمی و فلوچارتی به این موضوع میکنیم که درک بهتری نسبت به این مبحث داشته باشیم:
به مثال های زیر توجه کنید:
اگر امروز تعطیل باشد،علی به مدرسه نمیرود.
اگر هوا آفتابی باشد،والیبال بازی میکنیم.
اگر هوا صاف باشد،هواپیما پرواز میکند.
اگر دریا طوفانی باشد،کشتی حرکت نمیکند.
دستورات شرطی با اگر شروع میشود و یک شرط رو درون خود دارد که اگر بر قرار (true) باشد نتیجه مورد نظر اتفاق میافتد در غیر این صورت عکس نتیجه مورد نظر اتفاق میافتد.
در مثال اگر هوا صاف باشد،هواپیما پرواز میکند
در صورتی هواپیما پرواز میکند که شرط یعنی صاف بودن هوا برقرار(true) باشد. در غیر این صورت اگر هوا عکس صاف بودن یعنی طوفانی(false) باشد هواپیما پرواز نمیکند.
در نگاهی دیگر: اگر هوا صاف باشد،هواپیما پرواز میکند. درصورتی هواپیما پرواز میکند که هوا صاف باشد: شرط صاف بودن هوا بر قرار و درست (true) باشد و اگر هوا طوفانی باشد (شرط هوا عکس جمله شرطی صاف بودن یعنی هوا طوفانی است که شرط نادرست(false) است) در نتیجه هواپیما پرواز نمیکند.
می توان جملات شرطی رو به صورت زیر خلاصه کرد:
اگر(شرط برقرار بود) نتیجه
در صورتی نتیجه اجرا میشود که شرط برقرار (درست یا true)باشد.
مثال:
امروز هوا بارانی است.
اگر( امروز هوا آفتابی باشد) علی به باشگاه میرود.
شرط نادرست(false) است و نتیجه اجرا نمیشود یعنی علی به باشگاه نمیرود چون امروز هوا بارانی است و آفتابی نیست.
مثال:
نمره جعفر 11 هست.
اگر (نمره جعفر بزرگتر یا مساوی 10 باشد) جعفر قبول است.
شرط درست(true) است و نتیجه اجرا میشود یعنی جعقر قبول میشود چون نمره جعفر 11 هست و از 10 بیشتر است.
• پس جملات شرطی با یک "اگر" شروع و درون خود یک شرط دارد که اگر درست(true) باشد نتیجه اجرا میشود در غیر این صورت یعنی شرط نادرست(false)و نتیجه اجرا نمیشود.
مبحث فلوچارت عبارت شرطی:
• در فلوچارت علامت لوزی برای دستورات شرطی استفاده میشود.
• همان طور که در مثال های بالا بررسی کردیم انجام عملیات(اجرای نتیجه)منوط به برقرار بودن شرط است.
• دستورات شرطی نوعی حالت تصمیم گیری دارند.
• در زیر به فلوچارت همراه با مثال چگونگی کار عبارت های شرطی پرداخته شده است:
• با توجه به شکل(1) فلوچارت دستورات شرطی مشاهده میکنیم که هر دستور شرطی یک شرط داره که اگه درست بود یک تصمیمی میگیرد و در صورت نادرست بودن تصمیمی دیگر.
• در شکل(2) اگر A=10 باشد شرط درست(true) و اگر A=100 باشد شرط نادرست(false) است.
• خب ابتدا برای این ذهنیت و درک بهتری نسبت به دستورات شرطی داشته باشیم از الگوریتم و فلوچارت استفاده کردیم حال بریم به سراغ پیاده سازی دستورات شرطی در قالب کد نویسی.
دستور شرطی if
شکل این دستور شرطی در برنامه نویسی به صورت زیر است:
if (Boolean_expression){ // exec utes when the Boolean expression is true } |
• در برنامه نویسی هم مثل حالت جمله فارسی در دستور شرطی از کلمه کلیدی "if" ابتدای دستور شرطی میآوریم.
• جلوی کلمه کلیدی "if"شرط مورد نظر رو درون پرانتز قرار میدهیم.
• بعد از پرانتز دو بلوک {} باز و بسته شده نشان دهنده محدوده اجرای دستورات مورد نظر با توجه به درست(true) بودن شرط است.
• نکته : اگر یک دستور داشتیم نیاز به نوشتن {} نیست و زمانی که دستورات ما بیش از یک دستور باشد الزامی هست که دستورات خود رو درون بلوک{} قرار بدهیم.
• درون پرانتز شرط مورد نظر (Boolean_expression ) روش بررسیش بصورت زیر است:
اگر شرط درست بود true بر میگرداند و دستور شرط اجرا میشود
اگر شرط نادرست بود false بر میگرداند و دستور شرط اجرا نمیشود به همین دلیل از Boolean_expression
در مثال استفاده شده که بررسی شرط تنها دو جواب منطقی true یا false دارد.
در دوره مبانی برنامه نویسی جاوا به صورت ویدئویی به موضوع شرطها در جاواپرداخته ایم.
خب از توضیحات بگذریم بریم سراغ مثال مربوط به این سرفصل:
مثال:
package iran; public class Eighth_Session { public static void main(String[] args) { int a = 10; } } |
خروجی:
true 10<50 |
توضیحات مثال بالا:
int a = 10; if (a < 50) System.out.println("true " + a + "<" + 50); |
• متغیر a از نوع صحیح تعریف شده و بهش مقدار 10 نسبت داده شده است.
• خط بعد یک دستور شرطی داریم که عبارت شرط ما درون پرانتز (a < 50)است در صورتی پیام مورد نظر چاپ میشود که مقدار a کوچک تر از 50 باشد که با توجه به مقدار a=10 شرط برقرار(true) است و پیام چاپ میشود.
• همون طور که مشاهده میکنید چون یک دستور در صورت درست بودن شرط برای اجرا داریم نیاز به قرار دادن دستور مورد نظر درون {} نیست.
مثال:
package iran; public class Eighth_Session { public static void main(String[] args) { int a = 10; } |
خروجی:
10<50 true |
• همون طور که مشاهده میکنید چون بیش از یک دستور در صورت درست بودن شرط برای اجرا داریم نیاز به قرار دادن دستور مورد نظر درون {} است.
مثال:
package iran; public class Eighth_Session { public static void main(String[] args) { int a = 60; } |
خروجی:
Salam |
• چون شرط نادرست (false) است دستور زیر اجرا نمیشود:
System.out.println(+a + "<" + 50); |
اما چون از بلوک {} استفاده نشده تنها شرط رو یک دستور تاثیر میگذارد و محدوده اش شامل دو دستور نمیشود پس دستور زیر اجرا میشود:
System.out.println("Salam "); |
برای درک بهتر به محدوده بندی مثال های زیر توجه کنید:
مثال:
خروجی:
60!=50 True salam |
• همان طور که مشاهده میکنید چون دستورات اجرایی شرط ما بیش از یک دستور هست درون دو {} بلوک قرار گرفته است. و چون دستور
زیر خارج از این بلوک {} قرار گرفته بدون هیچ پیش شرطی اجرا میشود.
System.out.println("salam"); |
دستور شرطی if-else :
با یک مثال شروع میکنیم
مثال : اگر باقیمانده عدد m بر 2 برابر با صفر بود عدد m زوج است در غیر این صورت عدد m فرد است!!!1
در مثال بالا یک جمله شرطی هست زیرا با اگر شروع شده است.
شرط(باقیمانده عدد m بر 2 برابر صفر باشد) عدد m را زوج اعلام کن
در غیر این صورت(یعنی زمانی که شرط برقرا نباشد) عدد m را فرد اعلام کن.
*پس اگر شرط اول ما برقرار نبود با آوردن عبارت "در غیر این صورت" میگیم که یک کار دیگه برامون انجام بده مثلا اگر عددمون زوج نبود فرد اعلامش کن.
دستور شرطی if-else هم همین کار را برای ما انجام میدهد.
if(اگر) شرط برقرار بود این کارو بکن.....
else(در غیر این صورت) زمانی که شرط بالا برقرار نبود این کار رو انجام بده
شکل قالب پیاده سازی دستور if-else بصورت زیر است:
if(Boolean_expression){
} |
• Boolean_expression همون عبارت شرط درون پرانتز جلوی if هست که اگر شرط درست باشه true میشه و وارد بلوک if میشود،اگر شرط درون پرانتز نادرست باشد false میشود ودستورات درون بلوک if دیگر اجرا نمیشود و وارد بلوک else میشود و دستورات درون آن را اجرا میکند.
• else نیز اگر برای اجرا بیش از یک دستور داشته باشد باید دستوراتش درون بلوک {} قرار گیرد.
فلوچارت نحوه کارکرد این دستور رو در شکل(3) مشاهده میکنید:
مثال :
package iran; public class Eighth_Session { public static void main(String[] args) { int a = 9; if (a % 2 == 0) } |
• شرط زوج بودن یک عدد این هست که آن عدد بر 2 بخش پذیر باشد یعنی باقیمانده عدد بر 2 برابر صفر شود در غیر این صورت آن عدد فرد است.
if (a % 2 == 0) |
• خب شرط زوج بودن عدد بررسی شده است اگر شرط برقرار بود پیام زیر را چاپ میکند:
System.out.println(a + " zoj mibashad"); |
...ادامه این جلسه آموزشی را میتوانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)
لینک دانلود
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690
بستن دیگر باز نشو! |