أساسيات البرمجة للمبتدئين بالعربية مع تمارين عملية

حلقات التكرار في البرمجة

مفهوم الحلقات نستخدم الحلقات ( Loops ) لجعل الكود يعاد تنفيذه ضمن شروط معينة. بشكل عام، حين يكون هناك حاجة لتنفيذ الكود أكثر من مرة فإن أول ما نفكر به...
وقت الدراسة
9 دقيقة

المسار: أساسيات البرمجة الوحدة: حلقات التكرار

مدخل إلى الدرس: حلقات التكرار في البرمجة

مفهوم الحلقات نستخدم الحلقات ( Loops ) لجعل الكود يعاد تنفيذه ضمن شروط معينة. بشكل عام، حين يكون هناك حاجة لتنفيذ الكود أكثر من مرة فإن أول ما نفكر به...

طريقة الدراسة: اقرأ التعريف، تتبّع المثال في الشرح، نفّذه بنفسك، ثم اختبر النتيجة والحالات الاستثنائية قبل الانتقال.

خريطة بصرية للمفهوم

مخطط توضيحي: حلقات التكرار
flowchart LR
    A["فهم الفكرة"]
    B["تهيئة مثال"]
    C["تنفيذ الخطوات"]
    D["اختبار الحالات"]
    E["تحسين النتيجة"]
    A --> B
    B --> C
    C --> D
    D --> E

التسلسل: فهم الفكرة ← تهيئة مثال ← تنفيذ الخطوات ← اختبار الحالات ← تحسين النتيجة.

مفهوم الحلقات

نستخدم الحلقات ( Loops ) لجعل الكود يعاد تنفيذه ضمن شروط معينة.
بشكل عام، حين يكون هناك حاجة لتنفيذ الكود أكثر من مرة فإن أول ما نفكر به هو استخدام الحلقات.

سنتعرف في هذا الدرس على الحلقات الأساسية الموجودة في معظم لغات البرمجة.

أنواع الحلقات و طريقة تعريفهم

هناك ثلاث أنواع من الحلقات التي يمكن استخدامها لتكرار الكود، و لكن طريقة استخدامها تختلف قليلاً و كل واحدة يتم تعريفها بطريقة مختلفة قليلاً أيضاً.


الحلقة For

الحلقة for تستخدم لتنفيذ الأوامر عدد محدد من المرّات.
هنا يتم تحديد عدد المرات التي ستستمر الحلقة فيها في تنفيذ الكود منذ البداية.

for(condition)
{

} 

الحلقة While

الحلقة while تستخدم لتنفيذ الأوامر مرات غير محددة.
هنا الحلقة تستمر في إعادة تنفيذ الأوامر طالما أن الشرط الموضوع فيها لا زال يتحقق.

while(condition)
{

}

الحلقة Do While

الحلقة do while تستخدم لتنفيذ الأوامر مرات غير محددة.
هنا الحلقة تستمر في إعادة تنفيذ الأوامر طالما أن الشرط الموضوع فيها لا زال يتحقق.

الفرق الوحيد بينها و بين الحلقة while أنها تنفذ الأوامر الموضوعة فيها مرّة واحدة على الأقل.

do
{

}
while(condition);

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

طريقة حساب عدد المرات التي تم فيها تنفيذ الأوامر

إذا طلبت من إنسان أن يلفظ كلمة Algo خمس مرات على سبيل المثال.
فإنه سيقول: Algo، Algo، Algo، Algo، Algo.

لاحظ أن الإنسان قد يستخدم أصابعه لكي يحسب كم مرة قال الكلمة "Algo" أو قد يستخدم ورقة و قلم في حال طلبت منه لفظها 100 مرات حتى لا يخطئ بالعد.


طريقة الكمبيوتر في العد

إذا أردت جعل الكمبيوتر يطبع كلمة Algo عشر مرات، عليك إستخدام حلقة تنفذ الكود الذي بداخلها 10 مرات. الحلقة بدورها ستعتمد في عملية العد على متغير عادي يسمى عدّاد (Counter).

فكرة العداد هي تخزين عدد المرات التي قامت فيها الحلقة بتنفيذ الأوامر التي بداخلها. في كل مرة يتم فيها تنفيذ جميع الأوامر الموضوعة بداخل الحلقة, يتم زيادة العداد واحداً.

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


طريقة تحديد كيف سيتم العد في الحلقات

