شرط و دستور if: تصمیمگیری در برنامه
دستور if چگونه کار میکند؟
فرض کنید مادرتان به شما گفته است: «اگر هوا سرد بود، کت بپوش». این یک شرط ساده است. در برنامهنویسی، دستور if دقیقاً به همین شکل عمل میکند. شما یک شرط مینویسید و اگر آن شرط برقرار باشد (یعنی درست باشد)، برنامه یک کار مشخص را انجام میدهد. اگر شرط برقرار نباشد، برنامه از آن دستور عبور میکند و کاری انجام نمیدهد.
شکل نوشتاری این دستور به این صورت است: کلمهی if را مینویسیم، سپس شرط را درون پرانتز قرار میدهیم و بعد یک بلوک از دستورات مینویسیم که اگر شرط درست بود، اجرا شوند. به این ترتیب، بخشی از برنامه فقط در شرایط خاص اجرا میشود و در بقیهی موارد نادیده گرفته میشود.
| نوع شرط | نحوهی نوشتن | مثال در زندگی |
|---|---|---|
| برابری | x == 5 | اگر شمارهی صندلی برابر 12 بود، بنشین |
| بزرگتری | نمره > 12 | اگر نمره از 12 بیشتر بود، قبول |
| کوچکتری | سن | اگر سن کمتر از 18 بود، فیلم مناسب نیست |
| نابرابری | x != 0 | اگر عدد صفر نبود، تقسیم را انجام بده |
کاربردهای جذاب شرط و if در زندگی روزمره
دستور if در همهجای برنامهنویسی حضور دارد و بسیاری از کارهایی که روزانه با کامپیوتر انجام میدهیم، بر پایهی همین ساختار ساده استوار است. مثلاً وقتی در یک وبسایت، نام کاربری و رمز عبور خود را وارد میکنید، برنامه با یک if بررسی میکند که آیا اطلاعات وارد شده با اطلاعات ذخیرهشده مطابقت دارد یا نه. اگر مطابقت داشت، اجازهی ورود میدهد و در غیر این صورت، پیام خطا نشان میدهد.
در بازیهای رایانهای نیز if نقش کلیدی دارد. وقتی شخصیت شما به یک جایزه میرسد، برنامه با if بررسی میکند که آیا با آن شیء برخورد کرده است یا نه. اگر برخورد کرده باشد، امتیاز شما را افزایش میدهد. یا در برنامههای آبوهوا، اگر دمای هوا از حد معینی پایینتر باشد، برنامه به شما هشدار میدهد که لباس گرم بپوشید. این تصمیمگیریهای ساده اما حیاتی، همه با کمک دستور if انجام میشوند.
حتی در ماشینهای خودپرداز بانکها هم if وجود دارد! وقتی شما مبلغی را برای برداشت وارد میکنید، برنامه بررسی میکند که آیا موجودی حساب شما به اندازهی کافی است یا خیر. اگر موجودی کافی بود، پول را به شما میدهد و اگر نه، پیام «موجودی ناکافی» را نمایش میدهد.
پرسشهای کلیدی دربارهی شرط و if
آیا میتوانیم چند شرط را با هم در if بررسی کنیم؟
بله، با استفاده از عملگرهای «و» (and) و «یا» (or) میتوانیم چند شرط را ترکیب کنیم. مثلاً اگر دما بین 20 و 30 درجه بود، هوای مطبوع است. در این حالت، هر دو شرط باید درست باشند تا کل شرط درست باشد.
اگر شرط if غلط باشد، چه اتفاقی میافتد؟
اگر شرط غلط باشد، برنامه از کل بلوک if عبور میکند و به دستورات بعد از آن میرود. هیچکدام از دستورات داخل if اجرا نمیشوند. به عبارت دیگر، برنامه اصلاً آن بخش از کد را نمیبیند و نادیده میگیرد.
چرا گاهی برنامه با if به درستی کار نمیکند؟
یکی از رایجترین اشتباهات، استفاده از علامت تساوی اشتباه است. در برنامهنویسی، برای مقایسه از == استفاده میشود و علامت = برای مقداردهی است. همچنین گاهی فراموش میکنیم که شرط را در پرانتز بنویسیم یا بلوک دستورات را به درستی مشخص کنیم. این اشتباهات کوچک باعث میشوند که برنامه رفتار غیرمنتظرهای داشته باشد.