حلقة لكل
رسمنا المربع يدويًا في تكرار التعليمات: أربع مرات أمام وأربع مرات يسار.
بهذه التعليمات:
المشكلة: ماذا لو أردنا ثمانيًّأ أو زهرة بستة عشر ورقة؛ فعندها يزداد الأمر تعقيدًا!
حلقة التكرار لكل
التكرار (Iteration) هو أحد أركان البرمجة: تنفيذ نفس الكود مرارًا. في رسَّام نستخدم كلمة لكل.
لاحظ أن محاذاة القطعة شيء مطلوب، ويكون بأربع مسافات بادئة من اليسار، أو بالاختصار (
TabوعكسهShift + Tab).
دورك: ارسم ثماني الأضلاغ بالتكرار
مسرد أوامر الحلقة لكل
| الوصف | الأمر |
|---|---|
| يكرر الكود الموجود بداخله ن مرات | لكل ي في عد(ن) |
| يعطي قائمة من الأرقام من 0 إلى ن - 1 | عد(ن) |
| يعطي أرقامًا من بداية إلى ما قبل نهاية بزيادة خطوة | عد(بداية، نهاية، خطوة) |
| متغير التكرار | ي |
| يزيد قيمة المتغير س بـ 10 | س = س + 10 |
| يزيد قيمة المتغير س بـ 10 (اختصار للأمر السابق) | س += 10 |
متغير التكرار
إنّ الرمز ي يمثل متغير التكرار، وهو كأي متغير يمكن تسميته كما تريد.
والدالة عد(ن) تعطينا قائمة من الأرقام من 0 إلى ن - 1:
- تكون قيمته صفر في الكرة الأولى
- تكون قيمته 1 في الكرة الثانية
- تكون قيمته 2 في الكرة الثالثة
- وهكذا .. إلى
ن - 1
لاحظ ناتج طباعة متغير التكرار في كل كرة (يظهر في أسفل القطعة):
البداية والنهاية والخطوة
ويمكن لـ عد أن تستقبل ثلاثة معطيات: البداية، والنهاية (غير مشمولة)، والخطوة. فـ عد(100، 250، 50) يعطي 100 ثم 150 ثم 200:
زيادة قيمة المتغير
- تذكر أن جملة مثل:
س = 20تعني تعيين القيمة20للمتغيرس؛ ولا تعني المساواة. - لذلك فإننا حين نأتي بجملة الزيادة
س = س + 10فإنها تعني إضافة10إلى قيمتها السابقة، وحفظ الناتج فيها بعد ذلك. - ويمكن اختصار هذه الجملة إلى:
س += 10
في هذا المثال نرسم شكلًا غير مغلق، بحيث يكون كل ضلع فيه أطول من الذي قبله بعشرة خطوات:
لاحظ التكرار الممل — نفس الأوامر مرارًا مع زيادة س. الحلقة لكل تختصر ذلك.
بإهمال قيمة متغير الكر
نفس الشكل بحلقة: كل ضلع أطول من الذي قبله بعشرة خطوات.
عادة نضع متغير الكر _ للإشارة إلى أنه غير مستخدم هنا.
باستخدام قيمة متغير الكر
هنا نكرر ونستخدم المتغير في موضع واحد: في مقدار الخطوة أمام.
لاحظ أن الفجوة تتسع أكثر فأكثر. بينما في مثال الزيادة، حجم الفجوة ثابت.