دستورهای شرطی؛ راهنمای برنامه برای انتخاب مسیر
دو ساختار اصلی برای تصمیمگیری
در برنامهنویسی، برای آنکه برنامه بتواند بر اساس شرایط مختلف، کارهای متفاوتی انجام دهد، از دستورهای شرطی استفاده میکنیم. مهمترین این دستورها، اگر و اگر-وگرنه هستند. ساختار اگر به برنامه میگوید: «اگر این شرط درست بود، آن کار را بکن.» اما ساختار اگر-وگرنه کمی کاملتر است و میگوید: «اگر شرط درست بود، کار اول را بکن؛ در غیر این صورت، کار دوم را انجام بده.»
| ویژگی | دستور اگر | دستور اگر-وگرنه |
|---|---|---|
| تعداد مسیرها | یک مسیر (فقط در صورت درست بودن شرط) | دو مسیر (یکی برای درست و یکی برای نادرست بودن شرط) |
| کاربرد اصلی | وقتی فقط در یک حالت خاص نیاز به اجرای دستور داریم | وقتی برای هر دو حالت (درست یا نادرست) کاری داریم |
| مثال در زندگی | اگر باران ببارد، چتر بردار | اگر باران ببارد، چتر بردار؛ وگرنه عینک آفتابی بزن |
کاربرد شرطها در زندگی روزمرهٔ دانشآموزی
هر روز بدون آنکه فکر کنیم، از دستورهای شرطی استفاده میکنیم. فرض کنید صبح از خواب بیدار میشوید. اگر هوا سرد باشد، ژاکت میپوشید؛ وگرنه تیشرت میپوشید. این دقیقاً همان اگر-وگرنه است. یا وقتی نمرهٔ امتحان را میبینید: اگر نمره از ۱۲ بیشتر باشد، خوشحال میشوید؛ وگرنه برای درس بیشتر زمان میگذارید. در بازیهای رایانهای نیز شخصیت بازی مدام از شرطها استفاده میکند: اگر جان کاراکتر به صفر برسد، بازی تمام میشود؛ وگرنه به ماجراجویی ادامه میدهد.
چالشهای مفهومی با پرسش و پاسخ
پرسش یک: چرا نمیتوانیم همیشه از «اگر» به جای «اگر-وگرنه» استفاده کنیم؟
پاسخ: چون گاهی برنامه باید برای هر دو حالت (درست و نادرست بودن شرط) کاری انجام دهد. اگر فقط از «اگر» استفاده کنیم، در حالت نادرست، برنامه هیچ کاری نمیکند و ممکن است کاربر سردرگم شود. مثلاً در یک آزمون آنلاین، اگر پاسخ درست بود، پیام «عالی» نشان داده شود و اگر نادرست بود، پیام «دوباره تلاش کن»؛ اینجا «اگر-وگرنه» لازم است.
پرسش دو: آیا میتوان چند شرط را پشت سر هم قرار داد؟
پاسخ: بله، به این کار «شرطهای تودرتو» میگویند. مثلاً اگر هوا بارانی بود، چتر بردار؛ وگرنه اگر هوا آفتابی بود، کرم ضدآفتاب بزن؛ وگرنه هوا ابری است، کلاه بپوش. این یعنی برنامه میتواند چندین حالت مختلف را بررسی کند و برای هرکدام کاری متفاوت انجام دهد.
پرسش سه: اگر شرطی که مینویسم، همیشه درست باشد، چه میشود؟
پاسخ: اگر شرط همیشه درست باشد، برنامه همیشه همان مسیر را میرود و بخش «وگرنه» هرگز اجرا نمیشود. به این حالت «شرط بیفایده» میگویند. مثلاً اگر بنویسیم «اگر ۲ بزرگتر از ۱ است، پیام سلام را نشان بده»، این شرط همیشه درست است و بخش «وگرنه» هیچ وقت اجرا نمیشود. پس باید شرطها را طوری بنویسیم که بتوانند هر دو حالت را تجربه کنند.
نکتهٔ پایانی: دستورهای شرطی به برنامه این توانایی را میدهند که مانند یک انسان فکر کند و بر اساس شرایط، عکسالعملی مناسب نشان دهد. درک درست از اگر و اگر-وگرنه، اولین گام برای نوشتن برنامههای هوشمندانه است. هر بار که در زندگی روزمره تصمیمی میگیرید، به خاطر بیاورید که یک برنامهنویس هم دقیقاً از همین منطق برای نوشتن کدهای خود استفاده میکند. تمرین با مثالهای ساده، شما را به یک برنامهنویسِ توانمند در تصمیمگیری تبدیل خواهد کرد.