الأهداف

مع نفس التركيب السابق، سوف نعيد برمجة صمام لاد كي يومض خمس مرات فقط مع توقف لمدة ثلاث ثواني.

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 أقل من خمسة.

 

remark

المقطع البرمجي داخل الحلقة ينفذ و لو مرة مهما كان شرط الإستمرار.

 

ننتقل إلى القيمة الجديدة بتنفيذ التعليمة «++x» و التي تضيف 1 للمتغير «x» و تنفذ الحلقة إذا كان شرط الإستمرار قائم.

 

remark

العبارة «++X» هي إختصار للعبارة X=X+1 و التي تعني: خذ قيمة المتغير X و أضف إليه واحد ثم سجّل المجموع في المتغير X.

 

يسمى الرمز «>» معامل النسبة لأنه يقدّر النسبة بين التعبيرين الموجودين على جانبيه. لدينا ستة معاملات نسبية:

أقل من              >

أقل أو تساوي       =>

تساوي               ==

أكبر من              <

أكبر من أو تساوي   =<

لا تساوي أو مختلف  =!

 

ما تعلمناه

  • الحلقة «FOR»
  • المعاملات النسبية.

 

تمارين

أي متغير من هذه المتغيرات له إسم غير صحيح؟

7jours
Valeur
Entree_1

أي من الأنواع يصلح لحفظ العدد 1.45 ؟

int
float
boolean