دستور if-else چیست؟
ساختار و اجزای فرمان if-else
فرمان if-else از سه بخش اصلی تشکیل شده است: شرط، بلاک if و بلاک else. شرط، یک عبارت منطقی است که یا درست است یا نادرست. اگر شرط درست باشد، دستورات داخل بلاک if اجرا میشوند و اگر نادرست باشد، دستورات داخل بلاک else اجرا خواهند شد.
برای نمونه، فرض کنید برنامهای برای تعیین قبولی یا مردودی یک دانشآموز نوشتهایم. شرط این است که نمره، بزرگتر یا مساوی 12 باشد. اگر این شرط درست باشد، پیام «قبول» و اگر نادرست باشد، پیام «مردود» نمایش داده میشود. به این ترتیب، برنامه میتواند بر اساس ورودی کاربر، تصمیمگیری کند.
کاربردهای روزمره و مثالهای ملموس
شاید فکر کنید این دستور فقط در برنامهنویسی کاربرد دارد، اما در زندگی روزمره نیز مدام از آن استفاده میکنیم. برای نمونه، وقتی صبح از خواب بیدار میشوید، اگر هوا بارانی باشد، چتر برمیدارید و اگر آفتابی باشد، عینک آفتابی. این دقیقاً همان منطق if-else است.
در بازیهای رایانهای، این دستور نقش حیاتی دارد. فرض کنید در یک بازی، شخصیت اصلی به یک سکه برخورد میکند. برنامه بررسی میکند که اگر سکه گرفته شده باشد، امتیاز بازیکن افزایش یابد و اگر نه، امتیاز ثابت بماند. همچنین در ماشینحسابها، اگر عدد ورودی مثبت باشد، جذر آن محاسبه میشود و اگر منفی باشد، پیام خطا نمایش داده میشود.
| نوع شرط | مثال | خروجی |
|---|---|---|
| ساده | نمره >= 12 | قبول / مردود |
| ترکیبی با and | سن >= 13 و سن | نوجوان / غیرنوجوان |
| ترکیبی با or | روز = جمعه یا روز = پنجشنبه | تعطیل / روز کاری |
پرسشهای چالشی و پاسخهای کوتاه
پاسخ: بله، با استفاده از else if میتوان چندین شرط را پشت سر هم بررسی کرد. به این ترتیب، برنامه میتواند بین چندین گزینه، یکی را انتخاب کند. مثلاً برای نمایش درجهبندی نمرات (عالی، خوب، متوسط، ضعیف) از چندین else if استفاده میشود.
پاسخ: خیر. دستور if-else به گونهای طراحی شده که فقط یکی از دو بلاک کد اجرا شود. اگر شرط if درست باشد، بلاک if اجرا میشود و بلاک else کاملاً نادیده گرفته میشود و برعکس.
پاسخ: بله، به این کار «if-else تو در تو» میگویند. این روش برای تصمیمگیریهای چندلایه کاربرد دارد. مثلاً ابتدا بررسی میکنیم که آیا کاربر وارد سیستم شده است یا نه، و اگر وارد شده باشد، سپس بررسی میکنیم که آیا دسترسی مدیر دارد یا نه.
پاسخ: استفادهٔ بیش از حد از if-else، به ویژه تو در تو، باعث میشود کد پیچیده و خواندن آن دشوار شود. در چنین مواردی، از روشهای دیگری مانند دستور switch یا طراحی بهتر الگوریتم استفاده میکنیم.