
الـ For loop (برمجة)

قم بالترقية للحصول على المزيد من المحتوى
صحيح أم خطأ؟ هناك عدة طرق لتكرار الكود.
قامت لينا ببرمجة الروبوت ليقوم بإعطاء الشوكولا لماريا وليون. قامت ماريا بتطوير برنامج لينا، بحيث لم يعد يتطلب إعادة تشغيله مرة بعد مرة. هكذا يبدو السودوكود الآن. طالما كان هناك شوكولا في العلبة، أي طالما أن المتغير شوكولا أكبر من صفر، يقوم الروبوت بإعطاء الشوكولا لكل من ماريا وليون. إستخدمت ماريا while loop. لينا تعرف طريقة لجعل الكود أفضل من ذلك. بما أن لينا تعرف أن علبة الشوكولا الجديدة بها 10 قطع شوكولا، فلا يُشترط إدخال هذه المعلومات كل مرة. يمكنها استخدام نوع آخر من الـ loop بدلا من ذلك، والذي سيتكرر لـ 10 مرات. هذا النوع من الـ loop يتكرر بدءً من قيمة ابتداء إلى قيمة نهائية للمتغير. تُنفذ التعليمات داخل الـ loop فقط عندما يكون المتغير بين قيمة الابتداء وقيمة الانتهاء. تستخدم اسم المتغير ‘i’ كما في iterate. هكذا يبدو السودوكود الخاص بلينا. لجميع قيم المتغير ‘i’، من قيمة الابتداء وحتى قيمة الانتهاء، يجب تنفيذ التعليمات التي داخل الـ loop. في تعليمات الـ loop، تضبط لينا قيمة البداية لواحد. عندما تبدأ الـ loop، يكون للمتغير ‘i’ قيمة 1. تكتُب من 1. إنها تريد أن تُنفذ التعليمات التي في الـ loop عشرة مرات. لذا تكتب لينا 10 كقيمة للنهاية. كل مرة يتم تكرار التعليمات التي في الـ loop، يجب أن تزيد قيمة المتغير ‘i’ بمقدار 1. لذا تضبط لينا حجم كل خطوة في الكود لـ 1. تسمى هذه for loop، وتُنفذ لجميع القيم من قيمة الابتداء 1 وحتى قيمة الانتهاء 10. عندما كان البرنامج يستخدم الـ while loop، إحتجنا لتعليم داخل الـ loop لتقليل عدد قطع الشوكولا بمقدار 1 كل مرة، لكن عندما تستخدم لينا for loop، فلا نحتاج لذلك التعليم. يمكنها إزالة ذلك الجزء. هكذا يبدو السودوكود الجديد. تختبر لينا السودوكود الذي كتبته. فعندما يبدأ الـ for loop، يكون للمتغير ‘i’ قيمة 1. تُنفذ التعليمات في الـ loop ثم يعود البرنامج لبداية الـ loop، والآن، يُنفذ هذا الجزء من التعليمات، زيادة قيمة المتغير ‘i’ بمقدار خطوة. 1 زائد 1 يصبح اثنان. 2 ما زالت بين 1 و10. تُنفذ تعليمات الـ loop ثانية، ثم يعود البرنامج لبداية الـ loop، ومجددا، تزيد قيمة المتغير ‘i’ بمقدار 1. القيمة الآن 3. تقع 3 بين قيم ‘i’ من 1 إلى 10 ثم يتابع الـ loop ذلك لقيم المتغير ‘i’ أربعة و5 و6 و7 و8 و9 و10. عندما تصبح قيمة ‘i’ إحدى عشر، فإن قيمة المتغير لم تعد تنتمي للقيم من 1 إلى 10. تنتهي الـ loop ويستمر البرنامج. في هذه الحالة، لا توجد المزيد من التعلميات، فينتهي البرنامج. لنقارن بين الـ for loop والـ while loop الخاص بماريا. إستبدلت لينا ثلاث تعليمات بتعليم واحد فقط. التعليمات الأقل تُسهل من قراءة الكود. يصبح الكود أكثر أناقة.