التكرار
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( يوليو 2024 ) |
التكرار هو تكرار عملية ما بهدف توليد سلسلة (ربما غير محدودة) من النتائج. كل تكرار للعملية هو تكرار واحد، ونتيجة كل تكرار هي نقطة البداية للتكرار التالي.
في الرياضيات وعلوم الكمبيوتر ، التكرار (إلى جانب تقنية التكرار ذات الصلة ) هو عنصر قياسي في الخوارزميات .
الرياضيات
في الرياضيات، قد يشير التكرار إلى عملية تكرار دالة ، أي تطبيق دالة بشكل متكرر، باستخدام الناتج من تكرار واحد كمدخل للتكرار التالي. يمكن أن يؤدي تكرار الدوال البسيطة ظاهريًا إلى سلوكيات معقدة ومشكلات صعبة - على سبيل المثال، انظر تخمين كولاتز ومتتاليات الشعوذة .
هناك استخدام آخر للتكرار في الرياضيات وهو في الأساليب التكرارية التي تستخدم لإنتاج حلول عددية تقريبية لبعض المشاكل الرياضية. طريقة نيوتن هي مثال على الطريقة التكرارية. الحساب اليدوي للجذر التربيعي لعدد ما هو استخدام شائع ومثال معروف.
الحوسبة
في الحوسبة، التكرار هو تقنية تحديد كتلة من العبارات داخل برنامج كمبيوتر لعدد محدد من التكرارات. ويقال إن كتلة العبارات هذه متكررة ؛ وقد يشير عالم الكمبيوتر أيضًا إلى كتلة العبارات هذه باسم " التكرار".
التنفيذات
تشكل الحلقات أكثر بنيات اللغة شيوعًا لأداء التكرارات. يكرر الكود الزائف التالي ثلاث مرات سطر الكود بين begin وend من خلال حلقة for ، ويستخدم قيم i كزيادات.
a := 0 لـ i := 1 إلى 3 do {تكرار ثلاث مرات} begin a := a + i ; {إضافة القيمة الحالية لـ i إلى a} end ; طباعة ( a ) ; {يتم طباعة الرقم 6 (0 + 1؛ 1 + 2؛ 3 + 3)}
يجوز، وفي كثير من الأحيان يكون ضروريا، استخدام القيم من أجزاء أخرى من البرنامج خارج كتلة العبارات المقوسة، لأداء الوظيفة المطلوبة.
تشكل التكرارات بنيات لغوية بديلة للحلقات، والتي تضمن تكرارات متسقة على هياكل بيانات محددة. ويمكنها في النهاية توفير الوقت والجهد في محاولات الترميز اللاحقة. على وجه الخصوص، تسمح التكرارات بتكرار نفس النوع من العمليات عند كل عقدة من مثل هذه الهياكل البيانات، غالبًا بترتيب محدد مسبقًا.
التكرارات هي هياكل لغوية وظيفية بحتة، تقبل البيانات أو ترفضها أثناء التكرارات.
العلاقة مع التكرار
تختلف تعريفات الخوارزميات للتكرارات والتكرارات، على الرغم من أنها قد تولد تأثيرات/نتائج متطابقة. والفرق الأساسي هو أنه يمكن استخدام التكرار كحل دون معرفة مسبقة بعدد المرات التي يجب تكرار الإجراء فيها، بينما يتطلب التكرار الناجح هذه المعرفة المسبقة.
بعض أنواع لغات البرمجة، المعروفة باسم لغات البرمجة الوظيفية ، مصممة بحيث لا تقوم بإعداد كتلة من العبارات للتكرار الصريح، كما هو الحال مع حلقة for . بدلاً من ذلك، تستخدم لغات البرمجة هذه التكرار حصريًا . بدلاً من استدعاء كتلة من التعليمات البرمجية لتكرارها عددًا محددًا مسبقًا من المرات، تقوم كتلة التعليمات البرمجية المنفذة "بتقسيم" العمل الذي يجب القيام به إلى عدد من القطع المنفصلة، وبعد ذلك تقوم كتلة التعليمات البرمجية بتنفيذ نفسها على كل قطعة فردية. سيتم تقسيم كل قطعة من العمل بشكل متكرر حتى تصبح "كمية" العمل صغيرة قدر الإمكان، وعند هذه النقطة ستقوم الخوارزمية بهذا العمل بسرعة كبيرة. ثم "تعكس" الخوارزمية وتعيد تجميع القطع في كل واحد كامل.
المثال الكلاسيكي للتكرار هو في خوارزميات فرز القائمة، مثل خوارزمية الفرز بالدمج . ستقوم خوارزمية الفرز بالدمج بتقسيم القائمة بشكل متكرر إلى أزواج متتالية؛ ثم يتم ترتيب كل زوج، ثم كل زوج متتالي من الأزواج، وهكذا حتى تصبح عناصر القائمة بالترتيب المطلوب.
الكود أدناه هو مثال لخوارزمية متكررة في لغة برمجة Scheme والتي ستخرج نفس النتيجة مثل الكود الزائف تحت العنوان السابق.
( دع التكرار (( i 1 ) ( a 0 )) ( إذا ( <= i 3 ) ( كرر ( + i 1 ) ( + a i )) ( اعرض a )))
تعليم
في بعض مدارس التربية ، تُستخدم التكرارات لوصف عملية تعليم الطلاب أو توجيههم لتكرار التجارب أو التقييمات أو المشاريع، حتى يتم التوصل إلى نتائج أكثر دقة، أو حتى يتقن الطالب المهارة الفنية. توجد هذه الفكرة في المثل القديم "الممارسة تؤدي إلى الكمال". على وجه الخصوص، يتم تعريف "التكرار" على أنه "عملية التعلم والتطوير التي تنطوي على استقصاء دوري، مما يتيح فرصًا متعددة للأشخاص لإعادة النظر في الأفكار والتفكير النقدي في آثارها". [1]
على عكس الحوسبة والرياضيات، فإن التكرارات التعليمية ليست محددة مسبقًا؛ بدلاً من ذلك، يتم تكرار المهمة حتى يتم تحقيق النجاح وفقًا لبعض المعايير الخارجية (غالبًا اختبار).
انظر أيضا
مراجع
- ^ هيلين تيمبرلي ؛ آرون ويلسون؛ هيذر بارار؛ إيرين فونج. "التعلم والتطوير المهني للمعلم: أفضل تكرار لتوليف الأدلة [BES]" (PDF) . منظمة التعاون الاقتصادي والتنمية . ص. 238. مؤرشف من الأصل (PDF) في 26 يونيو 2013. تم الاسترجاع في 4 أبريل 2013 .
