الأهداف
مع نفس التركيب السابق، سوف نعيد برمجة صمام لاد كي يومض خمس مرات فقط مع توقف لمدة ثلاث ثواني.
int led_pin = 13;
void setup() {
pinMode(led_pin, OUTPUT);
}
void loop() {
for(int x=0;x<5;x++)
{
digitalWrite(led_pin, HIGH);
delay(1000);
digitalWrite(led_pin, LOW);
delay(1000);
}
delay(3000);
}
قم بتغيير نص البرنامج السابق و ذلك بإضافة السطور المبينة باللون ثم سَجّله بإسم مختلف.
لقد قمنا بتغليف النص السابق بالتعليمة «for» و التي تسمى حلقة.
قم بتشغيل البرنامج السابق. لاحظ أن اللد تومض خمس مرات ثم تتوقف لمدة ثم تومض مرة أخرى و هكذا.
شرح عمل البرنامج
نستعمل الحلقة «for» لإعادة تنفيذ مقاطع برمجية بين المزدوجتين. تعمل هذه التعليمة كعدّاد يكرر التعليمات عدد من المرات.
يتم التحكم في هذه الحلقة بثلاث أجزاء منفصلة:
- القيمة الإبتدائية (initialization)
- شرط الإستمرار (condition)
- الزيادة في القيمة الجديدة (increment)
في المثال السابق عرّفنا القيمة الإبتدائية «x» و هذه التعليمة تُنفذ مرة واحدة.
نقوم بتعيين شرط الإستمرار و الذي يحدد عدد الدورات « 5>x». في هذه الحالة يعاد نص البرنامج مادام x أقل من خمسة.
المقطع البرمجي داخل الحلقة ينفذ و لو مرة مهما كان شرط الإستمرار.
ننتقل إلى القيمة الجديدة بتنفيذ التعليمة «++x» و التي تضيف 1 للمتغير «x» و تنفذ الحلقة إذا كان شرط الإستمرار قائم.
العبارة «++X» هي إختصار للعبارة X=X+1 و التي تعني: خذ قيمة المتغير X و أضف إليه واحد ثم سجّل المجموع في المتغير X.
يسمى الرمز «>» معامل النسبة لأنه يقدّر النسبة بين التعبيرين الموجودين على جانبيه. لدينا ستة معاملات نسبية:
أقل من >
أقل أو تساوي =>
تساوي ==
أكبر من <
أكبر من أو تساوي =<
لا تساوي أو مختلف =!
ما تعلمناه
- الحلقة «FOR»
- المعاملات النسبية.
تمارين
أي متغير من هذه المتغيرات له إسم غير صحيح؟
7jours
Valeur
Entree_1
أي من الأنواع يصلح لحفظ العدد 1.45 ؟
int
float
boolean