انتقل إلى المحتوى

١.١٠ الحلقات التكرارية — الجزء الأول

حلقة for

التمرين 1: اعرض الأعداد من 1 إلى 5 في وحدة التحكم، كل عدد في سطر مستقل.

console.log(1);
console.log(2);
console.log(3);
console.log(4);
console.log(5);

ستحصل على:

1
2
3
4
5

التمرين 2: تأمّل الشيفرة وقارنها بشيفرة التمرين 1.

for(var i=1;i<=5; i=i+1){
    console.log(i);
}

ستحصل على:

1
2
3
4
5

يمكنك ملاحظة أن الشيفرة في التمرين 1 و التمرين 2 تحقق النتيجة نفسها، لكن شيفرة التمرين 2 أقصر.

لنفهم هذه الشيفرة: for() هي for حلقة تكرارية في JavaScript تتيح تكرار المهام. لاحظ أن العدد وحده يتغيّر في console.log()، لذا يمكننا كتابة console.log() مرة واحدة، والتصريح عن عدّاد للأعداد نُسمّيه i. for(var i=1; ...; ...).

كيف تعمل حلقة for ؟

  1. نصرّح عن متغير العدّاد، ويُسمّى عادةً i: for(var i ....)

  2. ثم نحدّد قيمة البداية: for(var i = 1 ....). في مثالنا هي 1.

  3. ثم نطلب من الحلقة الاستمرار ما دام الشرط i<=5 متحققًا.

  4. وأخيرًا نزيد العدّاد بمقدار 1 في كل دورة i=i+1.

  5. لاحظ أننا نفصل بين الأجزاء var i=1, i<=5 و i=i+1 بفاصلة منقوطة ;.

  6. نفتح قوسًا معقوفًا {.

  7. نكتب التعليمات التي نريد تكرارها console.log(i). وتقوم i لكل دورة ستُعرض في وحدة التحكم.

  8. نغلق القوس المعقوف }

التمرين 3: اعرض الأعداد من 0 إلى 10 في وحدة التحكم.

for(var i=0;i<=10; i++){
    console.log(i);
}

ستحصل على:

0
1
2
3
4
5
6
7
8
9
10

ملاحظة (١): i++ تعمل مثل i=i+1.

تدريبات إضافية

التمرين 4: اعرض الأعداد 0 و2 و4 و6 و8 و10 في وحدة التحكم.

for(var i=0;i<=10; i=i+2){
    console.log(i);
}

ستكون النتيجة:

0
2
4
6
8
10

التمرين 5: اعرض الأعداد 1 و3 و5 و7 و9 في وحدة التحكم.

for(var i=1;i<=10; i=i+2){
    console.log(i);
}

ستكون النتيجة:

1
3
5
7
9

التمرين 6 اعرض الأعداد 10 و20 و30 و40 في وحدة التحكم.

for(var i=10;i<=40; i=i+10){
    console.log(i);
}

ستكون النتيجة:

10
20
30
40

التمرين 7: اعرض الأعداد 40 و30 و20 و10 في وحدة التحكم.

for(var i=40;i>=10; i=i-10){
    console.log(i);
}

ستكون النتيجة:

40
30
20
10

التمرين 8: اعرض الكلمة "Ali" خمس عشرة مرة في وحدة التحكم.

for(var i=1;i<=15; i++){
    console.log("Ali");
}

ستحصل على Ali ستظهر خمس عشرة مرة في وحدة التحكم.

التمرين 9: أنشئ عدًّا تنازليًا من 10 إلى 0، واعرض النتيجة في وحدة التحكم.

countdown 10
countdown 9
....
countdown 0
for(var i=10;i>=0; i=i-1){
    console.log("countdown " + i);
}

ستكون النتيجة:

countdown 10
countdown 9
countdown 8
countdown 7
countdown 6
countdown 5
countdown 4
countdown 3
countdown 2
countdown 1
countdown 0

ملاحظة (٢): يمكنك استبدال i=i-1 بـ i--؛ فكلاهما يؤدّي الوظيفة نفسها هنا.

التمرين 10: أنشئ عدًّا تنازليًا من 15 دقيقة إلى الصفر، واعرض النتيجة في وحدة التحكم.

for(var i=15;i>=0; i--){
    console.log(i);
}

ستكون النتيجة:

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0