التعبير 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
، تتوقف الحلقة وتخرج.