لماذا while فلأستعمل دائما for ..

لماذا while فلأستعمل دائما for ..

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

حلقة for تسمى الحلقة المحدودة لأننا نعلم عدد الدورات مسبقاً

أما الحلقات الأخرى فتسمى الحلقات غير المحدودة لأنك لا تعلم عدد الدورات مسبقاً فهو مجهول ومرتبط فقط في شرط الحلقة والذي لا تعلم عند أي دورة سينتهي

ومع أنه بالإمكان استخدام كل واحدة لتعمل عمل الأخرى إلا أنني أظن أن للأمر فرق متعلق بالكود المترجم من حيث الأداء والسرعة.

كم أن للأمر علاقة بالمقروئية ولهذا تجد في بعض اللغات أيضاً حلقة until ومع أنها نفس while أي غير محدودة إلا أن الفرق هو أن الشرط معكوس وأحدهم يستخدم الشرط عند الدخول والأخرى عند الخروج

مثل هذا الكود:

{

include

int main()

{

int sum = 0, value = 0;
while (std::cin >> value) 
    sum += value; 
std::cout << "Sum is: " << sum << std::endl;
return 0;

}

}

لكن التنفيذ لا يتم مع نهاية السطر إلا أن ندخل غير عدد..

حلقة for تسمى الحلقة المحدودة لأننا نعلم عدد الدورات مسبقاً

أما الحلقات الأخرى فتسمى الحلقات غير المحدودة لأنك لا تعلم عدد الدورات مسبقاً فهو مجهول ومرتبط فقط في شرط الحلقة والذي لا تعلم عند أي دورة سينتهي

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

ولكن في النهاية حلقة while هي أساس الحلقات، وfor هي فرع عنها.

لم نفهم شيئا. كوبي باست

ما جدوى while loop في وجود for loop ؟ هذا هو السؤال

مثلا في php اذا كنت لا تعلم عدد الحقول في الجدول نستخدم WHILE مثلا

while($row->fetch_assoc())

لكن بما انك تستخدم C++ Standard فلن تحس بالفرق

الــ while هي الأم لحلقات التكرار والــfor تعتبر حالة خاصة

وكلها في الأخير أدوات لتحسين الكود والتسهيل على المبرمج أثناء البرمجة أو عند الصيانة .. وقد تقوم أداة بعمل الأداة الأخرى

في جميع الحالات التي تحتاج فيها لحلقة تكرار (تستطيع استخدام while )

ولكن for تخدمك وتختصر عليك في بعض الحالات ...وهكذا