دعنا نتعرف معا بالتفصيل على هذه القاعدة :
1- في السطر الأول نكتب كلمة for ثم نفتح قوس ونكتب في أول خانة عبارة التمهيد وهي تنفذ مرة واحدة عند بداية التكرار كما في المثال السابق x=0
2- في الخانة الأخرى نكتب الشرط الذي سوف يمثل استمرار التكرار كما في المثال السابق x 100 بحيث يختبر هذا الشرط في كل مرة يقوم بالتكرار ، فإذا كان الشرط صحيحا فإن التكرار سيستمر أما إذا كان خاطئا فسيتوقف التكرار .
3- أما في الخانة الأخيرة نكتب عبارة الزيادة وهي تنفذ بعد كل تكرار كما في المثال السابقx++ وبذلك سوف تقوم بزيادة قيمة المتغير وسوف يقوم بزيادة قيمة المتغير بمقدار واحد.
ثم يأتي القوس { ومن بعده نكتب الأوامر التي نريد تنفيذها كما في المثال السابق، وهي سوف تتكرر مائة مرة ، طبعا نستطيع وضع اكثر من عبارة ، وأخيرا كل ما علينا هو أن نغلقها بالقوس }
ملاحظة: إذا كنا نريد تكرار الأمر مرة واحدة فقط ، فنحن بإمكاننا التخلي عن الأقواس { و } ، أما في حالة كتابة اكثر من أمر فيجب وضع الأقواس
التكرار while
وهذا التكرار يقوم بتكرار غير محدد من المرات حتى يتحقق شرط معين ، والقاعدة الأساسية لهذا التكرار هي :
while(الشرط)
{
………….;
…………الأوامر;
دعنا نتكلم بالتفصيل عن هذا التكرار:
1- عند كتابة الشرط فإن البرنامج سوف يقوم بتكرار الأوامر ما دام الشرط صحيحا ، أما إذا كان الشرط خاطئا فإن التكرار سوف يتوقف ، ففي المثال السابق نستطيع القول بأنه ما دام الرقم اقل من 99 فإن العبارة سوف تطبع .
2- بعد طباعة الجملة سوف ينتقل إلى العبارة الأخرى وهي num++ وبذلك سوف يزيد الرقم .
3- وهكذا سوف تتم تكرار العبارة إلى إن تصل إلى الرقم 99 ومن بعدها سوف يتوقف التكرار.
تكرار do...while
وهذا التكرار يعتبر شديد الشبه بابن عمه while ولكن كل الاختلاف في مكان كتابة الشرط ، وهنالك ميزة لهذا التكرار ،إن ميزة هذا التكرار تتمثل في أنه يقوم بطباعة الأمر مرة واحدة على الأقل حتى ولو كان الشرط خاطئا ….لان الشرط يمر به في نهاية التكرار بعكس الأنواع الأخرى من التكرارات.
القاعدة الأساسية لهذا التكرارهي:
do{
…………..;
………….;
الأوامر;
}while(الشرط)
دعنا نأخذ المثال التالي:
do{
printf("This is the three kind of loopn");
count++;
}while(count!=77)
والآن سوف نقوم بشرح هذا المثال:
1- حينما يبدأ هذا التكرار ، فهو سوف يمر بكلمة do ثم سيدخل جسم التكرار ، وسيقوم بطباعة العبارة الموجودة .
2- بعد هذا سوف يمر بالعبارةcount ++ وهي سوف تخبره بزيادة العداد مرة واحدة.
3- و أخيرا سوف يخرج من التكرار وسيمر بالشرطcount!=77وسوف يقوم باختبار الشرط فإذا كان يساوي 77 فإنه سوف يوقف التكرار ، أما إذا كان لا يساوي 77 فإنه سوف يعيد التكرار ويعيد طباعة الجملة ، وهكذا سوف يستمر بطباعة الجملة إلى أن يكون الشرط خاطئا ومن بعدها سوف يخرج من التكرار
ايمان الامام على الشبلى
قسم حاسب الى
الفرقه الرابعه
15 مايو، 2011 10:50 ص
حياه اسماعيل يقول...
التكرار ( الدورات) التفريغ
* التكرار Loop
1- الدوارة for : تستخدم لتكرار تنفيذ عملية عدد محدد من المرات
الصورة العامة : For ( initial – value ; condition ; increment ) ; statement ;
حيث :
initial – value : هى القيمة الابتدائية
condition : هو شرط إنهاء التكرار
increment : هى قيمة الزيادة الدورية
مثال : برنامج يطبع الأرقام من صفر إلى 9
** تنفيذ أكثر من جملة مع For : لتنفيذ أكثر من جملة لعدد محدد من المرات يجب وضع القوس { فى بداية البلوك المراد تكراره ووضع القوس } فى نهاية البلوك .
** الدوارات المتداخلة باستخدام For
- الدوارات المتداخلة عبارة عن دوارة كبيرة تشتمل بداخلها على دوارة أو أكثر
- بمعنى أن مجموعة التعليمات بالـ loop الداخلى يتم تكرار تنفيذها طالما لم ينته العداد فإذا أنتهى ينتقل التنفيذ إلى الدوارة الخارجية ويتم تكرار التعليمات فى الـ Loop الخارجى حتى ينتهى .
مثال : طباعة جدول الضرب من أول 1 × 1 إلى 12 × 12
ومن البرنامج السابق نجد أن الحلقة for بدأت بكلمة ( for ) متبوعة بقوسين
بينهما ثلاثة عبارات تفصل بينها علامة الفاصلة المنقوطة.
العبارة الأولى تخزن القيمة الابتدائية في العداد.
والعبارة الثانية هي الشرط وهنا الشرط أن قيمة العداد أقل من أو تساوي 20.
أما العبارة الثالثة فهي تحدد الخطوة، وفي هذا البرنامج يزاد العداد بمقدار
1 كل مرة تنفذ فيها الحلقة.
والبرنامج السابق ينتج عنه طباعة الأرقام من 1 إلى 20.
ملاحظات:
1- العبارات الثلاثة المكونة لحلقة for يجب أن تفصل عن بعضها بالفاصلة
المنقوطة، وهذا الخطأ من الأخطاء الشهيرة جدا في عالم البرمجة لذا وجب توخي
الحذر.
2- في حالة تكرار أكثر من أمر يتم استبدال العبارة التي تلي بداية الحلقة
for (في المثال السابق هي العبارة ( printf ( " %d",counter); ) ببلوك
يحتوي العبارات المراد تنفيذها.
الحلقة while ( while loop):
في هذه الحلقة التكرارية نحتاج إلى الشرط فقط وطالما كان هذا الشرط متحققا
استمرت الحلقة في التكرار..
والصورة العامة للحلقة while موضحة بالشكل التالي