
_START_ARTICLE_
تكرار الكود
_START_SECTION_
مثال على التماثل الوظيفي
_START_PARAGRAPH_
لاحظ هذا المثال المأخوذ من قصاصة رمز لحساب الـالمتوسط الرياضي لـمجموعة هيكل البيانات لـالأعداد الصحيحة_NEWLINE_extern int array1[];extern int array2[];_NEWLINE_ _NEWLINE_int sum1 = 0;int sum2 = 0;int average1 = 0;int average2 = 0;_NEWLINE_ _NEWLINE_for (int i = 0; i < 4; i++){_NEWLINE_   sum1 += array1[i];}average1 = sum1/4;_NEWLINE_ _NEWLINE_for (int i = 0; i < 4; i++){_NEWLINE_   sum2 += array2[i];}average2 = sum2/4;_NEWLINE_يمكن كتابة الحلقتين التكرارتين كمعادلة واحدة:_NEWLINE_int calcAverage (int* Array_of_4){_NEWLINE_   int sum = 0;_NEWLINE_   for (int i = 0; i < 4; i++)_NEWLINE_   {_NEWLINE_       sum += Array_of_4[i];_NEWLINE_   }_NEWLINE_   return sum/4;}_NEWLINE_باستخدام المعادلة السابقة ينتج كود مصدري ليس له حلقة مكررة:_NEWLINE_extern int array1[];extern int array2[];int average1 = calcAverage(array1);int average2 = calcAverage(array2);