بيانات القرار conditions
بيانات القرار conditions
صنع القرار أمر بالغ الأهمية لبرمجة الكمبيوتر. سيكون هناك العديد من المواقف عندما يتم منحك خيارين أو أكثر وسيتعين عليك تحديد خيار بناءً على الشروط المحددة. على سبيل المثال ، نريد طباعة ملاحظة عن طالب بناءً على علاماته المؤمنة. فيما يلي الوضع -
Assume given marks are x for a student: If given marks are more than 95, then Student is brilliant If given marks are less than 30, then Student is poor If given marks are less than 95 and more than 30, then Student is average
الآن ، السؤال هو كيفية كتابة كود برمجة للتعامل مع مثل هذه المواقف. توفر جميع لغات البرمجة تقريبًا عبارات شرطية تعمل بناءً على مخطط التدفق التالي -
لنكتب برنامج C بمساعدة إذا كانت العبارات الشرطية لتحويل الموقف المذكور أعلاه إلى رمز برمجة -
#include <stdio.h> int main() { int x = 45; if( x > 95) { printf( "Student is brilliant\n"); } if( x < 30) { printf( "Student is poor\n"); } if( x < 95 && x > 30 ) { printf( "Student is average\n"); } }
عند تنفيذ البرنامج أعلاه ، فإنه ينتج النتيجة التالية -
Student is average
يستخدم البرنامج أعلاه عبارات الشرطية . هنا ، تتحقق عبارة if الأولى مما إذا كان الشرط المعطى ، أي المتغير x أكبر من 95 أم لا ، وإذا وجدت أن الشرط صحيح ، يتم إدخال النص الشرطي لتنفيذ العبارات المحددة. هنا لدينا بيان printf () واحد فقط لطباعة ملاحظة عن الطالب.
وبالمثل ، فإن عبارة if الثانية تعمل. أخيرًا ، تم تنفيذ جملة if الثالثة ، وهنا لدينا الشرطان التاليان -
الشرط الأول هو x> 95
الشرط الثاني هو x <30
يقوم الكمبيوتر بتقييم كل من الشروط المعينة ثم يتم دمج النتيجة الإجمالية بمساعدة عامل التشغيل الثنائي && . إذا كانت النتيجة النهائية صحيحة ، فسيتم تنفيذ العبارة الشرطية ، وإلا فلن يتم تنفيذ أي عبارة.
سيعطيك هذا البرنامج التعليمي فكرة أساسية عن أشكال مختلفة من عبارات if ومقدمة لتبديل العبارات المتاحة بلغة البرمجة C. توفر لغات البرمجة المختلفة أنواعًا مختلفة من عبارات اتخاذ القرار ، لكن المفهوم الأساسي يظل كما هو موضح في هذا البرنامج التعليمي.
إذا ... بيان آخر
و إذا يمكن اتباعها بيان اختياري آخر البيان، الذي ينفذ عند تعبير منطقي غير صحيح. صيغة عبارة if ... else في لغة البرمجة C هي -
if(boolean_expression) { /* Statement(s) will execute if the boolean expression is true */ } else { /* Statement(s) will execute if the boolean expression is false */ }
يمكن تمثيل الصيغة أعلاه في شكل مخطط تدفق كما هو موضح أدناه -
يعد بيان if ... else مفيدًا عندما يتعين علينا اتخاذ قرار من خيارين. على سبيل المثال ، إذا حصل الطالب على درجات أكثر من 95 ، فهذا يعني أن الطالب رائع ، وإلا فلن يمكن ترميز مثل هذا الموقف ، على النحو التالي -
#include <stdio.h> int main() { int x = 45; if( x > 95) { printf( "Student is brilliant\n"); } else { printf( "Student is not brilliant\n"); } }
عند تنفيذ البرنامج أعلاه ، فإنه ينتج النتيجة التالية -
Student is not brilliant
if ... elseif ... بيان آخر
و إذا يمكن اتباعها بيان اختياري آخر إذا ... آخر البيان، وهو أمر مفيد جدا لاختبار مختلف الظروف.
أثناء استخدام عبارات if ، و if ، و else ، هناك بعض النقاط التي يجب وضعها في الاعتبار -
و إذا يمكن أن يكون صفر أو واحد لشيء آخر ، وأنه يجب أن يأتي بعد آخر إذا .
و إذا يمكن أن يكون صفر إلى العديد من شيء آخر ... إذا ل ويجب أن تأتي قبل آخر .
مرة واحدة ... إذا نجحت ، فلن يتم اختبار أي من الباقي ... if أو آخر .
صيغة if ... else if ... else في لغة البرمجة C هي -
if(boolean_expression 1) { /* Executes when the boolean expression 1 is true */ } else if( boolean_expression 2) { /* Executes when the boolean expression 2 is true */ } else if( boolean_expression 3) { /* Executes when the boolean expression 3 is true */ } else { /* Executes when the none of the above condition is true */ }
الآن بمساعدة if ... elseif ... else البيان ، يمكن ترميز البرنامج الأول على النحو التالي -
#include <stdio.h> int main() { int x = 45; if( x > 95) { printf( "Student is brilliant\n"); } else if( x < 30) { printf( "Student is poor\n"); } else if( x < 95 && x > 30 ) { printf( "Student is average\n"); } }
عند تنفيذ البرنامج أعلاه ، فإنه ينتج النتيجة التالية -
Student is average
بيان التبديل
A التبديل البيان هو بديل من إذا كانت تصريحات والذي يسمح متغير لفحصها من أجل المساواة ضد قائمة القيم. تسمى كل قيمة حالة ، ويتم التحقق من المتغير الجاري تشغيله لكل حالة تبديل. يحتوي على النحو التالي -
switch(expression){ case ONE : statement(s); break; case TWO: statement(s); break; ...... default : statement(s); }
و التعبير المستخدمة في التبديل البيان يجب أن تعطي قيمة عددية، والتي سيتم مقارنة أجل المساواة مع حالات مختلفة معين. عندما تتطابق قيمة التعبير مع قيمة الحالة ، سيتم تنفيذ جسم هذه الحالة ، وفي النهاية ، سيتم إنهاء التبديل باستخدام تعليمة break . إذا لم يتم توفير عبارات الفاصل ، فسيستمر الكمبيوتر في تنفيذ البيانات الأخرى المتاحة أدناه للحالة المتطابقة. إذا لم تتطابق أي من الحالات ، فسيتم تنفيذ نص الحالة الافتراضي.
يمكن تمثيل الصيغة أعلاه في شكل مخطط تدفق كما هو موضح أدناه -
الآن ، دعنا نفكر في مثال آخر حيث نريد كتابة الكلمة الإنجليزية المكافئة لرقم معين. بعد ذلك ، يمكن ترميزها على النحو التالي -
#include <stdio.h> int main() { int x = 2; switch( x ){ case 1 : printf( "One\n"); break; case 2 : printf( "Two\n"); break; case 3 : printf( "Three\n"); break; case 4 : printf( "Four\n"); break; default : printf( "None of the above...\n"); } }
عند تنفيذ البرنامج أعلاه ، فإنه ينتج النتيجة التالية -
Two
القرارات في جافا
فيما يلي البرنامج المكافئ المكتوب بلغة Java والذي يدعم أيضًا if ، if ... else ، if ... elseif ... else ، وبيانات التبديل .
يمكنك محاولة تنفيذ البرنامج التالي لرؤية الإخراج ، والذي يجب أن يكون مطابقًا للنتيجة الناتجة عن مثال C أعلاه.
public class DemoJava { public static void main(String []args) { int x = 45; if( x > 95) { System.out.println( "Student is brilliant"); } else if( x < 30) { System.out.println( "Student is poor"); } else if( x < 95 && x > 30 ) { System.out.println( "Student is average"); } } }
عند تنفيذ البرنامج أعلاه ، فإنه ينتج النتيجة التالية -
Student is average
القرارات في بايثون
فيما يلي البرنامج المكافئ المكتوب بلغة بايثون. توفر Python if ، if ... else ، if ... elif ... else ، وتعليمات التبديل . هنا ، يجب أن تلاحظ أن Python لا تستخدم الأقواس المتعرجة للجسم الشرطي ، بدلاً من ذلك ، فإنها تحدد جسم الكتلة باستخدام المسافة البادئة للعبارات.
يمكنك محاولة تنفيذ البرنامج التالي لرؤية الإخراج -
x = 45 if x > 95: print "Student is brilliant" elif x < 30: print "Student is poor" elif x < 95 and x > 30: print "Student is average" print "The end"
عند تنفيذ البرنامج أعلاه ، فإنه ينتج النتيجة التالية -
Student is average The end
التسميات: Computer programming برمجة الحاسوب
<< الصفحة الرئيسية