•الدوارة for
تستخدم لتكرار تنفيذ عملية عدد محدد من المرات و تأخذ الصيغة العامة التالية:
For(initial- value; condition; increment)
statements;
حيث:
initial-value هي القيمة الابتدائية
condition هو شرط إنهاء التكرار
increment هي قيمة الزيادة الدورية
و معناها إبداء العد من القيمة الابتدائية (initial-value) طالما أن الشرط (condition) صحيح و مقدار الزيادة كل مرة هو increment.
تنفيذ أكثر من جملة مع for:
في جملة for السابقة كنا نطلب تكرار تنفيذ جملة واحدة عدد محدد من المرات لكن ما هو العمل إذا كان المطلوب تكرار تنفيذ أكثر من جملة لعدد محدد من المرات. بعبارة أخرى تكرار تنفيذ بلوك كامل داخل البرنامج أكثر من مرة هذا ما سنحاول الإجابة عليه فيما يلي:
لو أردنا تنفيذ أكثر من جملة لعدد محدد من المرات يجب وضع القوس} في بداية البلوك المراد تكراره و وضع القوس{ في نهاية البلوك.
لدوارات المتداخلة باستخدام for :
الدوارات المتداخلة عبارة عن دوارة كبيرة تشتمل بداخلها على دوارة أو أكثر بمعنى أن مجموعة التعليمات الموجودة بالدوارة الداخلية يتكرر تنفيذها طالما لم ينته العداد فإذا انتهى ينتقل التنفيذ إلى الدوارة الخارجية و يتكرر تنفيذ تعليمات الدوارة الخارجية حتى ينتهي العداد المحدد لها. و تشبه فكرة الدورات المتداخلة فكرة عمل عقارب الساعة فتجد عقرب الثواني يدور 60 دورة فيدور عقرب الدقائق بمقدار دقيقة و هكذا.
الدوارة اللانهائية باستخدام for :
ومعناها تكرار تنفيذ الجملة بدون شرط و لا يتوقف التنفيذ حتى يضغط المستخدم Ctrl+c أو Ctrl+break و تأخذ الدوارة اللانهائية باستخدام for الصورة (;;)for
تعليق :-
هبة احمد السعيد امين
20 مايو، 2011 6:52 ص
غير معرف يقول...
•الدوارة while:تستخدم الدوارة while لتكرار تنفيذ جملة أو مجموعة جمل عدد من المرات غير معلوم العدد و إنما يتوقف هذا العدد على شرط موجود بالدوارة و تأخذ الدوارة while الصورة التالية:
while(condition)
statement;
و معناها طالما أن الشرط (condition) صحيح نفذ الجملة (statement)
و هي تقوم بتكرار الجملة أو مجموعة الجمل التابعة لها طالما كان شرط التكرار صحيح و عندما يصبح شرط التكرار غير صحيح يتوقف تنفيذ الدوارة.
الفرق بين for و while
الدوارة for دوارة عددية حيث تعتمد على العداد و ينتهي التكرار فيها بانتهاء عدد مرات التكرار أما الدوارة while فدوارة شرطية أي تعتمد على الشرط الذي يلي الأمر while حيث تتكرر الجمل التي تليها طالما كان الشرط صحيحاً و تنتهي الدوارة بكسر هذا الشرط. و بالتالي الاستخدام الأمثل للدوارة for هو تكرار عملية أكثر من مرة بشرط أن يكون عدد مرات التكرار معلوم و الاستعمال الأمثل للدوارة while هو التكرار بناء على شرط معين.
الدوارة do...while
تستخدم الدوارة do...while لتكرار تنفيذ جملة أو مجموعة جمل أكثر من مرة بناء على شرط معين كما هو الحال مع الدوارة while و لكن الفرق بينهما أن الدوارة while تختبر الشرط أولاً فإذا كان صحيحاً تنفذ الجمل التالية لها و إلاّ فلا، أما الدوارة do ...whileفتنفذ الجمل التالية لها أولاً ثم تختبر الشرط. فإذا كان صحيحاً تعيد التنفيذ و إلاّ توقف التكرار.
و تأخذ الدوارة الصيغة:
do
{
statement1;
} while (condition);
و معناها do أي نفذ الجمل التالية وهي statment1 و ما يليها طالما كان الشرط (condition) صحيحاً.

حلقات التكرار هي مهمة في صنع برامج محكمة وقوية مثل برمجة الكثير من البرامج مثل الالعاب وبرمجة مواقع الانترنت مثل الفيسبوك او جوجل وغيرها ولا يخلو برنامج من هذه العملية (عملية التكرار) وهي موجودة في جميع لغات البرمجة عدا عن بعض الغات البسيطة والبدائية مثل html وغيرها من لغات الصغيره والمحدوده , وعملية التكرار هذه لها عدة اكواد برمجية يتشابهون نوعا ما ويؤدون نفس العملية الا ان الامر لا يخلو من بعض الفروق البسيطة بينها
حلقات التكرار تمر عليك كثيرا دون ان تدري مثلا عندما تدخل الفيسبوك وتود تسجيل الدخول وتكتب الاميل او الباسوورد بشكل خاطئ ما الذي يحدث؟ يقول لك الفيسبوك عبر رسالة انك ادخلت الاميل او الباسوورد بشكل خاطئ ويعيدك الى كتابت الاميل والباسوورد من جديد واذا اخطئة مره اخرى يعيدك مره اخرى يبقى يعيدك كل ما اخطئة ويظهر لك راسلة تنص على ان المدخلات خاطئة ولا يتحقق الدخول الا بكتابة المدخلات بشكل صحيح 100% .
حلقات التكرار هي ثلاثة :
1-الحلقة for
2-الحلقة do while
3-الحلقة while




ياخذ قيمة اكس وهي صفر وهي القيمة البدائية للعداد اي يبدء العد هكذا 0-1-2-3-4 ... 10 ... ويكمل الان البرنامج علم انه سوف يبدء العد من الصفر وما فوق , ثم يدخل العملية التالية وهي x 20 وهذا الشرط بمعنى ان الحلقة سوف تبقى تعيد نفسها ما دام اكس اقل من عشرين ثم يدخل العملية الثالثة وهي x++ اي زد اكس بمقدار 1 كل دوره يعني عشرين دوره يصبح اكس يساوي 20
اذهب الي الرقم وانظر الي شكل الكود البرمجي 100000000000000000000000000000000
الان يصل البرنامج الي القوس المنبعج {
وهو قوس البداية الاوامر التي انت تريدها ان تنفذ ثم يدخل الي الاوامر اول امر هو x++ يعني زد قيمة اكس بمقدار واحد طبعا بامكاننا ان نامر ان يزداد اكس بمقدار 2 او 3 او 4 او10 ... الي ما لا نهاية هكذا x+2 او x+3 او x+4 او x+100 او x+50000 , ثم بعد الزيادة ينتقل الي الجملة التي تليه اذهب الي الكود وانظر الي cout x; اي اطبع قيمة اكس على الشاشة وسوف يطبع في اول دوره الرقم واحد 1 لان اكس زاد 1 فقط ثم يصل البرنامج الي قوس النهاية } ولاكن مهلا هل تحقق ما نريد ؟ لا! لانه ما زال اكس اقل من 20 واكس الان يحمل الرقم واحد فقط ثم يعود البرنامج من قوس النهاية الى الحلقة بداية الحلقة for ويقرء الشرط ثم يدخل الي الاوامر ويزداد اكس واحد ويصبح قيمتة 2 ثم ينتهي البرنامج ثم يعود الى الحلقة for ويرى انه ما زال اكس اقل من عشرين ثم يدخل الي الاوامر ويزيد اكس مره اخرى بمقدار 1 ثم يصبح اكس قيمتة 3 وهكذا الي ان يصل الي 20 ويتوقف البرنامج .
2-الحلقة do while