اذهب إلى المحتوى

السؤال

نشر (معدل)

أعلم أن كلا الحلقتين للتكرار، for loop وَ While loop  لكن ما أريد معرفته هو سبب وجود الثانية إذا كانت إحداهما تفي بالغرض؟ ماهو الفرق بين استعمال كل منهما؟ هل هما متشابهتان؟

تم التعديل في بواسطة Badraoui

Recommended Posts

  • 2
نشر

نعم يوجد اختلاف بين حلقتي التكرار، فـ For loop تعتمد بشكل أساس على وجود عداد يتم في كل حلقة أخذ قيمة، سواء بشكل تصاعدي أو تنازلي، مثلاً:

for (int x = 0; x < 100; x++) {
   //سيتكرر هذا الأمر مئة مرة 
  //  سيأخذ جميع القيم من 0 إلى 99xأي أن المتغير 
// عند القيمة 99 سينفذ الكود الموجود داخل الحلقة ثم تنتهي حلقة التكرار هاته
}

في حين أن حلقة  while Loop رهينة بتحقق شرط معين، ولا يمكن أن تتكرر إلا حين تحقق هذا الشرط -أو تتحقق مرة واحدة فقط-،وهي تكتب على شكل كتابتين، مثال:

  • الكتابة الأولى:
int count = 0;
while (count < 100) {
  //count<100 لتتكرر الحلقة يجب تحقق الشرط أعلاه 
// count ثم تضاف قيمة إلى العداد 
  count++;
}
  • الكتابة الثانية:
int count=0;
do {
  //تنجز حلقة مرة ثم يتم التحقق من الشرط بعد ذلك
count+;
} while (count<100); 

والفرق بين نوعي while واضح، حيث أن النوع الأول يستلزم بالأساس تحقق الشرط للدخول للحلقة، في حين أن النوع الثاني تنجز الحلقة الأولى ليتبعها التحقق من الشرط.

والفرق بين for و while هو أن لكل منهما استعمالاته الخاصة، حيث أن for غالبا تستعمل في حال كانت قيمة العداد معروفة ونهائية، أما while تستعمل في الحالات التي يكون العداد غير محدد ويصعب تحديد مكان توقفه.

*ملاحظة: الأمثلة السابقة بلغة C.

Loops

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...