دستور IF
معرفی
این بخش درباره دستور IF که یکی از دستورات کنترلی ارائه شده توسط زبان Wave است و نحوه استفاده از آن توضیح میدهد. دستور IF یک ساختار کنترلی پایه است که بعد از ارزیابی شرط، تنها زمانی که شرط درست باشد یک بلوک کد خاص را اجرا میکند.
این به برنامه اجازه میدهد نهتنها به صورت خطی از بالا به پایین اجرا شود، بلکه بسته به شرایط و وضعیت، عملکردهای مختلفی را انجام دهد. دستور IF عنصری حیاتی در اکثر برنامههاست و برای پیادهسازی انشعابات منطقی و کنترل جریان برنامه ضروری است.
ساختار پایه
دستور IF ابتدا عبارت شرطی را ارزیابی کرده و فقط در صورتی که نتیجه درست (True) باشد، بلوک کد داخل آکولاد {} را اجرا مینماید.
اگر شرط نادرست (False) باشد، بلوک مربوطه نادیده گرفته شده و به کد بعدی حرکت میشود.
ساختار پایه دستور IF در Wave به شکل زیر است.
if (شرط) {
// کدی که در صورت صحیح بودن شرط اجرا میشود
}
شما میتوانید از عملگرهای مقایسهای یا منطقی بهطور آزادانه در عبارتهای شرطی استفاده کنید.
برای مثال، میتوانید از عملگرهای مقایسهای مانند ==, !=, <, >, <=, >= استفاده کرده و رابطه بین مقادیر را بررسی کنید،
همچنین میتوانید از عملگرهای منطقی مانند &&, ||, ! برای ترکیب شرایط مختلف بهره ببرید.
نتیجه عبارت شرطی باید حتماً بهعنوان صحیح یا غلط ارزیابی شود و در صورتی که شرط غلط باشد، کد درون بلاک IF اجرا نخواهد شد.
مثال
در زیر مثالی از سادهترین شکل دستور IF آورده شده است.
var temperature :i32 = 30;
if (temperature > 25) {
println("هوا گرم است.");
}
در کد بالا، شرط بررسی میکند که آیا مقدار متغیر temperature بیش از ۲۵ است یا خیر.
اگر شرط صحیح باشد، پیام "هوا گرم است." نمایش داده میشود و اگر شرط غلط باشد، هیچ عملیاتی انجام نمیشود.
دستور IF زمانی ا ستفاده میشود که بخواهید کد فقط در صورتی اجرا شود که شرایط خاصی برآورده شود.
دستور IF-ELSE
اگر کدی وجود دارد که باید حتی زمانی که شرط صحیح نیست اجرا شود، میتوانید یک بند ELSE به دستور IF اضافه کنید. ساختار IF-ELSE کدی است که بر اساس نتیجه شرط یکی از دو بلوک کدی را بهصورت انتخابی اجرا میکند.
ساختار پایه به صورت زیر است.
if (شرط) {
// کدی که در صورت صحیح بودن شرط اجرا میشود
} else {
// کدی که در صورت غلط بودن شرط اجرا میشود
}
اگر شرط صحیح باشد، بلوک IF اجرا میشود و اگر غلط باشد، بلوک ELSE اجرا میشود. فقط یکی از دو بلوک اجرا میشود و هیچگاه به طور همزمان اجرا نمیشوند.
در زیر مثالی از استفاده از دستور IF-ELSE ذکر شده است.
var score :i32 = 70;
if (score >= 60) {
println("قبول شدهاید!");
} else {
println("مردود شدهاید.");
}
در این کد، بر اساس اینکه آیا score برابر یا بالاتر از ۶۰ است یا خیر، پیامهای متفاوتی نمایش داده میشود.
در صورتی که شرط درست باشد، پیام "قبول شدهاید!" نمایش داده میشود و در غیر این صورت پیام "مردود شدهاید." نمایش داده میشود.
دستور IF تودرتو
دستور IF را میتوان درون دستور IF دیگری نیز استفاده کرد و به آن IF تودرتو میگویند. IF تودرتو زمانی مفید است که بخواهید چندین مرحله از شرایط را بهصورت متوالی ارزیابی کنید.
در این مثال، بر اساس امتیاز، نتایج متفاوتی توسط IF تودرتو نمایش داده میشود.
var score :i32 = 85;
if (score >= 60) {
if (score >= 90) {
println("عملکرد عالی است!");
} else {
println("قبول شدهاید.");
}
} else {
println("مردود شدهاید.");
}
در این کد ابتدا بررسی میکند که آیا امتیاز برابر یا بیش از ۶۰ است یا خیر.
اگر کمتر از ۶۰ باشد، به سرع ت پیام "مردود شدهاید." نمایش داده میشود.
اگر برابر یا بیش از ۶۰ باشد، دوباره شرط بررسی میشود و اگر امتیاز برابر یا بیش از ۹۰ باشد، پیام "امتیاز عالی!" نمایش داده میشود و در غیر این صورت پیام "قبول شدهاید." نمایش داده میشود.
به این ترتیب، با استفاده از IF تودرتو میتوان شاخهبندیهای شرطی پیچیده را بهصورت مرحلهای بیان کرد.
خلاصه
دستور IF یک دستور کنترلی پایه است که شرایط را ارزیابی کرده و جریان اجرای برنامه را کنترل میکند. با استفاده از بند ELSE میتوانید عملکرد زمانی که شرط غلط است را بهوضوح تعریف کنید و با استفاده از IF تودرتو میتوانید شاخهبندیهای شرطی پیچیده با چندین شرط را نیز ایجاد کنید.
با استفاده مناسب از دستور IF، میتوان جریان برنامه را به طور منطقیتر و شفافتر ساخت.