الحلقة for في البرمجة
المسار: أساسيات البرمجة الوحدة: حلقات التكرار
مدخل إلى الدرس: الحلقة for في البرمجة
مفهوم الحلقة for نستخدم الحلقة for لتنفيذ الكود نفسه عدد محدد من المرّات. فمثلاً إذا أردنا تنفيذ كود معين 5 مرات، نضعه بداخل حلقة تعيد نفسها 5 دورات....
طريقة الدراسة: اقرأ التعريف، تتبّع المثال في الشرح، نفّذه بنفسك، ثم اختبر النتيجة والحالات الاستثنائية قبل الانتقال.
مفهوم الحلقة for
نستخدم الحلقة for لتنفيذ الكود نفسه عدد محدد من المرّات.
فمثلاً إذا أردنا تنفيذ كود معين 5 مرات، نضعه بداخل حلقة تعيد نفسها 5 دورات.
طريقة إستخدامها
يجب أن تفهم معاني المصطلحات التالية لأنها مهمة في عالم البرمجة و لا تقلق إن لم تفهم معناها مباشرةً الآن لأنك ستفهمها لاحقاً عند مشاهدة الفيديوهات التي شرحنا فيها كيف تنفّذ الكود بدقة.
{
// statements
}
- initialization هي أول خطوة تتنفذ في الحلقة و هي تتنفذ مرة واحدة فقط على عكس جميع الخطوات الموجودة في الحلقة. في هذه الخطوة نقوم بتعريف متغير (يسمى عدّاد) و يجب وضع بعده فاصلة منقوطة.
- condition هي ثاني خطوة تتنفذ في الحلقة و هي تتنفذ في كل دورة. في هذه الخطوة نقوم بوضع شرط يحدد متى تتوقف الحلقة و نضع بعده فاصلة منقوطة. في كل دورة يتم التأكد أولاً إذا تحقق هذا الشرط أم لا، و طالما أن نتيجة الشرط تساوي
trueفهذا يعني أنه سيتم تكرار الكود. - statements هي ثالث خطوة تتنفذ في الحلقة و هي تتنفذ في كل دورة. هذه الخطوة تعني تنفيذ جميع الأوامر الموجودة في الحلقة بين أقواس البداية و النهاية. بعد أن تتنفذ جميع الأوامر سيصعد المحرر إلى الخطوة الأخيرة التي تحدث في نهاية كل دورة و هي إما زيادة قيمة العداد أو إنقاصها.
- decrement أو increment هي الخطوة الرابعة و الأخيرة، و هي تتنفذ في كل دورة. هنا نحدد كم تزداد أو تنقص قيمة العداد في نهاية كل دورة. و هنا لا يجب وضع فاصلة منقوطة بعدها.
لا تنسى أن جميع هذه الخطوات تتكرر في كل دورة ما عدا الخطوة الأولى، و السبب أننا لا نحتاج إلى تعريف عدّاد جديد في كل دورة، بل نستعمل العدّاد القديم و الذي من خلاله نعرف في أي دورة أصبحنا.
مثال حول الحلقة for
في المثال التالي قمنا بتعريف حلقة تطبع كلمة Adeeb على سطر منفرد 5 مرات.
الكود
for (var i=1; i<=5; i++) { write("Adeeb\n"); }
النتيجة
Adeeb
Adeeb
Adeeb
Adeeb
تمرين: انسخ المثال وجرّبه بنفسك، ثم عدّل القيم ولاحظ النتيجة.
تمرين تطبيقي: أعد كتابة المثال بنفسك، غيّر قيمة واحدة، وتوقع الناتج قبل التنفيذ.
رموز مختصرة نستخدمها في الحلقات
نستخدم في العادة العامل ++ في الحلقات عند زيادة قيمة المتغير واحداً كما رأيت في المثال السابق لأنه أسلوب مختصر و متعارف عليه و لكنك تستطيع إضافة 1 على قيمة المتغير بطرق أخرى إن أردت ذلك.
إذاً سواء قمت بكتابة i++ أو i += 1 أو i = i + 1 فكل هذه الأساليب تعني أنك تريد إضافة 1 على قيمة المتغير i.
بالنسبة للعامل -- فإننا نستخدمه كذلك مع الحلقات عند إنقاص قيمة المتغير واحداً و بالتالي سواء قمت بكتابة i-- أو i -= 1 أو i = i - 1 فكل هذه الأساليب تعني أنك تريد إنقاص 1 من قيمة المتغير i.
العامل ++ و العامل -- موجودين في أغلب لغات البرمجة و لكن ليس في جميع اللغات، فعلى سبيل المثال ليسا موجودين في لغة بايثون و لكنها موجودين في معظم لغات البرمجة الأخرى المشهورة.
في محرر الكود الخاص بهرمش يمكنك استخدام أي أسلوب تريده لزيادة أو إنقاص قيمة العداد. في التمارين ستجد دائماً أننا نحاول استخدام الأسلوب الأكثر سهولة لأن هذا ما نفعله في المشاريع الحقيقية.
تمارين حول الحلقة for
التمرين الأول
بواسطة الحلقة for إطبع جميع الأرقام الموجودة من 1 إلى 5 مع إظهار كل رقم منهم على سطر منفرد.
التمرين الثاني
- أطلب من المستخدم إدخال رقم و خزّنه في متغير إسمه
n. - بواسطة الحلقة
forإطبع جميع الأرقام الموجودة من1إلىnمع إظهار كل رقم منهم على سطر منفرد.
التمرين الثالث
بواسطة الحلقة for إطبع جميع الأرقام الموجودة من 5 إلى 1 مع إظهار كل رقم منهم على سطر منفرد.
التمرين الرابع
- أطلب من المستخدم إدخال رقم و خزّنه في متغير إسمه
n. - بواسطة الحلقة
forإطبع جميع الأرقام الموجودة منnإلى1مع إظهار كل رقم منهم على سطر منفرد.
التمرين الخامس
- عرّف متغير إسمه
websiteقيمته"Adeeb". - إطبع قيمة هذا المتغير 3 مرات على نفس السطر مع وضع مسافة فارغة بينهم باستخدام الحلقة
for.
التمرين السادس
- عرّف متغير إسمه
websiteقيمته"Adeeb". - إطبع قيمة هذا المتغير 3 مرات على أسطر منفردة باستخدام الحلقة
for.
التمرين السابع
- عرّف متغير إسمه
websiteقيمته"Adeeb". - إطبع قيمة هذا المتغير 3 مرات على نفس السطر مع وضع فاصلة بينهم بإستخدام الحلقة
for.
ملاحظة: لا يجب أن تظهر فاصلة زيادة في الأخير.
مراجعة وتمرين تثبيت المهارة
اختبار سريع: اشرح بعبارتك معنى «الحلقة for في البرمجة»، ثم بيّن أين ستستخدمه داخل برنامج صغير لحل مشكلة يومية مع مدخلات ونتائج يمكن التحقق منها، وما الخطأ الذي يجب اختباره قبل الاعتماد على الحل.
تحدٍّ إضافي: غيّر شرطًا واحدًا في التطبيق، وتوقع النتيجة، ثم نفّذ الاختبار وفسّر الاختلاف.
الدرس التالي: الحلقة while في البرمجة. من الأفضل إنهاء التجربة الحالية قبل متابعة الدرس التالي.