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

آموزش حلقه های، شرطی if ،if … elseif و انواع switch در متلب

ساختار برنامه نیازمند آن است که برنامه نویس باید یک یا چند شرایط را برای ارزیابی یا آزمایش توسط برنامه تعیین کند و دارای کامنت باشد. در ادامه، فرم کلی یک ساختار تصمیم گیری معمول در بسیاری از زبان های برنامه نویسی یافت می شود –

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

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

یک عبارت if … end شامل یک علامت if و یک عبارت boolean است که یک یا چند عبارتی است. این حالت توسط end پایان می یابد.

ترکیب دستور if در متلب:

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

اگر عبارت محاسبه شده درست باشد، بلوک کد داخل دستور if اجرا می شود. اگر عبارت به غلط ارزیابی شود، مجموعه اول کد پس از دستور end اجرا خواهد شد.

دیاگرام

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

مثال

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

a = 10;
% check the condition using if statement 
   if a < 20 
   % if condition is true then print the following 
      fprintf('a is less than 20\n' );
   end
fprintf('value of a is : %d\n', a);

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

a is less than 20
value of a is : 10

ترکیب دستور if … else در متلب MATLAB:

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

اگر عبارت داخل <> درست باشد، بلوک if کد اجرا می شود، در غیر این صورت بلوک کد else اجرا خواهد شد.

دیاگرام

آموزش کذ نویسی در متلب

مثال

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

a = 100;
% check the boolean condition 
   if a < 20 
      % if condition is true then print the following 
      fprintf('a is less than 20\n' );
   else
      % if condition is false then print the following 
      fprintf('a is not less than 20\n' );
   end
fprintf('value of a is : %d\n', a);

هنگامی که کد بالا کامپایل شده و اجرا می شود، نتیجه ی زیر را تولید می کند:

a is not less than 20
value of a is : 100

ترکیب دستور  if…elseif…elseif…else…end :

یک عبارت if می تواند یک (یا بیشتر) elseif … و یک عبارت else را دنبال کند که برای آزمایش شرایط مختلف بسیار مفید است.

هنگام استفاده از حالت  if… elseif…else، نکات کمی وجود دارد که باید در ذهن داشته باشید:

  • اگر می تواند صفر یا یک else داشته باشد، بعد از elseif باید باشد.
  • اگر می تواند صفر تا چندین elseif داشته باشد و آنها باید قبل از else باشند.
  • اگر یک elseif موفق شود، هیچ یک از elseif موجود دیگر یا else مورد آزمایش قرار نخواهد گرفت.

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

 

 

 

 

 

 

 

 

 

مثال: 

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

a = 100;
%check the boolean condition 
   if a == 10 
      % if condition is true then print the following 
      fprintf('Value of a is 10\n' );
   elseif( a == 20 )
      % if else if condition is true 
      fprintf('Value of a is 20\n' );
   elseif a == 30 
      % if else if condition is true  
      fprintf('Value of a is 30\n' );
   else
      % if none of the conditions is true '
      fprintf('None of the values are matching\n');
   fprintf('Exact value of a is: %d\n', a );
   end

هنگامی که کد بالا کامپایل و اجرا می شود، نتیجه ی زیر را تولید می کند:

None of the values are matching
Exact value of a is: 100

دستورات شرطی تو در تو

در MATLAB همیشه قانونی است که عبارتهای  if-else را در آن قرار دهد که بدین معنی است که شما

می توانید یک دستور if یا else را در داخل دستور else یا elseif استفاده کنید.

آموزش برنامه نویسی در متلبشما می توانید به همان شیوه ای که در در حالت کلی در روبه رو نشان داه شده است elseif…else را قرار دهید.

 

مثال :

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

a = 100;
b = 200;
   % check the boolean condition 
   if( a == 100 )
   
      % if condition is true then check the following 
      if( b == 200 )
       
         % if condition is true then print the following 
         fprintf('Value of a is 100 and b is 200\n' );
      end
       
   end
   fprintf('Exact value of a is : %d\n', a );
   fprintf('Exact value of b is : %d\n', b );

هنگامی که شما فایل را اجرا می کنید، نمایش می دهد :

Value of a is 100 and b is 200
Exact value of a is : 100
Exact value of b is : 200

ترکیب دستور switch در متلب

یک بلوک switch  به طور شرطی یک مجموعه از حالت هایی از چندین گزینه را اجرا می کند. هر یک از موارد با یک حالت مورد بررسی قرار می گیرد.

عبارت switch_expression یک عبارت اسکالر یا رشته ای است.

Expression case_exposed یک اسکالر، یک رشته یا آرایه سلولی از اسکالرها یا رشته ها است.

بلوک switch  هر موردی را آزمایش می کند تا زمانی که یکی از موارد درست باشد. یک مورد صادق است زمانی که:

  • برای اعداد، (eq (case_expression، switch_expression.
  • برای رشته ای ها،( strcmp (case_expression، switch_expression.
  • برای هدفی پشتیبانی می کنند (eq(expression_expression، expression_expression.
  • برای یک case_expression آرایه سلولی، حداقل یکی از عناصر آرایه سلول، match_expression برابر است، همانطور که در بالا برای اعداد، رشته ها و اشیاء تعریف شده است.

وقتی یک مورد درست است، MATLAB دستورات مربوطه را اجرا می کند و سپس از بلوک switch خارج می شود.

بلوک otherwise  اختیاری است و تنها زمانی اجرا می شود که هیچ مورد درست نیست.

حالت بیان دستور در متلب به صورت زیر است:

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

 

 

 

 

 

مثال:

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

grade = 'B';
   switch(grade)
   case 'A' 
      fprintf('Excellent!\n' );
   case 'B' 
      fprintf('Well done\n' );
   case 'C' 
      fprintf('Well done\n' );
   case 'D'
      fprintf('You passed\n' );
   
   case 'F' 
      fprintf('Better try again\n' );
     
   otherwise
      fprintf('Invalid grade\n' );
   end

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

Well done

پست های مشابه

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

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

error: Content is protected !!