أخر الاخبار

عبارة For Loop التكرارية الاعتيادية - تعلم البرمجة بلغة C بلس بلس


في الدروس السابقة تعلمنا أن البرنامج يبدأ بالتنفيذ خطوة خطوة دون تكرار إي خطوة إلى أن يصل إلي نهاية البرنامج وكذلك في حال وجود جمل " if" الشرطية في البرنامج قد يكون بسببها هناك استثناء بعض الخطوات من التنفيذ إذا لم يتحقق الشرط. .والسؤال هنا ماذا لو أردنا تكرار خطوة أو أكثر من خطوة لأكثر من مرة لسبب ما ؟ كيف نعمل ذالك ؟ هذا ما تؤديه الدوال التكرارية التي سنتعلمها ومنها عبارة "For"

الـ For هي عبارة تكرارية تستخدم لتكرار خطوة في حالة لم نضع أقواس أو مجموعة خطوات في حال حصرها بين قوسي لعدد معين من المرات يحددها المبرمج . ويكون شكلها العام:

- Initializing : هي القيمة البدائية المعطاة للمتغير التي منها سيبدأ العد ( مثلاً i = 0).
- Boolean_Expression : هو شرط التوقف الذي عندما تصبح قيمة المتغير غير محققة لشرط التوقف سوف يخرج من عبارة For.
" بمعنى أخر مادام نتيجة اختبار Boolean_Expression هي  (True) العبارة التكرارية تستمر بالتكرار وعندما تصبح (False) يخرج من العبارة التكرارية. مثلاً ( i>5 ) هو شرط التوقف مثلا يبدأ العد من الواحد سيتوقف إذا أصبح (i=5) لأنه نتيجة المقارنة (False).
- Update : هي مقدار الزيادة أو النقصان في قيمة المتغير في كل دورة (Loop). مثلاً (++i) او (--i) ولا يختلف إذا كان الشرط ( i++ or ++i , --i or i--) لأنه في كل الحالات لا تزداد قيمة العداد إلا بعد تنفيذ الجمل بين قوسي العبارة التكرارية مؤثراً على شرط التكرار في الدورة الجديدة التي تليه.
- statement : هي الخطوات البرمجية التي ستنفذ عدد من المرات .إذا كانت عبارة عن خطوة برمجية واحدة فليس بحاجة لوضعها داخل أقواس وإذا كانت أكثر من خطوة يجب وضعها داخل أقواس.


كيف تعمل عبارة For التكرارية........؟



أن المتغير يبدأ بقيمة بدائية Initializing ويستمر بالزيادة أو النقصان حسب Update إي قد يزداد أو ينقص بمقدار واحد أو أكثر من واحد ومتى ما أصبح قيمة المتغير غير محققة للشرط Boolean_Expression يخرج من العبارة التكرارية إلى الخطوات البرمجية التي تليه. وإذا كانت محققة للشرط ينفذ الخطوات البرمجية التي داخل العبارة التكرارية.

مثال: لو أردنا عداد يعد من 0 الى 4 إي يطبع على شاشة التنفيذ من ( 4 3 2 1 0 ) ؟

توضيح الخطوات:

1- .خطوة رقم (1) عرفنا متغير (i) من نوع integer.
2- .خطوة رقم (2) هي عبارة تكرارية بما إننا نريد العد من الصفر فأعطينا القيم البدائية صفر .والعد يصل إلى 4 معناه شرط التوقف أن يكون اقل من خمسة بما إننا نريد أن يعد خمس عدات بين صفر والأربعة لذالك يجب أن يكون مقدار الزيادة واحد ليعد من 0 الى 4 .لان لو جعلنا مقدار الزيادة 2 مثلا فسيعد العداد ثلاث مرات وبشكل التالي 4-2-0 لذالك يجب التركيز في هذه المواضيع جيداً.



لو تلاحظ المخطط الخاص بالبرنامج عندما يحقق الشرط يتجه لخطوة الطباعة وإذا لم يحقق يخرج من جملة تكرار.


3 - .خطوة رقم (3) هي طباعة قيمة المتغير عند كل ( Loop ) وبما أن الذي يتبع العبارة التكرارية سطر واحد فليس بحاجة لوضعه بين قوسين تضمين {} .


مثال: لو أردنا عداد يعد من 4 الى 0  إي يطبع على شاشة التنفيذ (0 1 2 3 4 ) ؟

حلها نفس حل السؤال السابق فقط نقلب العداد إي نجعل قيمته البدائية هي 4 وشرط التوقف اكبر أو يساوي صفر ويتناقص بمقدار واحد كل عدة.