Arduino/switchcase

من موسوعة حسوب
مراجعة 18:06، 8 أكتوبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (أنشأ الصفحة ب'يتحقَّق التعبير <code>switch...case</code> -كما في <code>if</code>- من قيمة محدَّدة بطريقة تسمح للمبرمج...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يتحقَّق التعبير switch...case -كما في if- من قيمة محدَّدة بطريقة تسمح للمبرمج بتحديد شيفرة معينة يراد تنفيذها بناءً على حالات مختلفة. بتفصيلٍ أوسع، يوازن التعبير switch...case قيمة متغير مع القيم المحددة ضمنه؛ عند مطابقة قيمة ذلك المتغير مع إحدى القيم أو التعابير الموجودة ضمنه، فستُنفَّذ الكتلة البرمجية المرتبطة بتلك القيمة أو التعبير.

تستخدم عادةً الكلمة المفتاحية break في نهاية كل حالة من حالات التعبير switch...case للخروج منه بعد مطابقة الحالة وتنفيذ الكتلة المرتبطة بها. إن لم تُستعمَل الكلمة break المفتاحية في تلك الحالة، فسيستمر التعبير switch...case بفحص الحالات وتنفيذ الكتل البرمجية المرتبطة بها حتى الوصول إلى الكلمة break أو إلى نهايته.

البنية العامة

switch (var) {
  case label1:
    // الشيفرة الأولى التي ستنفذ عند مطابقة الحالة الأولى
    break;
  case label2:
    // الشيفرة الثانية التي ستنفذ عند مطابقة الحالة الثانية
    break;
  default:
    // الشيفرة الافتراضية التي ستنفذ عند عدم مطابقة أية حالة
    // هذه الحالة اختيارية
}

المعاملات

var

المتغير المراد موازنة قيمته مع عدة قيم (حالات). أنواع البيانات المسموح بها هي: عدد صحيح، ومحرف.

lable1

الثابت الأول الذي سيوازن مع المتغير var. أنواع البيانات المسموح بها هي: عدد صحيح، ومحرف.

lable2

الثابت الأول الذي سيوازن مع المتغير var. أنواع البيانات المسموح بها هي: عدد صحيح، ومحرف.

أمثلة

مثالٌ على استعمال التعبير switch...case لموازنة قيمة متغير وتنفيذ شيفرة بما يناسبها:

  switch (var) {
    case 1:
      // القيمة 1 var افعل شيئًا عندما يساوي
      break;
    case 2:
      // القيمة 2 var افعل شيئًا عندما يساوي
      break;
    default:
      // مع أي من القيم السابقة var افعل شيئًا إن لم يتطابق 
      break;
  }

انظر أيضًا

  • الكلمة المفتاحية break: تُستعمَل للخروج من الحلقات التكرارية، إذ تتخطى الشيفرة التي بعدها وشروط الحلقة المحددِّة وتخرج منها.
  • الحلقة do...while:
  • التعبير else:
  • الحلقة for:
  • الكلمة المفتاحية goto:
  • الحلقة if...else:
  • الكلمة المفتاحية return:
  • الحلقة while:

مصادر