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