دستور if در متلب
دستور if در متلب
دستور if در محیط برنامهنویسی متلب، یکی از گزارههای شرطی قدرتمند است که کاربرد بسیاری دارد. اگر در کدنویسی، عبارت یا عبارتهای شرطی وجود داشتهباشد، لازم است از یک دستور شرطی استفادهشود. دستور if در متلب، یکی از گزینههای موجود است که میتوان به کمک آن، ایننوع عبارتها را بهسادگی اجرا نمود.
اولین و سادهترین دستور شرطی متلب، عملگر if است. این دستور همانند سایر دستورات Matlab ویژگیهای خاصی در کدنویسی دارد که کاربر باید آنها را رعایتکند. در محیط برنامهنویسی این نرمافزار، دستور if یک یا چند عبارت را بررسی و ارزیابی میکند و براساس آن نتیجه توسط برنامه اجرا میشود. خود دستور if را میتوان به عنوان زیرمجموعه دستورات دیگری نظیر حلقه for بهکار برد.
برای بکار بردن این گزاره، محدودیتی در تعداد شرطها وجود ندارد؛ یعنی میتوانید با استفاده از عبارت if، چندین شرط را به طور همزمان اعمال کنید. نکتهای که باید توجه کنید، نحوه ساختار کدها در حالت یک شرط و چندشرطی است که کمی تفاوت دارد. برای ساخت عبارات شرطی، دستور if بهتنهایی کافی نیست، بلکه از عملگرهای مختلف برای نمایش شرط نیز استفاده میشود.
عملگرها به دو دسته کلی رابطهای (Relational) و منطقی (Logical or Boolean) تقسیمبندی میشوند، بنابراین یک عبارت شرطی میتواند شامل انواع مختلفی از عملگرها باشد. کاربر میتواند از این عملگرها بهصورت جداگانه یا برای ایجاد عبارات ترکیبی استفاده کند. البته توجه کنید MATLAB عبارات ترکیبی را از چپ به راست ارزیابی میکند و به قوانین اولویت عملگر پایبند است.
گزاره تودرتو elseif
این دستور یک ساختار مشخصی برای کدنویسی دارد. پس از دستور if، یک عبارت شرطی یا expression نوشته میشود. چنین شرطی ابتدا قبل از اجرای هر دستوری در داخل بدنه if ارزیابی میشود. اگر آرگومان ورودی، این شرط را دارا باشد فرمان یا عبارت توضیحی خط بعد اجرا میشود. درواقع اگر شرط درست باشد، مطابق شکل، جملهای که بهعنوان statement قرار میگیرد، اجرا میشود.
سوالی که وجود دارد، این است که اگر تعداد عبارتها بیش از یک شرط باشد، تعریف دستور if در متلب چگونه خواهدبود؟ شما میتوانید هرتعداد از دستورات if را تودرتو کنید. توجه داشتهباشید هردستور if به یک کلمه کلیدی پایانی نیاز دارد. اگر یک عبارت شرطی برای دستور if وجود داشتهباشد، از کلمه کلیدی end استفاده میکنیم. اگر تعداد شرطهای بهکاربرده شده بیش از یکی باشد، پس از دستور if، بلوک elseif یا else ساخته میشود.
یک دستور if میتواند شامل گزاره تودرتو elseif یا چندین بلوک از آن باشد. نکتهای که وجود دارد، باید از افزودن فاصله پس از دیگری در کلمه کلیدی elseif خودداری کنید. بلوکهای elseif و else اختیاری هستند. این عبارات فقط درصورتی اجرا میشوند که عبارات قبلی در بلوک if…end نادرست باشند.
استفاده از دستور if با عملگرهای and، or و not
همانطور که در بخش قبلی ذکرشد، دستور if به کاربر این امکان را میدهد که با آزمایش، یک شرط را مورد بررسی قراردهد. درنهایت، با برگرداندن نتیجه درصورت درست یا نادرستبودن آن شرط، یک مقایسه منطقی بین یک مقدار و آنچه انتظار میرود، انجام میشود. مفهوم خود if بهصورتی معنا میشود که اگر شرط درست است، فرمان اجرا شود؛ درغیر اینصورت، عبارت یا دستور سطر بعد اجرا نمیشود.
در این قسمت به کاربرد if در کنار گزارههای دیگری مانند and، or و not میپردازیم. این دستورات بهتنهایی نیز قابل استفاده هستند، اما رایجتر است که آنها را با دستور if در متلب همراه کنید. چنین عملگرهایی معمولا برای حالتهایی که چندین عبارت شرطی وجود دارد، کاربرد دارند. هنگامیکه هریک از این سهعملگر را با یک دستور if ترکیب میکنید، مفهوم شرطی جدیدی در کد مربوطه ظاهر میشود.
اولین تابع که دستور and است؛ در چنین حالتی که همه شرطها باید همزمان درست یا نادرست باشند، از دستور if و درادامه آن and استفاده میشود. در این جملات، چندین شرط وجود دارد و اگر یکی از آنها درست نباشد، کل عبارت اجرایی، انجام نخواهد شد. گزاره بعدی، دستور or که بهمعنی “یا” است، به نوعی شرطها را معادل یکدیگر بیان میکند.
مفهوم دستور or در کنار عملگر if، این است که اگر هرکدام از عبارتهای شرطی برقرار باشد، جمله بعدی اجرا میشود؛ بنابراین فقط کافی است یکی از عبارتهای شرطی درست باشد تا عبارت بعدی اجرا شود. درنهایت عملگر not است که بهنوعی نقش منفیکردن یک عبارت شرطی را برعهده دارد. دستور if not در مواقعی که کاربر بخواهد یک شرط انجام نشود، نوشته میشود.