انجمن برنامه نویسان البرز

تبلیغات

دستور if و else به زبان بسیار ساده – درس چهارم

دستور if و else به زبان بسیار ساده – درس چهارم


در مطالب گذشته، با شما درباره دستور if صحبت کردیم. اگر این مطلب را نخوانده اید، به دستور if برنامه نویسی به زبان بسیار ساده مراجعه کنید. در این مطلب قصد داریم یک نکته کوچک به دستور if اضافه کنیم و آن هم else و else if است. دستور if و else تقریبا فرقی با دستور قبلی ندارد. شما حتی میتوانید بدون استفاده از دستور if و else برنامه هایتان را بنویسید!

گاهی اوقات در یک دستور if شرط ما صادق نیست و if اجرا نمیشود. در این صورت اگر از else استفاده کنیم، دستورات قسمت else اجرا میشود:


if (شرط)
{
     دستور;
}
else
{
     دستور;
}
مثلا
if (2<1)
{
     print "smaller";
}
else
{
     print "bigger";
}

به مثال دقت کنید. در این مثال نوشته ایم که اگر عدد ۲ از عدد ۱ کوچک تر بود، چاپ کن smaller و در غیر این صورت چاپ کن bigger. طبیعی است که عدد ۲ از ۱ کوچکتر نیست. پس if اجرا نشده و else اجرا میشود.

لغت else به معنی “در غیر این صورت” است.

اگر به خاطر داشته باشید الگوریتم زیر را در درس قبلی، به کد تبدیل کردیم:

  1. int num1
  2. یک عدد از ورودی بگیر و در num1 بگذار
  3. int baghimande
  4. baghimande=num1 % 2 (% به معنی باقیمانده است.این عبارت، باقیمانده تقیسم num1 بر ۲ را درون متغیر baghimande میریزد)
  5. if باقیمانده صفر است چاپ کن زوج
  6. if باقیمانده صفر نیست، چاپ کن فرد

اجازه بدهید با دستور else کدمان را کمی زیباتر کنیم. در جلسه قبلی ما کد را به این شکل نوشتیم:


int num1;
cin>>num1;
int baghimande;
baghimande=num1 % 2;
if (baghimande==0)
{
   cout<<"زوج"; 
}
if (baghimande>0)
{
   cout<<"فرد";
}

حالا کد را به صورت زیر تغییر میدهیم:


int num1;
cin>>num1;
int baghimande;
baghimande=num1 % 2;
if (baghimande==0)
{
   cout<<"زوج"; 
}
else
{
   cout<<"فرد";
}

هر عددی که زوج نباشد فرد است. بنابراین با استفاده از دستور else کدمان را ساده تر و خواناتر کردیم.

آیا میتوانم به جای دستور if و else همیشه فقط از if استفاده کنم؟

پاسخ این است که بله. تقریبا در همه موارد میتوانید به جای استفاده از else از یک if جدید استفاده کنید. اما استفاده از else تمیزتر و بهینه تر است.

استفاده از else if

گاهی وقتها میخواهیم بیشتر از یک شرط را چک کنیم. بیاید فرض کنیم میخواهیم یک برنامه بنویسیم که یک عدد را از ورودی بگیرد و اگر بزرگتر از ۵ بود چاپ کند “بزرگتر” اگر مساوی با پنج بود چاپ کند “مساوی” و اگر کوچکتر از ۵ بود چاپ کند “کوچکتر”. خوب ما یاد گرفته ایم که مثل برنامه نویس ها فکر کنیم . پس مسئله را به قسمت های کوچکتر میشکنیم تا بتوانیم آنرا ساده تر حل کنیم.

در صورت مسئله گفته ایم که برنامه ای بنویسید که عددی را از ورودی بگیرد و اگر بزرگتر از ۵ بود چاپ کند بزرگتر و اگر مساوی با پنج بود، چاپ کند مساوی و اگر کوچکتر بود چاپ کند کوچکتر . هماهنطور که میبینید مسئله جواب خودش را درون خودش دارد! الگوریتم را مینویسیم:

  1. عددی را از ورودی بگیر و در num1 بگذار
  2. اگر num1>5 بود چاپ کن بزرگتر
  3. در غیر اینصورت اگر num1=5 چاپ کن مساوی
  4. در غیر این صورت چاپ کن کوچکتر

دقت کنید که اگر عددی بزرگتر از ۵ نباشد و مساوی با ۵ هم نباشد، حتما کوچکتر است.

بیاید کد را با هم بنویسیم:


int num1;
cin>>num1;
if (num1>5)
{
   cout<<"بزرگتر"; 
}
else if (num1==5)
{
   cout<<"مساوی";
}
else
{
   cout<<"کوچکتر";
}

همانطور که مشخص است، برنامه ما بعد از اینکه یک عدد را از ورودی گرفت، چک میکند که آیا آن عدد از ۵ بزرگتر است؟ در این صورت چاپ میکند بزرگتر و برنامه تمام میشود. در صورتی که عدد ما از ۵ بزرگتر نبود، وارد شرط دوم میشود و چک میکند که آیا مساوی با ۵ است یا خیر. در صورتی که شرط دوم هم انجام نشد، برنامه وارد قسمت سوم میشود و چاپ میکند که عدد ما از ۵ کوچکتر است.

دستور if به همین سادگی تمام شد!




کلمات کلیدی :

نظر بدهید

3 دیدگاه برای “دستور if و else به زبان بسیار ساده – درس چهارم

  • hamidreza گفته
    ۱۷ فروردین ۹۶

    کاش به جای همه توضیحات فقط نکته تفاوت استفاده از دو دستور if و یا else if رو میگفتید. نکته مهمی هست 🙂

  • kheirdoost گفته
    ۱۷ فروردین ۹۶

    با تشكر اگر جلوي دستور if سميكالن بذاريم چي ميشه
    if(;;);

    • علیرضا صبوئی گفته
      ۱۷ فروردین ۹۶

      چرا این کارو کنیم آخه؟