menusearch
javapro.ir

♨️ جلسه هشتم - دستورات شرطی

جستجو
پنج شنبه ۷ مرداد ۱۴۰۰ | ۱۶:۶:۵۵
۱۳۹۵/۷/۳۰ جمعه
(5)
(0)
♨️ جلسه هشتم - دستورات شرطی
♨️ جلسه هشتم - دستورات شرطی

جلسه هشتم - دستورات شرطی

 


•    قبل از این که به سراغ پیاده سازی دستورات شرطی در محیط کدزنی برویم یک نگاه الگوریتمی و فلوچارتی به این موضوع می‌کنیم که درک بهتری نسبت به این مبحث داشته باشیم:


به مثال‌‌‌‌های زیر توجه کنید:
اگر امروز تعطیل باشد،علی به مدرسه نمی‌رود.
اگر هوا آفتابی باشد،والیبال بازی میکنیم.
اگر هوا صاف باشد،هواپیما پرواز می‌کند.
اگر دریا طوفانی باشد،کشتی حرکت نمی‌کند.


دستورات شرطی با اگر شروع می‌شود و یک شرط رو درون خود دارد که اگر بر قرار (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;
       if (a < 50)
           System.out.println("true " + a + "<" + 50);

   }

}

 

خروجی:

 

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;
       if (a < 50) {
           System.out.println(+a + "<" + 50);
           System.out.println("true ");
       }

   }
}

 

خروجی:

 

10<50
true


•    همون طور که مشاهده میکنید چون بیش از یک دستور در صورت درست بودن شرط برای اجرا داریم نیاز به قرار دادن دستور مورد نظر درون {} است.

 

مثال:

 

package iran;

public class Eighth_Session {

   public static void main(String[] args) {

       int a = 60;
       if (a <= 50)
           System.out.println(+a + "<" + 50);
       System.out.println("Salam ");

   }
}

 

خروجی:

 

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){
             // exec utes when the Boolean expression is true


// اگر شرط درون پرانتز درست(true) بود بیا داخل این بلوک {} و دستورات داخلش رو اجرا کن.


           }else{
             // exec utes when the Boolean expression is false


// اگر شرط درون پرانتز نادرست(false) بود بیا داخل این بلوک {} و دستورات داخلش رو اجرا کن.

 

           }


•    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)
           System.out.println(a + " zoj mibashad");
       else
           System.out.println(a + " fard mibashad");

   }
}

 

•    شرط زوج بودن یک عدد این هست که آن عدد بر 2 بخش پذیر باشد یعنی باقیمانده عدد بر 2 برابر صفر شود در غیر این صورت آن عدد فرد است.

 

if (a / 2 == 0)


•    خب شرط زوج بودن عدد بررسی شده است اگر شرط برقرار بود پیام زیر را چاپ میکند:

 

System.out.println(a + " zoj mibashad");

 

اگر شرط برقرار نبود بدون اجرای پیام فوق دستور شرط else یعنی در غیر این صورت که پیامش حاوی فرد بودن عدد هست رو چاپ میکند:

 

System.out.println(a + " fard mibashad");

 

مثال:

 

package iran;

public class Eighth_Session {

   public static void main(String[] args) {

       int a = 9;
       int b = 100;
       if (a > b) {
           System.out.print(a);
           System.out.println("=max");
           System.out.print(b);
           System.out.println("=min");
       }

       else {
           System.out.print(b);
           System.out.println("=max");
           System.out.print(a);
           System.out.println("=min");
       }

   }
}


•    چون دستورات بیش از یک دستور هست درون بلوک{} قرار داده می‌شود.
•    اگر a>b بود ،a را max و b را min اعلام کن در غیر این صورت b را max و a را min اعلام کن.

 

 

...ادامه این جلسه آموزشی را می‌توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.



این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)

آموزش آسان و ساده زبان برنامه نویسی جاوا

لینک دانلود

 

 


نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرامما شوید.

instagram
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

1 نظر
پریا
سه شنبه سی ام خرداد ۹۶
پاسخ
(1)
()
پریا
عااااااااااااااالی