القائمة الرئيسية

الصفحات

عملية التكرار في لغة سي - Looping Process


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

عبارة  For Statement 


عبارة For هي من أكثر الدورات استخداماً في لغة سي ، وهي تستخدم لتكرار تنفيذ مجموعة من العبارات عدد معين من المرات ، وهي تشمل تعبيراُ يحدد القيمة الأبتدائية لفهرس وتعبير آخر يحدد الأستمرار في الدوران من عدمه طبقاً لأختيار معين وتعبير ثالث يقوم بتغيير قيمة الفهرس في نهاية كل تكرار.

الصورة العامة

For ( initialization; test condition ; incrementation )

initialization       هي القيمة الأبتدائية لأحد المتغيرات.
test condition     شرطاً يجب أن يتحقق لأستمرار تنفيذ الدورة. 
incrementation  يستخدم لتغيير القيمة في نهاية كل تكرار.

وهي تعني بدء العد من القيمة الأيتدائية initialization وذلك طالنا أن الشرط test condition صحيح و مقدار الزيادة كل مرة هو incrementation

مثال 

طباعة الأرقام من 0 حتي 9

#include <stdio.h>
main ()
{
            int x;
            for ( x = 0 , x < 10 , x ++ );
                     printf ("%d ..", x );    
}

يشتمل البرنامج الموجود في المثال علي توضيح للمتغير الصحيح X  ويستخدم هذا المتغير للدوران For ويشتمل تعبير الدوران Loop Expression علي الثاثة تعبيرات الواجب تواجدهم في اي تعبير For ، والثلاثة تعبيرات هي :

x = 0          initialization    
x < 10        test condition
x ++           incrementation

وعند تنفيذ هذا البرنامج يتم إعطاء قيمة ابتدائية للمتغير X وهي الصفر "0" ويتم اختيار هذه القيمة مع المقدار "10" وحيث أن نتيجة تنفيذ هذا الأختيار هي true فإنه يتم تنفيذ التعبير printf حيث يقوم بإظهار قمية X وهي "0" وبعد ذلك يعود التحكم تلقائياً إلي تعبير الدوران Loop Expression حيث يقوم بزيادة قيمة المتغير X بالمقدار1 وبعد ذلك يختبر قيمة X مع الثابت 10 وتكون النتيجة true فيقوم بإظهار قيمة X وهي 1 وهكذا حتي يظهر المقدار 9 وبعد ذلك تزيد قيمة X إلي 10 

وفي هذه الحالة تكون قيمة التعبير الأختياري 10 > X هي false وعلي ذلك يتم الخروج من الدوران وينتهي تنفيذ البرنامج ويكون ناتج تنفيذ البرنامج كالتالي :-
0 .. 1 .. 2 .. 3 .. 4 .. 5 .. 6 .. 7 .. 8 .. 9


مثال 

طباعة الأرقام من 0 حتي 9 مع الأحتفاظ بالمجموع في نهاية كل تكرار 

main ()
{
          int x, total;
          total = 0 
          for ( x = 0 , x < 8 , x ++ );
                  { 
                               total + = x;
                               printf (" x = %d , total = %d \n", x , total);       
                   }
}

ويكون ناتج تنفيذ البرنامج كالتالي :-

x = 0 ,     total = 0
x = 1 ,     total = 1
x = 2 ,     total =  3
x = 3 ,     total =  6 
x = 4 ,     total = 10
x = 5 ,     total = 15
x = 6 ,     total = 21
x = 7 ,     total = 28

ويوضح المثال السابق إمكانية وجود جملة مركبة مع دوران ، المثال القادم هو تعديل للمثال السابق و يوضح أنه يمكن وجود أكثر من تعبير في  initialize expression 

مثال 
    
#include <stdio.h>
main ()
{
            int x , sum;
            for ( x = 0 , sum = 0 , x < 10 , x ++ );
                           {
                               sum + = x;
             printf (" x  = %d , sum = %d \n" , x , sum);
                            }
}

وكما هو واضح في هذا المثال فإنه يوجد تعبيرين في التعبير الخاص بإعطاء القيم الأولية initialize expression حيث تم إعطاء قيمة ابتدائية لكل من المتغيرين x , sum 

ويمكن أيضاً أحد التعبيرات الثلاثة الموجودة في loop expression أن يكون خالياً.

نستكمل في المحاضرة القادمة المزيد من الأمثلة و الشرح لها ..
هل اعجبك الموضوع :

تعليقات