التكرار
التكرار يعني إعادة عملية ما لتوليد سلسلة (قد تكون غير محدودة) من النتائج. كل تكرار للعملية هو تكرار واحد، ونتيجة كل تكرار هي نقطة البداية للتكرار التالي.
في الرياضيات وعلوم الحاسوب ، يعتبر التكرار (إلى جانب تقنية الاستدعاء الذاتي ذات الصلة ) عنصرًا أساسيًا في الخوارزميات .
الرياضيات

في الرياضيات، قد يشير التكرار إلى عملية تكرار دالة ما ، أي تطبيقها بشكل متكرر، باستخدام ناتج كل تكرار كمدخل للتكرار التالي. ويمكن أن يؤدي تكرار الدوال البسيطة ظاهريًا إلى سلوكيات معقدة ومسائل صعبة - على سبيل المثال، انظر إلى حدسية كولاتز ومتتاليات اللاعب الخجول .
يُستخدم التكرار في الرياضيات أيضًا في الطرق التكرارية التي تُستخدم لإيجاد حلول عددية تقريبية لبعض المسائل الرياضية. تُعد طريقة نيوتن مثالًا على الطرق التكرارية. كما يُعد حساب الجذر التربيعي لعدد ما يدويًا مثالًا شائعًا ومعروفًا على ذلك.
الحوسبة
في مجال الحوسبة، التكرار هو أسلوب يُستخدم لتحديد مجموعة من التعليمات البرمجية داخل برنامج حاسوبي لعدد محدد من التكرارات. تُسمى هذه المجموعة من التعليمات البرمجية "مُكرَّرة" . وقد يُشير إليها مبرمج الحاسوب أيضًا باسم "تكرار " .
التطبيقات
تُعدّ الحلقات من أكثر بنيات اللغة شيوعًا لإجراء عمليات التكرار. يقوم الكود الزائف التالي بتكرار سطر الكود بين النقطتين begin و end ثلاث مرات باستخدام حلقة for ، ويستخدم قيم i كزيادات.
a := 0 for i := 1 to 3 do { loop three times } begin a := a + i ; { add the current value of i to a } end ; print ( a ) ; { the number 6 is printed (0 + 1; 1 + 2; 3 + 3) }من المسموح، بل ومن الضروري في كثير من الأحيان، استخدام القيم من أجزاء أخرى من البرنامج خارج كتلة العبارات الموجودة بين قوسين، وذلك لأداء الوظيفة المطلوبة.
تُعدّ المُكرِّرات بدائل لبنية الحلقات في لغة البرمجة، إذ تضمن تكرارًا متسقًا على هياكل بيانات محددة. ويمكنها توفير الوقت والجهد في محاولات البرمجة اللاحقة. على وجه الخصوص، يسمح المُكرِّر بتكرار نفس نوع العملية عند كل عقدة من بنية البيانات، غالبًا بترتيب مُحدد مسبقًا.
تُعتبر العناصر المتكررة بنى لغوية وظيفية بحتة، تقبل أو ترفض البيانات أثناء التكرارات.
العلاقة بالتكرار
تختلف التعريفات الخوارزمية للاستدعاءات المتكررة والتكرارات، على الرغم من إمكانية توليدهما نتائج متطابقة. ويكمن الفرق الأساسي في أن الاستدعاء المتكرر قد يكون حلاً دون معرفة مسبقة بعدد مرات تكرار العملية، بينما يتطلب التكرار الناجح هذه المعرفة المسبقة.
تُصمَّم بعض أنواع لغات البرمجة، المعروفة بلغات البرمجة الوظيفية ، بحيث لا تُهيئ كتلة من التعليمات للتكرار الصريح، كما هو الحال في حلقة for . بدلاً من ذلك، تستخدم هذه اللغات التكرار بشكل حصري . فبدلاً من استدعاء كتلة من التعليمات البرمجية لتكرارها عددًا محددًا مسبقًا من المرات، تقوم كتلة التعليمات البرمجية المنفذة "بتقسيم" العمل إلى عدد من الأجزاء المنفصلة، ثم تُنفِّذ نفسها على كل جزء على حدة. يُقسَّم كل جزء من العمل بشكل متكرر حتى يصبح "حجم" العمل أصغر ما يمكن، وعندها تُنفِّذ الخوارزمية هذا العمل بسرعة كبيرة. ثم "تعكس" الخوارزمية العملية وتُعيد تجميع الأجزاء في وحدة كاملة.
يُعدّ فرز القوائم، مثل فرز الدمج ، مثالًا كلاسيكيًا على الاستدعاء الذاتي . تقوم خوارزمية فرز الدمج الاستدعائية أولًا بتقسيم القائمة بشكل متكرر إلى أزواج متتالية. ثم يتم ترتيب كل زوج، ثم كل زوج متتالٍ من الأزواج، وهكذا حتى تصبح عناصر القائمة بالترتيب المطلوب.
الكود أدناه هو مثال على خوارزمية تكرارية في لغة برمجة Scheme والتي تُخرج نفس النتيجة التي يُخرجها الكود الزائف الموجود تحت العنوان السابق.
( let iterate (( i 1 ) ( a 0 )) ( if ( <= i 3 ) ( iterate ( + i 1 ) ( + a i )) ( display a )))تعليم
في بعض المدارس التربوية ، يُستخدم مصطلح "التكرار" لوصف عملية تعليم الطلاب أو توجيههم لتكرار التجارب أو التقييمات أو المشاريع، حتى يتم التوصل إلى نتائج أكثر دقة، أو حتى يتقن الطالب المهارة التقنية. هذه الفكرة مستوحاة من المثل القديم: "الممارسة تُؤدي إلى الإتقان". ويُعرَّف مصطلح "التكرار" تحديدًا بأنه "عملية التعلم والتطوير التي تتضمن استقصاءً دوريًا، مما يُتيح فرصًا متعددة للأفراد لإعادة النظر في الأفكار والتفكير النقدي في آثارها". [ 1 ]
بخلاف الحوسبة والرياضيات، فإن التكرارات التعليمية ليست محددة مسبقًا؛ بدلاً من ذلك، يتم تكرار المهمة حتى يتم تحقيق النجاح وفقًا لمعايير خارجية معينة (غالبًا ما تكون اختبارًا).
انظر أيضاً
مراجع
- ↑ هيلين تيمبرلي ؛ آرون ويلسون؛ هيذر بارار؛ إيرين فونغ. "التعلم والتطوير المهني للمعلمين: أفضل توليف للأدلة [ BES ] " (ملف PDF) . منظمة التعاون الاقتصادي والتنمية . ص 238. مؤرشف من الأصل (ملف PDF) بتاريخ 26 يونيو 2013. تم الاطلاع عليه بتاريخ 4 أبريل 2013 .
- إدارة الوقت
- الفراكتلات
- مصطلحات البرمجة
- الخوارزميات
- التكرار في البرمجة
