التكرار هو فعل تكرار عملية ، لتوليد سلسلة من النتائج (ربما غير محدودة) ، بهدف الاقتراب من الهدف أو النتيجة المرجوة. في سياق الرياضيات أو علوم الكمبيوتر ، يعد التكرار (جنبًا إلى جنب مع تقنية العودية ذات الصلة) لبنة أساسية للخوارزميات.
في برمجة الكمبيوتر ، التكرار ، الذي يسمى أيضًا حلقة المصطلح الإنجليزي ، هو بنية تحكم ، داخل خوارزمية تحل مشكلة معينة ، والتي تأمر الكمبيوتر بتنفيذ سلسلة من التعليمات بشكل متكرر ، بشكل عام حتى حدوث شروط منطقية محددة.
من المهم ملاحظة أن التسلسل والاختيار يشكلان أحد الهياكل الأساسية الثلاثة لحل الخوارزمية لمشكلة معينة وفقًا لنظرية Böhm-Jacopini. هناك عدة أشكال للتكرار ؛ أشهرها MENTRE و REPEAT و PER. يمكن القول أن التكرار هو الرابط القوي للبرمجة الذي يسمح لك بأتمتة أداء العملية ، وهو ما لا يكفي ببساطة لتنفيذ سلسلة من التعليمات.
ما يسمى بـ "الحلقة اللانهائية" هي حالة تكرار بسبب خطأ برمجي يوقف تنفيذ البرنامج ، بينما في بعض تقنيات البرمجة ، خاصة مع المتحكمات الدقيقة ، يتم استخدامه بشكل متعمد للتكرار اللانهائي داخل البرنامج.
في برنامج التطوير ، يتم استخدام متكررة لوصف ارشادي عملية التخطيط والتنمية حيث تم تطوير تطبيق في أقسام صغيرة تسمى التكرار. تتم مراجعة كل تكرار وانتقاده من قبل فريق البرنامج والمستخدمين النهائيين المحتملين ؛ يتم استخدام الأفكار المكتسبة من نقد التكرار لتحديد الخطوة التالية في التطوير. نماذج البيانات أو المخططات التسلسلية ، والتي غالبًا ما تُستخدم لرسم التكرارات ، وتتبع ما تم تجربته ، أو الموافقة عليه ، أو التخلص منه ، وفي النهاية تكون بمثابة مخطط للمنتج النهائي.
التحدي مع التطوير التكراري هو القدرة على التأكد من أن جميع التكرارات متوافقة. عند الموافقة على كل تكرار جديد ، يمكن للمطورين استخدام تقنية تعرف باسم الهندسة العكسية ، وهي إجراء مراجعة وتحقق منهجي للتأكد من أن كل تكرار جديد متوافق مع الأساليب السابقة. ميزة استخدام التطوير التكراري هي أن المستخدم النهائي يشارك في عملية التطوير. بدلاً من الانتظار حتى يصبح التطبيق منتجًا نهائيًا ، عندما لا تكون التغييرات ممكنة بسهولة ، يتم تحديد المشكلات وحلها في كل مرحلة من مراحل التطوير. يسمى التطور التكراري أحيانًا التطور الدائري أو التطوري.