- إنضم
- 30 أبريل 2010
- المشاركات
- 1,227
- مستوى التفاعل
- 130
الجمل الشرطية في الأردوينو الدرس الخامس
الجمل الشرطية
1. دالة IF الشرطية
يتحقَّق التعبير if الشرطي من شرط معيَّن وينفِّذ الكتلة البرمجية المكتوبة ضمنه إن كان محقَّقًا (أي كانت قيمته true).
- البنية العامة
إنَّ الشرط condition هو تعبيرٌ منطقيٌّ أي قيمته إمَّا true أو false
- أمثلة
مثالٌ على استعمال التعبير if الشرطي بصيغ متعددة:
- ملاحظات وتحذيرات
قد تتطلب التعابير المعطاة للشرط condition استعمال أحد المعاملات المذكورة فيما يلي.
- معاملات الموازنة
كن حذرًا من استعمال إشارة تساوي واحدة فقط عن طريق الخطأ (مثل if (x = 10))، إذ تمثِّل إشارة التساوي الواحدة معامل إسناد وتضبط -كما موضح في المثال- قيمة المتغير x إلى القيمة 10. عوضًا عن ذلك، يجب استعمال إشارتا تساوي (مثل if (x == 10)) اللتان تمثلان في هذه الحالة معامل موازنة وتتحققان إذا كانت قيمة المتغير x تساوي 10 أم لا. ستكون قيمة التعبير الأخير true إن كانت قيمة المتغير x تساوي 10 بينما تكون قيمة تعبير الإسناد السابق هي true دومًا.
2. دالة IF...ELSE
يسمح التعبير if...else الشرطي بالتحكم بشكل أوسع بتسلسل عملية التحقق من عدة شروط معينة عند تنفيذ الشيفرة عوضًا عن التحقق من شرط وحيد عند استعمال التعبير if ستُنفَّذ العبارة else إن وجدت إن لم يتحقق الشرط المعطى في العبارة if أي أعطى القيمة false يمكن أيضًا استعمال العبارة else مع العبارة if بالشكل else if لإضافة شرط آخر للتحقق منه وبذلك يمكن إجراء عدة عمليات تحقق متتابعة في الوقت نفسه.
- البنية العامة
- أمثلة
الشيفرة التالية هي جزءٌ من شيفرة نظام تحسس درجة الحرارة:
3. التعبير SWITCH...CASE
يتحقَّق التعبير switch...case -كما في if- من قيمة محدَّدة بطريقة تسمح للمبرمج بتحديد عدة شيفرات تُنفَّذ إحداها بناءً على تلك القيمة المفحوصة. بتفصيلٍ أوسعٍ، يوازن التعبير switch...case قيمة متغير مع القيم المحددة ضمنه؛ عند مطابقة قيمة ذلك المتغير مع إحدى القيم أو التعابير الموجودة ضمنه، فستُنفَّذ الكتلة البرمجية المرتبطة بتلك القيمة أو التعبير.
- البنية العامة
- المعاملات1. var
المتغير المراد موازنة قيمته مع عدة قيم (حالات). أنواع البيانات المسموح بها هي: عدد صحيح، ومحرف.
2. lable1
الثابت الأول الذي سيوازن مع المتغير var أنواع البيانات المسموح بها هي: عدد صحيح، ومحرف.
3. lable2
الثابت الثاني الذي سيوازن مع المتغير var أنواع البيانات المسموح بها هي: عدد صحيح، ومحرف.
- أمثلة
مثالٌ على استعمال التعبير switch...case لموازنة قيمة متغير وتنفيذ شيفرة بما يناسبها:
1. دالة 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 دومًا.
2. دالة IF...ELSE
يسمح التعبير if...else الشرطي بالتحكم بشكل أوسع بتسلسل عملية التحقق من عدة شروط معينة عند تنفيذ الشيفرة عوضًا عن التحقق من شرط وحيد عند استعمال التعبير if ستُنفَّذ العبارة else إن وجدت إن لم يتحقق الشرط المعطى في العبارة if أي أعطى القيمة false يمكن أيضًا استعمال العبارة else مع العبارة if بالشكل else if لإضافة شرط آخر للتحقق منه وبذلك يمكن إجراء عدة عمليات تحقق متتابعة في الوقت نفسه.
- البنية العامة
كود:
if (الشرط 1)
{
// افعل الشيء أ
}
else if (الشرط 2)
{
// افعل الشيء ب
}
else
{
// افعل الشيء ج
}
- أمثلة
الشيفرة التالية هي جزءٌ من شيفرة نظام تحسس درجة الحرارة:
كود:
if (temperature >= 70)
{
// خطر! أوقف النظام
}
else if (temperature >= 60 && temperature < 70)
{
// تحذير! يجب إرسال إشارات لتنبيه المستخدم
}
else
{
// أمان! أكمل تنفيذ المهام الاعتيادية
}
3. التعبير SWITCH...CASE
يتحقَّق التعبير switch...case -كما في if- من قيمة محدَّدة بطريقة تسمح للمبرمج بتحديد عدة شيفرات تُنفَّذ إحداها بناءً على تلك القيمة المفحوصة. بتفصيلٍ أوسعٍ، يوازن التعبير switch...case قيمة متغير مع القيم المحددة ضمنه؛ عند مطابقة قيمة ذلك المتغير مع إحدى القيم أو التعابير الموجودة ضمنه، فستُنفَّذ الكتلة البرمجية المرتبطة بتلك القيمة أو التعبير.
- البنية العامة
كود:
switch (var) {
case label1:
// الشيفرة الأولى التي ستنفذ عند مطابقة الحالة الأولى
break;
case label2:
// الشيفرة الثانية التي ستنفذ عند مطابقة الحالة الثانية
break;
default:
// الشيفرة الافتراضية التي ستنفذ عند عدم مطابقة أية حالة
// هذه الحالة اختيارية
}
- المعاملات1. var
المتغير المراد موازنة قيمته مع عدة قيم (حالات). أنواع البيانات المسموح بها هي: عدد صحيح، ومحرف.
2. lable1
الثابت الأول الذي سيوازن مع المتغير var أنواع البيانات المسموح بها هي: عدد صحيح، ومحرف.
3. lable2
الثابت الثاني الذي سيوازن مع المتغير var أنواع البيانات المسموح بها هي: عدد صحيح، ومحرف.
- أمثلة
مثالٌ على استعمال التعبير switch...case لموازنة قيمة متغير وتنفيذ شيفرة بما يناسبها:
كود:
switch (var) {
case 1:
// القيمة 1 var افعل شيئًا عندما يساوي
break;
case 2:
// القيمة 2 var افعل شيئًا عندما يساوي
break;
default:
// مع أي من القيم السابقة var افعل شيئًا إن لم يتطابق
break;
}