تتطلب هياكل صنع القرار أن يحدد المبرمج شرطًا واحدًا أو أكثر ليتم تقييمه أو اختباره بواسطة البرنامج ، جنبًا إلى جنب مع عبارة أو عبارات يتم تنفيذها إذا تم تحديد الشرط على أنه صحيح ، واختياريًا ، عبارات أخرى يتم تنفيذها إذا كان تم تحديد الشرط كاذب.
فيما يلي الشكل العام لهيكل صنع القرار النموذجي الموجود في معظم لغات البرمجة –
يوفر MATLAB الأنواع التالية من بيانات اتخاذ القرار. انقر على الروابط التالية للتحقق من تفاصيلها –
الأب رقم. | البيان والوصف |
---|---|
1 | if … end statement
تتكون العبارة if … end من تعبير منطقي متبوعًا ببيان واحد أو أكثر. |
2 | if…else…end statement
يمكن أن يتبع عبارة if عبارة أخرى اختيارية يتم تنفيذها عندما يكون التعبير المنطقي خطأ. |
3 | If… elseif…elseif…else…end statements
يمكن أن يتبع بيان if واحد (أو أكثر) اختياري آخر … وبيان آخر ، وهو أمر مفيد جدًا لاختبار الشروط المختلفة. |
4 | nested if statements
يمكنك استخدام جملة if or elseif داخل أخرى if or elseif statement (s). |
5 | switch statementA
التبديل يسمح بيان متغير لفحصها من أجل المساواة ضد قائمة القيم. |
6 | nested switch statements
يمكنك استخدام عبارة تحويل واحدة داخل عبارة (عبارات) تحويل أخرى . |
و إذا … نهاية يتكون بيان من إذا البيان وجاء تعبير منطقي تصريحات واحدة أو أكثر. يتم تحديده بواسطة بيان النهاية .
بناء الجملة
إن بناء جملة if if في MATLAB هو –
if <expression> % statement(s) will execute if the boolean expression is true <statements> end
إذا تم تقييم التعبير إلى “صواب” ، فسيتم تنفيذ كتلة التعليمات البرمجية داخل العبارة if. إذا تم تقييم التعبير على أنه خطأ ، فسيتم تنفيذ أول مجموعة من التعليمات البرمجية بعد عبارة النهاية.
مخطط تدفق
مثال
قم بإنشاء ملف نصي واكتب الكود التالي –
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…end
يمكن أن يتبع عبارة if عبارة أخرى اختيارية يتم تنفيذها عندما يكون التعبير خاطئًا.
بناء الجملة
إن بناء جملة if … else في MATLAB هو –
if <expression>
% statement(s) will execute if the boolean expression is true
<statement(s)>
else
<statement(s)>
% statement(s) will execute if the boolean expression is false
end
إذا تم تقييم التعبير المنطقي على أنه صحيح ، فسيتم تنفيذ كتلة التعليمات البرمجية إذا ، وإلا سيتم تنفيذ كتلة التعليمات البرمجية.
مخطط تدفق
مثال
قم بإنشاء ملف نصي واكتب الكود التالي –
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 … نهاية الكشوف
و إذا يمكن اتباعها بيان من جانب واحد (أو أكثر) اختياري ELSEIF … و آخر بيان، وهو أمر مفيد جدا لاختبار مختلف الظروف.
عند استخدام عبارات if … elseif … else ، هناك نقاط قليلة يجب وضعها في الاعتبار –
- إذا كان يمكن أن يكون صفرًا أو واحدًا آخر ويجب أن يأتي بعد أي شيء آخر.
- إذا كان يمكن أن يكون صفرًا للكثير من الأشياء الأخرى ويجب أن يأتوا قبل الآخر.
- مرة أخرى إذا نجحت ، لن يتم اختبار أي من المتبقيين الآخرين أو الآخرين.
بناء الجملة
if <expression 1>
% Executes when the expression 1 is true
<statement(s)>
elseif <expression 2>
% Executes when the boolean expression 2 is true
<statement(s)>
Elseif <expression 3>
% Executes when the boolean expression 3 is true
<statement(s)>
else
% executes when the none of the above condition is true
<statement(s)>
end
مثال
قم بإنشاء ملف نصي واكتب الكود التالي فيه –
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
The Nested if
من القانوني دائمًا في MATLAB تداخل عبارات if-else مما يعني أنه يمكنك استخدام جملة if أو elseif داخل أخرى إذا كانت أو عبارات ifif.
بناء الجملة
بناء الجملة إذا كانت العبارة متداخلة كما يلي –
if <expression 1>
% Executes when the boolean expression 1 is true
if <expression 2>
% Executes when the boolean expression 2 is true
end
end
يمكنك التعشيش إذا كان آخر … بالطريقة نفسها التي تداخلت بها إذا كانت العبارة.
مثال
قم بإنشاء ملف نصي واكتب الكود التالي فيه –
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