تعلم البرمجة للمبتدئين الحلقة for

مفهوم الحلقة for

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


طريقة إستخدامها

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

for (initialisation; condition; increment أو decrement)
{
    // statements
}

  • initialisation :  هي أول خطوة تتنفذ في الحلقة و هي تتنفذ مرة واحدة فقط على عكس جميع الخطوات الموجودة في الحلقة.
    في هذه الخطوة نقوم بتعريف متغير (يسمى عدّاد) و يجب وضع بعده فاصلة منقوطة.

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

  • statements:   هي ثالث خطوة تتنفذ في الحلقة و هي تتنفذ في كل دورة.
    هذه الخطوة تعني تنفيذ جميع الأوامر الموجودة في الحلقة بين أقواس البداية و النهاية. بعد أن تتنفذ جميع الأوامر سيصعد المحرر إلى الخطوة الأخيرة التي تحدث في نهاية كل دورة و هي إما زيادة قيمة العداد أو إنقاصها.

  • decrement أو increment:   هي الخطوة الرابعة و الأخيرة, و هي تتنفذ في كل دورة.
    هنا نحدد كم تزداد أو تنقص قيمة العداد في نهاية كل دورة. و هنا لا يجب وضع فاصلة منقوطة بعدها.

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

مثال حول الحلقة for

في المثال التالي قمنا بتعريف حلقة تطبع كلمة Harmash على سطر منفرد 5 مرات.

الكود

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

سنحصل على النتيجة التالية عند التشغيل.

Harmash
Harmash
Harmash
Harmash
Harmash

تجربة الكود


شرح الكود

الفيديو التالي يشرح طريقة عمل الحلقة for في المثال السابق خطوة خطوة.

رموز مختصرة نستخدمها في الحلقات

نستخدم في العادة العامل ++ في الحلقات عند زيادة قيمة المتغير واحداً كما رأيت في المثال السابق لأنه أسلوب مختصر و متعارف عليه و لكنك تستطيع إضافة 1 على قيمة المتغير بطرق أخرى إن أردت ذلك.

إذاً سواء قمت بكتابة i++ أو i += 1 أو i = i + 1 فكل هذه الأساليب تعني أنك تريد إضافة 1 على قيمة المتغير i.

بالنسبة للعامل -- فإننا نستخدمه كذلك مع الحلقات عند إنقاص قيمة المتغير واحداً و بالتالي سواء قمت بكتابة i-- أو i -= 1 أو i = i - 1 فكل هذه الأساليب تعني أنك تريد إنقاص 1 من قيمة المتغير i.


ملاحظة

العامل ++ و العامل -- موجودين في أغلب لغات البرمجة و لكن ليس في جميع اللغات, فعلى سبيل المثال ليسا موجودين في لغة بايثون و لكنها موجودين في معظم لغات البرمجة الأخرى المشهورة.

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

تمارين حول الحلقة for


التمرين الأول

بواسطة الحلقة for إطبع جميع الأرقام الموجودة من 1 إلى 5 مع إظهار كل رقم منهم على سطر منفرد.

الحل و التفسير »


التمرين الثاني

  1. أطلب من المستخدم إدخال رقم و خزّنه في متغير إسمه n.
  2. بواسطة الحلقة for إطبع جميع الأرقام الموجودة من 1 إلى n مع إظهار كل رقم منهم على سطر منفرد.

الحل و التفسير »


التمرين الثالث

بواسطة الحلقة for إطبع جميع الأرقام الموجودة من 5 إلى 1 مع إظهار كل رقم منهم على سطر منفرد.

الحل و التفسير »


التمرين الرابع

  1. أطلب من المستخدم إدخال رقم و خزّنه في متغير إسمه n.
  2. بواسطة الحلقة for إطبع جميع الأرقام الموجودة من n إلى 1 مع إظهار كل رقم منهم على سطر منفرد.

الحل و التفسير »


التمرين الخامس

  1. عرّف متغير إسمه website قيمته "Harmash".
  2. إطبع قيمة هذا المتغير 3 مرات على نفس السطر مع وضع مسافة فارغة بينهم باستخدام الحلقة for.

الحل و التفسير »


التمرين السادس

  1. عرّف متغير إسمه website قيمته "Harmash".
  2. إطبع قيمة هذا المتغير 3 مرات على أسطر منفردة باستخدام الحلقة for.

الحل و التفسير »


التمرين السابع

  1. عرّف متغير إسمه website قيمته "Harmash".
  2. إطبع قيمة هذا المتغير 3 مرات على نفس السطر مع وضع فاصلة بينهم بإستخدام الحلقة for.

ملاحظة: لا يجب أن تظهر فاصلة زيادة في الأخير.

الحل و التفسير »

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة