الدرس الثامن - الشروط

مفهوم الشروط في C++

الشروط ( conditions ) تستخدم لتحديد طريقة عمل البرنامج نسبةً للمتغيرات التي تطرأ على الكود.
كمثال بسيط, يمكنك بناء برنامج لمشاهدة الأفلام, عند الدخول إليه يطلب من المستخدم في البداية أن يدخل عمره لكي يقوم بعرض أقلام تناسب عمره.

يمكنك وضع العدد الذي تريده من الشروط في البرنامج الواحد, و تستطيع وضع الشروط بداخل بعضها البعض أيضاً.

أنواع جمل الشرط في C++

 

إسم الجملة

دواعي الإستخدام

if - else - else if statements

نستخدمهم إذا كنا نريد تنفيذ كود معين في حال تحقق الشرط أو مجموعة من الشروط التي وضعناها.

switch statement

نستخدمها إذا كنا نريد إختبار قيمة متغير معين مع لائحة من الإحتمالات نقوم نحن بوضعها, و إذا تساوت هذه القيمة مع أي إحتمال وضعناه ستتنفذ الأوامر التي وضعناها في هذا الإحتمال فقط.

 

 

أفكار و أساليب أخرى لوضع الشروط في C++

طرق وضع الشروط عديدة و متنوعة, و يمكننا وضع شروط بداخل بعضها و يسمى ذلك Nested Conditional.
كما يمكننا وضع أكثر من شرط بداخل جمل الشرط if أو else if باستخدام العوامل المنطقية.

هنا وضعنا أمثلة تعلمك طريقة وضع أكثر من شرط في الجملة if أو else if باستخدام الـ Relational Operators

هنا وضعنا مثال يعلمك طريقة وضع الشروط بداخل بعضها.

 

 

وضع أكثر من شرط في الجملة if

بإمكانك أن تضع أكثر من شرط بداخل جملة الشرط باستخدام العامل && أو ||.
العامل && يستخدم في حال كنت تريد تنفيذ كود معين إذا كان جواب جميع الشروط الموضوعة يساوي true.
العامل || يستخدم في حال كنت تريد تنفيذ كود معين إذا كان جواب شرط واحد على الأقل يساوي true.

المثال الأول

إذا كانت قيمة المتغير a بين 0 و 20 إطبع الجملة:   acceptable number.

Main.cpp

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int a = 14;
  6.  
  7. if( a >= 0 && a <=20 )
  8. {
  9. cout << "acceptable number";
  10. }
  11.  
  12. return 0;
  13. }

سنحصل على النتيجة التالية عند التشغيل.

acceptable number

نلاحظ أنه قد تم تنفيذ أمر الطباعة لأن قيمة المتغير a بين 0 و 20

هنا سأل نفسه سؤالين.

السؤال الأول: هل قيمة المتغير a أكبر أو تساوي 0؟
فكان جواب الشرط الأول true.

•السؤال الثاني: هل قيمة المتغير a أصغر أو تساوي 20؟
فكان جواب الشرط الثاني أيضاً true.

بما أن كلا الجوابين كانا true قام بتنفيذ أمر الطباعة.

المثال الثاني

إذا كانت قيمة المتغير a بين 0 و 20 إطبع الجملة:   acceptable number.

Main.cpp

 

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int a = 26;
  6.  
  7. if( a >= 0 && a <=20 )
  8. {
  9. cout << "acceptable number";
  10. }
  11.  
  12. return 0;
  13. }

سنحصل على النتيجة التالية عند التشغيل.

 

نلاحظ أنه لم يتم تنفيذ أمر الطباعة لأن قيمة المتغير a ليست بين 0 و 20

هنا سأل نفسه سؤالين.

السؤال الأول: هل قيمة المتغير a أكبر أو تساوي 0؟
فكان جواب الشرط الأول true.

السؤال الثاني: هل قيمة المتغير a أصغر أو تساوي 20؟
فكان جواب الشرط الثاني false.

بما أن واحداً من الجوابين لم يكن true لم ينفذ دالة الطباعة.

 

 

 

المثال الثالث

إذا كانت قيمة المتغير a تساوي 1 أو 2 أو 3 إطبع الجملة:   you choose a valid number.

Main.cpp

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int a = 2;
  6.  
  7. if( a == 1 || a == 2 || a == 3 )
  8. {
  9. cout << "'a' is a valid number";
  10. }
  11.  
  12. return 0;
  13. }

سنحصل على النتيجة التالية عند التشغيل.

'a' is a valid number

نلاحظ أنه قام بتنفيذ أمر الطباعة لأن قيمة المتغير a تساوي 2

هنا كان سيسأسل نفسه ثلاثة أسئلة لأنه يوجد ثلاث شروط, لكنه سأل نفسه سؤالين فقط.

السؤال الأول: هل قيمة المتغير a تساوي 1؟
فكان جواب الشرط الأول false فانتقل للشرط الذي يليه.

السؤال الثاني: هل قيمة المتغير a تساوي 2؟
فكان جواب الشرط الثاني true.

•بما أن واحداً من الأجوبة كان true نفذ مباشرةً أمر الطباعة و لم ينظر حتى للشرط الأخير.