التعبير if الشرطي في أردوينو

من موسوعة حسوب

يتحقَّق التعبير if الشرطي من شرط معيَّن وينفِّذ الكتلة البرمجية المكتوبة ضمنه إن كان محقَّقًا (أي كانت قيمته true).

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

if (condition)
{
  // الكتلة البرمجية المراد تنفيذها عند تحقق الشرط
}

إنَّ الشرط condition هو تعبيرٌ منطقيٌّ أي قيمته إمَّا true أو false.

أمثلة

مثالٌ على استعمال التعبير if الشرطي بصيغ متعددة:

if (x > 120) digitalWrite(LEDpin, HIGH);

if (x > 120)
digitalWrite(LEDpin, HIGH);

if (x > 120){ digitalWrite(LEDpin, HIGH); }

if (x > 120){
  digitalWrite(LEDpin1, HIGH);
  digitalWrite(LEDpin2, HIGH);
}

ملاحظات وتحذيرات

قد تتطلب التعابير المعطاة للشرط condition استعمال أحد المعاملات المذكورة فيما يلي.

معاملات الموازنة

x == y (y تساوي x)
x != y (y لا تساوي x)
x <  y (y أصغر تمامًا من x)
x >  y (y أكبر تمامًا من x)
x <= y (y أصغر أو تساوي x)
x >= y (y أكبر أو تساوي x)

كن حذرًا من استعمال إشارة تساوي واحدة فقط عن طريق الخطأ (مثل if (x = 10)‎)، إذ تمثِّل إشارة التساوي الواحدة معامل إسناد وتضبط -كما موضح في المثال- قيمة المتغير x إلى القيمة 10. عوضًا عن ذلك، يجب استعمال إشارتا تساوي (مثل if (x == 10)‎) اللتان تمثلان في هذه الحالة معامل موازنة وتتحققان إذا كانت قيمة المتغير x تساوي 10 أم لا. ستكون قيمة التعبير الأخير true إن كانت قيمة المتغير x تساوي 10 بينما تكون قيمة تعبير الإسناد السابق هي true دومًا.

تفسير كيفية تقييم لغة C التعبير if (x = 10)‎ بالقيمة true دومًا هي أنَّ C تُسنٍد القيمة 10 إلى المتغير x (تذكَّر أنَّ إشارة التساوي المفردة هي معامل إسناد وقد استُعمِلت خطأً). يقيم التعبير if الشرطي بعدئذٍ القيمة 10 -التي أصبحت قيمة المتغير x- على أنَّها true دومًا لأنَّ التقييم المنطقي لأي عدد غير صفري هو true دومًا. بناءً على ذلك، سيُقيَّم التعبير if (x = 10)‎ الشرطي على أنَّه محققٌ وستخالف النتيجة التوقعات المرجوة آنذاك. أضف إلى ذلك أنَّ المتغير x ستُضبَط قيمته إلى 10 وهو أمر غير مرغوب أيضًا

انظر أيضًا

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

مصادر