١.١٠ الحلقات التكرارية — الجزء الأول¶
حلقة 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 ؟
-
نصرّح عن متغير العدّاد، ويُسمّى عادةً
i:for(var i ....) -
ثم نحدّد قيمة البداية:
for(var i = 1 ....). في مثالنا هي 1. -
ثم نطلب من الحلقة الاستمرار ما دام الشرط
i<=5متحققًا. -
وأخيرًا نزيد العدّاد بمقدار 1 في كل دورة
i=i+1. -
لاحظ أننا نفصل بين الأجزاء
var i=1,i<=5وi=i+1بفاصلة منقوطة;. -
نفتح قوسًا معقوفًا
{. -
نكتب التعليمات التي نريد تكرارها
console.log(i). وتقومiلكل دورة ستُعرض في وحدة التحكم. -
نغلق القوس المعقوف
}
التمرين 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