عند التعامل مع أي حلقة، أول شيء عليك التفكير فيه هو وضع الشرط الذي يحدد كم مرة ستقوم الحلقة بإعادة تنفيذ الكود الموضوع فيها. فمثلاً لجعل الحلقة تعيد تنفيذ الأوامر الموضوعة فيها 5 مرات يمكنك العد بطرق مختلفة و الحصول على نفس النتيجة كالتالي:

  • إذا قمت بالعد بشكل تصاعدي من 1 إلى 5 كالتالي 5 - 4 - 3 - 2 - 1 ستحصل على 5 مرات.
  • إذا قمت بالعد بشكل تصاعدي من 0 إلى 4 كالتالي 4 - 3 - 2 - 1 - 0 ستحصل على 5 مرات.
  • إذا قمت بالعد بشكل تصاعدي من 6 إلى 10 كالتالي 10 - 9 - 8 - 7 - 6 ستحصل على 5 مرات.
  • إذا قمت بالعد بشكل تنازلي من 5 إلى 1 كالتالي 1 - 2 - 3 - 4 - 5 ستحصل على 5 مرات.
  • إذا قمت بالعد بشكل تنازلي من 4 إلى 0 كالتالي 0 - 1 - 2 - 3 - 4 ستحصل على 5 مرات.

مثال يوضح فائدة الحلقات

المثال التالي يوضح لك فقط كيف يمكن إستغلال الحلقات لإنجاز المهام بسرعة و بكود أقل.

الآن في حال أردنا طباعة جميع الأرقام من 1 إلى 10 و كل رقم منهم على سطر جديد يوجد أسلوبين لفعل ذلك:

  • كتابة جميع الأرقام التي نريد طباعتها رقماً رقماً بداخل الدالة write().
  • إستخدام حلقة واحدة فقط و تحديد من أي رقم إلى أي رقم تريد أن تطبع.

الحل بدون حلقة

هنا لاحظ أننا قمنا بكتابة كل رقم سيتم طباعته بأنفسنا.

الكود

write("1\n");
write("2\n");
write("3\n");
write("4\n");
write("5\n");
write("6\n");
write("7\n");
write("8\n");
write("9\n");
write("10\n");

النتيجة

1
2
3
4
5
6
7
8
9
10

تمرين: انسخ المثال وجرّبه بنفسك، ثم عدّل القيم ولاحظ النتيجة.


الحل باستخدام حلقة

هنا لاحظ أننا قمنا بكتابة أمر الطباعة مرة واحدة فقط و العدد تم تكراره بشكل تصاعدي.

الكود

for (var i=1; i<=10; i++)
{
    write( i + "\n");
}

النتيجة

1
2
3
4
5
6
7
8
9
10

تمرين: انسخ المثال وجرّبه بنفسك، ثم عدّل القيم ولاحظ النتيجة.


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

مراجعة وتمرين تثبيت المهارة

اختبار سريع: اشرح بعبارتك معنى «حلقات التكرار في البرمجة»، ثم بيّن أين ستستخدمه داخل برنامج صغير لحل مشكلة يومية مع مدخلات ونتائج يمكن التحقق منها، وما الخطأ الذي يجب اختباره قبل الاعتماد على الحل.

تحدٍّ إضافي: غيّر شرطًا واحدًا في التطبيق، وتوقع النتيجة، ثم نفّذ الاختبار وفسّر الاختلاف.

الدرس التالي: الحلقة for في البرمجة. من الأفضل إنهاء التجربة الحالية قبل متابعة الدرس التالي.

دروس نصية

#1

تعلم أساسيات البرمجة

#2

دالة الطباعة في البرمجة

#3

المتغيرات في البرمجة

#4

العوامل في البرمجة

#5

حلقات التكرار في البرمجة

#6

المصفوفات و أنواعها في البرمجة

#7

تعريف دوال جديدة في البرمجة

#8

محرر الكود للمبتدئين في البرمجة

#9

دمج البيانات في أساسيات البرمجة

#10

أنواع البيانات في البرمجة

#11

جمل الشرط في البرمجة

#12

الحلقة for في البرمجة

#13

المصفوفات الأحادية في البرمجة

#14

الإستدعاء الذاتي في البرمجة

#15

محلل الكود للمبتدئين في البرمجة

#16

أحرف الهروب في البرمجة

#17

دالة الإدخال في البرمجة

#18

الشروط المتداخلة في البرمجة

#19

الحلقة while في البرمجة

#20

المصفوفات الثنائية في البرمجة

#21

كتابة كود أقل في البرمجة

#22

التحقق من أنواع القيم في البرمجة

#23

الحلقة do while في البرمجة

#24

المصفوفات الثلاثية في البرمجة

#25

الخطوة التالية بعد تعلم أساسيات البرمجة

#26

الحلقات المتداخلة في البرمجة

#27

العمليات الحسابية المتسلسلة في البرمجة

#28

حساب قيمة العاملي للعدد في البرمجة

#29

حساب المضاعف للعدد في البرمجة

عرض الدروس كاملة تحقق من صفحة تعلم الدورة
درس نصي 1/29
أنت تشاهد
حلقات التكرار في البرمجة