آموزش برنامه نویسی با متلب

آموزش برنامه نویسی در متلب- حلقه های for و while و حلقه های شکست break و continue + مثال

از سری آموزش های برنامه نویسی در متلب، این قسمت به آموزش حلقه ها در متلب پرداخته می شود.

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

برنامه نویسی در متلب

MATLAB حالت های مختلف حلقه ارائه می کند. که در ادامه به بررسی تک تک آن ها پرداخته می شود

آموزش برنامه نویسی در متلب: حلقه while در متلب (The while Loop)

حلقه while بارها و بارها بیانیه برنامه (ها) اجرا می کند. تا زمانی که عبارت درست برسد.

یک عبارت درست است وقتی که نتیجه خالی نیست و شامل همه عناصر غیر صفر (منطقی یا عدد واقعی) است. در غیر این صورت، عبارت نادرست است.

مثال: 

یک فایل اسکریپتی ایجاد کنید و کد زیر را تایپ کنید:

a = 10;
% while loop execution 
while( a < 20 )
  fprintf('value of a: %d\n', a);
  a = a + 1;
end

زمانی که فایل را اجرا کنید نتایج زیر را نشان خواهد داد:

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19

آموزش برنامه نویسی در متلب: حلقه for در متلب (The for Loop)

یک حلقه for یک ساختار کنترل تکرار است که به شما اجازه می دهد تا به صورت صحیح یک حلقه را بنویسید که نیاز به اجرای تعداد خاصی دارید

حالت کلی یک حلقه for loop در متلب به صورت زیر است:

for index = values

   program statements
            ...
end

مثال ۱:

یک فایل اسکریپتی ایجاد کنید و کد زیر را تایپ کنید

for a = 10:20 
   fprintf('value of a: %d\n', a);
end

پس از اجرای فایل نتیجه زیر را نمایش خواهد داد

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19
value of a: 20

مثال ۲:

یک فایل اسکریپتی ایجاد کنید و کد متلب زیر را تایپ کنید

for a = 1.0: -0.1: 0.0
   disp(a)
end

پس از اجرای فایل کد متلب، نتیجه زیر به نمایش درخواهد آمد

۱
 ۰.۹۰۰۰۰
 ۰.۸۰۰۰۰
 ۰.۷۰۰۰۰
 ۰.۶۰۰۰۰
 ۰.۵۰۰۰۰
 ۰.۴۰۰۰۰
 ۰.۳۰۰۰۰
 ۰.۲۰۰۰۰
 ۰.۱۰۰۰۰
۰

مثال ۳:

یک فایل اسکریپتی ایجاد کنید و کد متلب زیر را تایپ کنید

for a = [24,18,17,23,28]
   disp(a)
end

پس از اجرای فایل متلب خواهید دید

۲۴

۱۸

۱۷

۲۳

۲۸

آموزش برنامه نویسی در متلب: حلقه های تو در تو در متلب (The Nested Loops)

متلب MATLAB اجازه می دهد تا از یک حلقه درون حلقه دیگر استفاده کنید. در بخش های بعد چند نمونه برای نشان دادن مفهوم ارائه خواهد شد.

ترکیب کلی برای یک عبارت loop در متلب MATLAB به صورت زیر است

for m = 1:j
   for n = 1:k
      statements;
   end
end

ترکیب دستور برای حلقه while تو در تو به شرح زیر می باشد

while expression1
   while expression2
      statements
   end
end

مثال۴:
از حلقه تو در تو استفاده کنیم تا تمام اعداد اول را از ۱ تا ۱۰۰ نمایش دهیم. یک فایل اسکریپت ایجاد کنید و کد زیر را تایپ کنید

for i=2:100
   for j=2:100
      if(~mod(i,j)) 
         break; % if factor found, not prime
      end 
   end
   if(j > (i/j))
      fprintf('%d is prime\n', i);
   end
end

پس از اجرای فایل متلب، نتیجه زیر به نمایش در خواهد آمد

۲ is prime
۳ is prime
۵ is prime
۷ is prime
۱۱ is prime
۱۳ is prime
۱۷ is prime
۱۹ is prime
۲۳ is prime
۲۹ is prime
۳۱ is prime
۳۷ is prime
۴۱ is prime
۴۳ is prime
۴۷ is prime
۵۳ is prime
۵۹ is prime
۶۱ is prime
۶۷ is prime
۷۱ is prime
۷۳ is prime
۷۹ is prime
۸۳ is prime
۸۹ is prime
۹۷ is prime

آموزش برنامه نویسی در متلب:حالت های کنترل حلقه (Loop Control Statements)

حالت های کنترل حلقه باعث تغییر برنامه از حالت عادی می گردند. هنگامی که اجرا را از یک حوزه خارج می کند، تمام اشتیا (اعداد، رشته ها و…) که در این حوزه تولید می شدند از بین می روند.

متلب از حالت های کنترل به صورت زیر پشتیبانی می کند که در ادامه به توضیح آن ها می پردازیم

  • حالت شکست یا قطع (The break Statement)

حالت شکست یا قطع برای خاتمه دادن به اجرای حلقه های for یا while  استفاده می شود. دستورات یا هر هدفی در حلقه بعد از دستور break  قرار دارند اجرا نمی شوند.

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

دیاگرام

آموزش برنامه نویسی در متلب

 

مثال ۵:

یک فایل اسکریپتی ایجاد کنید و کد متلب زیر را تایپ کنید

a = 10;
% while loop execution 
while (a < 20 )
   fprintf('value of a: %d\n', a);
   a = a+1;
      if( a > 15)
         % terminate the loop using break statement 
         break;
      end 
end

پس از اجرای فایل

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
  • حالت ادامه (continue Statement)

حالت ادامه برای انتقال کنترل به تکرار بعدی حلقه for یا while استفاده می شود.

حالت ادامه در متلب MATLAB تا حدودی مانند دستور break کار می کند. با این حال، به جای اینکه مجبور به خاتمه دادن شود، «ادامه»، تکرار حلقه بعدی  را انجام می دهد و از هر کد یا دستوری که در در این بین باشد عبور می کند( می پرد).

دیاگرام continue

برنامه نویسی در متلب و کنترل حلقه

مثال ۶:

یک فایل اسکریپتی ایجاد کنید و کد متلب زیر را تایپ کنید

a = 9;
%while loop execution 
while a < 20
   a = a + 1; 
   if a == 15
      % skip the iteration 
      continue;
   end 
fprintf('value of a: %d\n', a);
end

وقتی برنامه متلب را اجرا کنید نتیجه زیر را نشان خواهد داد

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19
value of a: 20

پست های مشابه

آموزش محاسبات جبری در متلب
آموزش محاسبات جبری در متلب
آموزش محاسبات جبری در متلب
آموزش محاسبات جبری در متلب
آموزش محاسبات جبری در متلب
آموزش محاسبات جبری در متلب

4 نظرات

  1. برای شروع برنامه نویسی سایت کدام زبان رو پیشنهاد می کنید

    • پاسخ

      با سلام
      با توجه به اینکه حوزه تخصصی ما برنامه نویسی سایت و نرم افزار نیست از جواب دادن به سوال شما معذوریم

  2. پاسخ

    سلام، سعی کنید مثال‌های متفاوت اضافه کنید، این مثال‌ها عینا در همه منابع ذکر شده و بخاطر سادگی بیش از حد عملا به درد نمی‌خورد.

    • پاسخ

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

یک نظر ارسال کنید

error: Content is protected !!