آموزش متلب (MATLAB)
۵۴۳ آموزش
نمایش دسته بندی ها (۵۴۳ آموزش)

خارج شدن از حلقه (for و while)، با دستور break ، در متلب (MATLAB)

زمانی که یک حلقه می سازیم (با دستور for یا while)، تعداد گام های حلقه مشخص است و به همان تعداد، دستورات حلقه اجرا می شوند. اما گاهی نیاز داریم که با به وجود آمدن یک شرایط خاص، تعیین کنیم که گام های باقیمانده حلقه، اجرا نشوند. برای این منظور، دستور break به کار می رود، یعنی وقتی متلب به دستور break در حلقه برسد، از حلقه خارج می شود و دیگر هیچ کدی از حلقه اجرا نخواهد شد.

اکنون می خوایم نحوه استفاده از دستور break در حلقه را شرح بدهیم. ابتدا فرض کنید که یک حلقه را با دستور for و به صورت معمولی بسازیم (این حلقه، تنها مقدار پارامتر حلقه را در خروجی چاپ می کند) :


clear all
close all
clc

for nn=1:7
    disp(nn);
end

نتیجه :


1

     2

     3

     4

     5

     6

     7

اکنون می خواهیم تعیین کنیم که گام سوم به بعد از حلقه، اجرا نشود. بنابراین با دستور if چک می کنیم که هرگاه مقدار پارامتر حلقه (nn) برابر 3 بود، آنگاه دستور break اجرا شود تا از حلقه خارج شویم و دیگر هیچ کدی از حلقه اجرا نگردد :


clear all
close all
clc

for nn=1:7
    if(nn==3)
        break;
    end
    disp(nn);
end

نتیجه :


1

     2
نکته

ممکن است این سوال پیش بیاید که اگر دو حلقه تو در تو داشته باشیم و آنگاه درون حلقه داخلی تر، دستور break اجرا شود، آیا تنها از حلقه داخلی تر خارج می شویم و یا اینکه از هر دو حلقه خارج خواهیم شد. پاسخ این است که تنها از حلقه داخلی تر خارج خواهیم شد. این پاسخ را با مثال زیر اثبات می کنیم :

مثال

دو حلقه تو در تو می سازیم :


clear all
close all
clc

for nn=1:7
    disp(nn)
    for mm=1:2
        if(mm==2)
            break;
        end
        disp('second loop');
    end
end

نتیجه :


1

second loop
     2

second loop
     3

second loop
     4

second loop
     5

second loop
     6

second loop
     7

second loop

مشاهده می کنید که هر بار اجرای دستور break ، تنها باعث شده است که از حلقه داخلی تر (با پارامتر mm) خارج شویم، ولی حلقه خارجی تر (با پارامتر nn) همچنان اجرا شده است.

نویسنده علیرضا گلمکانی
شماره کلید 182
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 3 3 0
شهاب
۱۳۹۵/۰۷/۰۱
۱۳:۵۸

ممنون
عالی بود

ر
۱۳۹۷/۰۷/۰۷
۰۱:۵۰

ممکن است این سوال پیش بیاید که اگر دو حلقه تو در تو داشته باشیم و آنگاه درون حلقه داخلی تر، دستور break اجرا شود، آیا تنها از حلقه داخلی تر خارج می شویم 
خدا خیرت بده متن شما دقیقا سوال من بود تا حالا اینقدر سریع جواب پیدا نکرده بودم

شقایق
۱۴۰۱/۰۳/۱۰
۱۵:۲۸

سلام وقت بخیر. ببخشید دستوری برای خروج از حلقه و برگشتن به خط خاصی از برنامه، در متلب وچود داره ؟ ممنون میشم راهنمایی کنید.

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)