الجمل الشرطية Conditional Statements
مثل جميع لغات البرمجة يوفر ماتلاب نوعين أساسين من جمل التحكم في سير البرنامج :
- الجمل الشرطية Conditional statements
- جمل التكرار Looping
الجمل الشرطية : Conditional Statements
التنفيذ الطبيعي للبرنامج يتم بتسلسل من أول أمر إلى آخره و لكن في حالات عديدة قد نحتاج إلى تقيم كتلة من أوامر دون غيرها استناداً إلى شروط معينة تعتمد عادة على فحص بعض العمليات المنطقية في البرنامج . يوفر ماتلاب نوعين من الجمل الشرطية :
جملة if
و جملة switch.
الشكل العام لهذه الجملة يعتد على مجموعة شروط منطقية
conditions
و مجموعة كتل من الأوامر
statements:
if condition1
Statements 1
elseif condition2
Statements 2
Statements 1
elseif condition2
Statements 2
.
.
else
Default statements
end
في حالة تحقق أي من الشروط فيتم تنفيذ مجموعة التعليمات التي تتبعه و ينهي البرنامج الجملة الشرطية . أما في حالة عدم تحقق الشرط 1 فيتم الانتقال إلى الشرط الذي يليه و هكذا حتى نصل إلي الأمر
end
أو الأمر
else
الذي ينفذ مجموعة من الأوامر الافتراضية.
في الواقع يمكن للجملة الشرطية أن تأخذ صور مختلفة نذكر منها:
الصورة الثالثة لجملة if…elseif…else..end
(وجودة أكثر من خيارين)
if condition1
Statements 1
elseif condition2
Statements 2
else
statements 3
end
الصورة if… else..end
(وجود خيارين)
if condition1
Statements 1
else
Statements 2
end
الصورة if…end
(وجود خيار واحد)
if condition
Statements
end
ملاحظة : يمكن لكل كتلة من الكتل أن تحتوي على جمل شرطية متداخلة
nested-if .
مثال :
m=input(' The mark : ')
if (m>=90)
g = 'A';
elseif (m<90) & (m>=80)
g = 'B';
elseif (m<80) & (m>=70)
g='C'
elseif (m<70) & (m>=60)
g= 'D';
else
g = 'F';
end
fprintf('Grade : %s \n',g);
الصيغة SWITCH-CASE
هي عبارة اختيار ثانية تتيح لك التحكم في سير البرنامج بحسب عدد من القيم المختلفة. والصيغة العامة لعبارة
switch
هي:
تعتمد هذه الصيغة لتحكم في سير البرنامج على مقارنة قيمة متغير أو عبارة مع قيم مختلفة. و يكون الشكل العام لعبارة على النحو التالي:
switch expression (scalar or string)
case value1
statement group 1
case {value2, value 3,..}
statement group 2
…
otherwise
statement group n+1
end
تقوم عبارة بتقييم التعبير وتقارن نتيجته بالقيم المذكورة بعد كل كلمة
case.
فإذا توافقت قيمه تعبير
switch
مع إحدى القيم المذكورة بعد كلمة
case
فسيقوم البرنامج بتنفيذ الأوامر التي تلي كلمة
case
الموافقة و نهاية تركيب
switch.
أم إذا لم يحدث توافق مع أي من القيم المذكورة بعد كلمة
case،
فسيتنقل البرنامج إلى الأوامر الموجودة بعد كلمة
otherwise .
علما أن هذه كلمة اختيارية. فإذا لم تستخدم في تركيب
switch،
ولم يحدث توافق مع أي من القيم المذكورة بعد كلمة
case،
فإن البرنامج يخرج من الجملة
switch
بدون تنفيذ أي تعليمة.
مثال: