خانه
گاما

دستور if-else: ساختار انتخاب یکی از دو مسیر اجرا بر اساس درست یا غلط بودن شرط.

دسته بندی:کپسول آموزشی
بروزرسانی شده در:1405/04/13
تعداد بازدید91
دستور if-else: ساختار انتخاب یکی از دو مسیر اجرا بر اساس درست یا غلط بودن شرط.

دستور if-else: انتخاب بین دو مسیر

ساختار شرطی که بر اساس درست یا غلط بودن یک شرط، تصمیم‌گیری می‌کند
در برنامه‌نویسی، گاهی لازم است برنامه بر اساس یک شرط، تصمیم بگیرد که کدام مسیر را دنبال کند. دستور if-else دقیقاً همین کار را انجام می‌دهد: اگر شرط درست باشد، یک کار انجام می‌شود و اگر غلط باشد، کار دیگری. این ساختار به برنامه‌ها امکان «تفکر» و انتخاب می‌دهد و یکی از پایه‌های اصلی تصمیم‌گیری در همه‌ی زبان‌های برنامه‌نویسی است.

ساختار if-else چگونه کار می‌کند؟

فرض کنید صبح از خواب بیدار می‌شوید و به بیرون از پنجره نگاه می‌کنید. اگر آسمان ابری باشد، چتر برمی‌دارید و اگر آفتابی باشد، چتر را در خانه می‌گذارید. این دقیقاً همان کاری است که دستور if-else در برنامه‌نویسی انجام می‌دهد. برنامه یک شرط را بررسی می‌کند؛ اگر آن شرط درست باشد، یک دستور (یا چند دستور) را اجرا می‌کند و در غیر این صورت (یعنی اگر شرط غلط باشد)، دستور دیگری را اجرا می‌کند.

شکل کلی این دستور به این صورت است: ابتدا کلمه‌ی if را می‌نویسیم، سپس شرط را در پرانتز قرار می‌دهیم و بعد یک بلوک از دستورات برای حالت درست بودن شرط می‌نویسیم. سپس کلمه‌ی else را می‌آوریم و بلوک دیگری برای حالت غلط بودن شرط می‌نویسیم. به این ترتیب، برنامه همیشه یکی از این دو مسیر را انتخاب می‌کند و هرگز هر دو را با هم اجرا نمی‌کند.

مثال ساده: برنامه‌ای بنویسید که عددی را از کاربر بگیرد و اگر بزرگتر از 10 بود، پیام «عدد بزرگ است» و در غیر این صورت پیام «عدد کوچک است» را چاپ کند. این کار با یک if-else ساده انجام می‌شود.
نوع ساختار شرطی توضیح مثال کاربردی
if تنها فقط در صورت درست بودن شرط، کاری انجام می‌شود اگر نمره قبولی بود، پیام تبریک چاپ کن
if-else در صورت درستی شرط یک کار، و در صورت غلطی، کار دیگر اگر سن بالای 18 بود، اجازه ورود بده، در غیر این صورت منع کن
if-else if-else برای چندین شرط مختلف، هرکدام مسیر جداگانه اگر نمره بالای 17 بود عالی، اگر بالای 14 بود خوب، وگرنه نیاز به تلاش بیشتر

کاربردهای جذاب if-else در زندگی روزمره

شاید باور نکنید، اما دستور if-else تقریباً در همه‌ی برنامه‌هایی که استفاده می‌کنید، وجود دارد. وقتی در یک بازی رایانه‌ای شخصیت شما جان خود را از دست می‌دهد، برنامه با if-else بررسی می‌کند که اگر مقدار جان به صفر رسیده باشد، بازی را تمام کند و پیام «باختید» را نشان دهد. در غیر این صورت، بازی را ادامه دهد. یا در یک برنامه‌ی مدیریت رمز عبور، اگر رمز عبور وارد شده با رمز ذخیره‌شده برابر بود، اجازه‌ی ورود داده می‌شود و در غیر این صورت، پیام خطا نشان داده می‌شود.

حتی در ماشین‌حساب‌های ساده هم if-else نقش دارد. وقتی شما علامت جمع را می‌زنید، برنامه با if-else تشخیص می‌دهد که کدام عملگر انتخاب شده و سپس عملیات مربوطه را انجام می‌دهد. در وب‌سایت‌های فروشگاهی، when شما یک کد تخفیف وارد می‌کنید، برنامه بررسی می‌کند که اگر کد معتبر بود، قیمت را کاهش دهد و در غیر این صورت، قیمت را همان‌طور نگه دارد. این ساختار ساده اما قدرتمند، یکی از دلایل اصلی انعطاف‌پذیری برنامه‌هاست.

چالش‌ها و پرسش‌های رایج درباره if-else

پرسش

آیا همیشه باید از else استفاده کنیم؟

خیر، گاهی فقط نیاز داریم در صورت درست بودن شرط، کاری انجام دهیم و اگر غلط بود، هیچ کاری نکنیم. در این موارد فقط از if استفاده می‌کنیم و else را نمی‌نویسیم. مثلاً اگر دمای هوا از 30 درجه بالاتر رفت، کولر را روشن کن و در غیر این صورت، هیچ کاری انجام نده.

پرسش

اگر بیش از دو حالت داشته باشیم، چه کنیم؟

