در این پست می خواهیم با مثال های کاربردی برای حلقه تکرار و شرط در متلب با این حوزه در نرم افزار آشنا شویم . در واقع دستورات حلقه و شرطی اساس کار برنامه نویسان در تمام زبان ها و برنامه های کامپیوتری است و مسائل بسیار پیچیده نیز غالباً با استفاده از همین دستورات پیاده سازی می شوند . در اینجا می خواهیم چند مثال مشهور از کاربرد این دستورات را با بررسی نماییم تا با چگونگی کدنویسی در این حوزه در نرم افزار متلب آشنا شویم .
در اولین مثال میخواهیم فاکتوریل یک عدد را محاسبه نماییم و در خروجی به کاربر نمایش دهیم در اینجا ما عدد را به عنوان ورودی از کاربر میگیریم و فاکتوریل آن را محاسبه و نمایش می دهیم . به کدهای زیر در این رابطه توجه نمایید :
>> number=input(' please enter your number ='); fact=1; for k=1:number fact=fact*k; end disp([ fact]) please enter your number =3 6
در خط اول از کد بالا، با دستور input ما از کاربر یک عدد به عنوان ورودی دریافت می کنیم ، در خط دوم پارامتر fact را تعریف و مقدار اولیه 1 را به آن می دهیم . در خط سوم از دستور for استفاده میکنیم و شمارنده ای به نام k را از 1 تا عدد ورودی تعریف میکنیم . در هر بار اجرای حلقه عدد فاکتوریل را در k ضرب مبکنبم و مقدار آن را آپدیت میکنیم . به این ترتیب عمل فاکتوریل را انجام میدهیم . با رسیدن شمارنده k به عدد ورودی ، حلقه متوقف شده و فاکتوریل ثبت میشود.
استفاده از دستور شرطی :
در همان مثال قبلی فرض کنید بخواهیم شرطی بگذاریم که اگر کاربر عددی بالاتر از 10 را انتخاب کرد ، برنامه فاکتوریل را محاسبه نکند و پیام دهد که عدد وارد شده بسیار بزرگ است. برای این منظور کدهای زیر را اجرا میکنیم.
number=input(' please enter your number ='); if (number)>10 disp( 'too big number'); else fact=1; for k=1:number fact=fact*k; end; disp(fact); end
در نتیجه :
please enter your number =5 120 please enter your number =13 too big number
در این کد ، دستور if افزوده شده است که با این دستور ما در ابتدا بررسی می کنیم که عدد وارد شده توسط کاربر کوچک تر از 10 است یا خیر . اگر کوچکتر از 10 بود فاکتوریل را محاسبه میکند. در قسمت else ، نیز روال مانند مثال قبل خواهد بود.
دستور while
برای آشنایی با دستور while از یک مثال دیگر استفاده میکنیم . میخواهیم دستوری بنویسیم که یک عدد از ورودی دریافت کند و در خروجی از عدد 1 تا عدد ورودی ، در هر سطر به تعداد خود آن عدد، علامت @ را چاپ کند. برای روشن شدن موضوع به مثال توجه کنید :
number=input('please enter a number='); c1=1; while c1<=number c2=1; while c2<=c1 fprintf('@') c2=c2+1; end c1=c1+1; fprintf('\n') end
و در نتیجه داریم :
please enter a number=4 @ @@ @@@ @@@@
همانطور که در این مثال دیده میشود ، دستور while تا وقتی که شرط جلوی آن صحیح باشد، حلقه خود را تکرار میکند و میتواند در موقع زیادی مفید واقع شود .
در این پست با مثال های کاربردی برای حلقه تکرار و شرط در متلب آشنا شدیم و نحوه نوشتن دستورات را مرور کردیم.