التعبير switch...case في أردوينو

من موسوعة حسوب
(بالتحويل من Arduino/switch)

يتحقَّق التعبير 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: تُستعمَل للخروج من الحلقات التكرارية، إذ تتخطى الشيفرة التي بعدها وشروط الحلقة المحددِّة وتخرج منها.
  • الكلمة المفتاحية continue: تتخطى الشيفرة التي تليها في حلقة التكرار إلى عملية التحقق من التعبير الشرطي لتلك الحلقة ثم يُستأنَف عمل حلقة التكرار بشكل طبيعي.
  • الحلقة do...while: تعمل بنفس الطريقة التي تعمل بها الحلقة while باستثناء أنه يُتحقق من الشرط في نهاية الحلقة وليس في بدايتها.
  • الكلمة المفتاحية else: يسمح بالتحكم بشكل أوسع بتسلسل عملية التحقق من عدة شروط معينة عند تنفيذ الشيفرة عوضًا عن التحقق من شرط وحيد عند استعمال التعبير if.
  • الحلقة for: تُستعمَل لتكرار كتلة برمجية معينة من الشيفرة عددًا محدَّدًا من المرات.
  • الكلمة المفتاحية goto: ينقل البرنامج إلى موضع معين ضمن الشيفرة.
  • التعبير الشرطي if: يتحقَّق من شرط معيَّن وينفِّذ الكتلة البرمجية المكتوبة ضمنه إن كان محقَّقًا (أي كانت قيمته true).
  • الكلمة المفتاحية return: تقاطع المفتاحية تنفيذ أيَّ دالةٍ وتعيد قيمةً من الدالة إلى من استدعاها إن حدُّدت.
  • الحلقة while: تكرِّر تنفيذ الكتلة البرمجية التي ضمنها بشكل مستمر ولا نهائي ما دامت قيمة الشرط المنطقي المعطى هي true ومتى ما أصبحت قيمة الشرط المنطقي false، تتوقف الحلقة وتخرج.

مصادر