از else if استفاده می‌کنیم. یعنی بعد از if اول، دوباره یک شرط جدید با else if می‌نویسیم و اگر هیچ‌کدام درست نبود، در else نهایی کار پیش‌فرض را انجام می‌دهیم. به این ترتیب می‌توانیم هر تعداد شرط که نیاز داریم، بررسی کنیم.

پرسش

آیا می‌توانیم if-else را درون if-else دیگر قرار دهیم؟

بله، به این حالت if-else تودرتو می‌گویند. مثلاً می‌خواهیم ابتدا بررسی کنیم که آیا کاربر وارد سیستم شده یا نه، اگر شده بود، سپس بررسی کنیم که آیا دسترسی مدیر دارد یا نه. این کار با قرار دادن یک if-else درون if-else دیگر انجام می‌شود. البته باید دقت کنیم که کد خیلی پیچیده نشود و خوانایی خود را از دست ندهد.

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

شهروند الکترونیک: فردی که با استفاده درست از ابزارهای دیجیتال و اینترنت، کارها و ارتباطات خود را ساده‌تر، سریع‌تر و کم‌هزینه‌تر انجام می‌دهد.

اینترنت و شبکه رایانه‌ای: بستر ارتباطی رایانه‌ها و شبکه‌های به‌هم‌پیوسته برای تبادل داده و استفاده مشترک از منابع
کپسول آموزشی

اینترنت و شبکه رایانه‌ای: بستر ارتباطی رایانه‌ها و شبکه‌های به‌هم‌پیوسته برای تبادل داده و استفاده مشترک از منابع

روش‌های اتصال به اینترنت: خط تلفن ثابت، ADSL، شبکه تلفن همراه و فیبر نوری
کپسول آموزشی

روش‌های اتصال به اینترنت: خط تلفن ثابت، ADSL، شبکه تلفن همراه و فیبر نوری

مودم: وسیله‌ای برای اتصال رایانه یا شبکه خانگی و اداری به اینترنت از طریق تجهیزات مخابراتی.
کپسول آموزشی

مودم: وسیله‌ای برای اتصال رایانه یا شبکه خانگی و اداری به اینترنت از طریق تجهیزات مخابراتی.

پست الکترونیکی: خدمت اینترنتی برای ایجاد، ارسال، دریافت، ذخیره و مدیریت پیام‌ها و اسناد دیجیتال.
کپسول آموزشی

پست الکترونیکی: خدمت اینترنتی برای ایجاد، ارسال، دریافت، ذخیره و مدیریت پیام‌ها و اسناد دیجیتال.

حساب و نشانی پست الکترونیکی: شناسه و فضای اختصاصی کاربر در سامانه ایمیل برای ارسال و دریافت پیام
کپسول آموزشی

حساب و نشانی پست الکترونیکی: شناسه و فضای اختصاصی کاربر در سامانه ایمیل برای ارسال و دریافت پیام

ایمیل (رایانامه): پیام الکترونیکی قابل ارسال و دریافت از طریق پست الکترونیکی
کپسول آموزشی

ایمیل (رایانامه): پیام الکترونیکی قابل ارسال و دریافت از طریق پست الکترونیکی

ارسال و مدیریت ایمیل: کارهایی مانند ارسال گروهی، ذخیره پیش‌نویس، نگه‌داری نامه‌های فرستاده‌شده، حذف و دسته‌بندی پیام‌ها
کپسول آموزشی

ارسال و مدیریت ایمیل: کارهایی مانند ارسال گروهی، ذخیره پیش‌نویس، نگه‌داری نامه‌های فرستاده‌شده، حذف و دسته‌بندی پیام‌ها

پیوست و رونوشت ایمیل: امکانات افزودن فایل، ارسال نسخه آشکار یا ارسال نسخه مخفی پیام به گیرندگان دیگر
کپسول آموزشی

پیوست و رونوشت ایمیل: امکانات افزودن فایل، ارسال نسخه آشکار یا ارسال نسخه مخفی پیام به گیرندگان دیگر

صندوق دریافت و پوشه‌های پست الکترونیکی: بخش‌های نگه‌داری، مشاهده و مرتب‌سازی رایانامه‌ها بر اساس موضوع یا وضعیت.
کپسول آموزشی

صندوق دریافت و پوشه‌های پست الکترونیکی: بخش‌های نگه‌داری، مشاهده و مرتب‌سازی رایانامه‌ها بر اساس موضوع یا وضعیت.

هرزنامه و بدافزار: پیام‌ها و نرم‌افزارهای ناخواسته یا زیان‌آور که می‌توانند به اطلاعات یا رایانه کاربر آسیب بزنند.
کپسول آموزشی

هرزنامه و بدافزار: پیام‌ها و نرم‌افزارهای ناخواسته یا زیان‌آور که می‌توانند به اطلاعات یا رایانه کاربر آسیب بزنند.

ویروس رایانه‌ای: نوعی بدافزار که با آلوده کردن فایل‌ها یا سامانه‌ها، عملکرد رایانه را مختل می‌کند.
کپسول آموزشی

ویروس رایانه‌ای: نوعی بدافزار که با آلوده کردن فایل‌ها یا سامانه‌ها، عملکرد رایانه را مختل می‌کند.