الفرق بين حلقة while و do-while في لغة C
الاختلافات الرئيسية بين حلقة while وdo-while في لغة C
- بينما تتحقق الحلقة من الشرط أولاً ثم تنفذ العبارة (العبارات)، بينما تقوم حلقة do while بتنفيذ العبارة (العبارات) مرة واحدة على الأقل، ثم يتم التحقق من الشرط.
- في حين أن الحلقة هي حلقة يتم التحكم في الدخول فيها، في حين أن القيام بها هو خروج من الحلقة التي يتم التحكم فيها.
- في حلقة while، لا نحتاج إلى إضافة فاصلة منقوطة في نهاية شرط while، لكننا نحتاج إلى إضافة فاصلة منقوطة في نهاية شرط while في حلقة do while.
- بينما يتم تنفيذ عبارة (عبارات) الحلقة صفر مرة إذا كان الشرط خاطئًا، في حين يتم تنفيذ عبارة (do-while) مرة واحدة على الأقل.
- بينما تسمح الحلقة بتهيئة متغير العداد قبل بدء جسم الحلقة، بينما تسمح حلقة do while بتهيئة متغير العداد قبل وبعد بدء جسم الحلقة.
ما هي الحلقات؟
تقوم الحلقة بتنفيذ تسلسل العبارات عدة مرات حتى يصبح الشرط المذكور خاطئًا. أ حلقة يتكون من جزأين، جسم الحلقة وبيان التحكم. بيان التحكم عبارة عن مزيج من بعض الشروط التي توجه جسم الحلقة للتنفيذ حتى يصبح الشرط المحدد خاطئًا. الغرض من الحلقة هو تكرار نفس الكود عدة مرات.
ما هي بينما لوب؟
تعتبر حلقة while هي البنية الحلقية الأكثر وضوحًا. إنها حلقة يتم التحكم فيها بالدخول. في حلقة while، يتم تقييم الحالة قبل معالجة جسم الحلقة. إذا كان الشرط صحيحًا، عندها فقط يتم تنفيذ جسم الحلقة.
بعد تنفيذ جسم الحلقة، يعود عنصر التحكم مرة أخرى إلى البداية، ويتم التحقق من الحالة. فإذا كان صحيحا، يتم تنفيذ نفس العملية حتى يصبح الشرط خطأ. بمجرد أن يصبح الشرط خاطئًا، يخرج التحكم من الحلقة.
في حلقة while، إذا كان الشرط غير صحيح، فلن يتم تنفيذ جسم الحلقة، ولا حتى مرة واحدة.
ما هي حلقة Do-While؟
حلقة Do-while تشبه حلقة while فيما عدا أن الشرط يتم تنفيذه دائمًا بعد جسم الحلقة. وتسمى أيضًا حلقة يتم التحكم فيها بالخروج.
في حلقة do-while، يتم تنفيذ نص الحلقة دائمًا مرة واحدة على الأقل. بعد تنفيذ النص، يتحقق من الشرط. إذا كان الشرط صحيحًا، فسينفذ نص الحلقة مرة أخرى. وإلا، يتم نقل التحكم خارج الحلقة.
بناء جملة حلقة while في لغة C
فيما يلي بناء جملة حلقة while في برمجة C:
while (condition) { statements; }
في الحلقة while، علينا كتابة شرط يحتاج إلى تقييم. تشير العبارة الموجودة داخل الأقواس المتعرجة إلى الكود الذي سيتم تنفيذه.
بناء جملة Do while Loop في C
إليك بناء جملة Do while تكرارًا البرمجة C:
do { statements } while (expression);
في حلقة do-while، نحتاج أولاً إلى كتابة العبارة داخل أقواس متعرجة، والتي تشير إلى الكود الذي سيتم تنفيذه. وبعد هذا لا بد أن نذكر Java، ج، أو C++ تعبيرات البرنامج التي تحتاج إلى تقييم.
كيف تعمل الحلقة؟
بينما تعمل الحلقة على النحو التالي:
شرح مخطط التدفق:
الخطوة 1) بداية حلقة while
الخطوة 2) يتم تقييم تعبير الاختبار أو الشرط
الخطوة 3) بعد ذلك، إذا كان تعبير الاختبار صحيحًا، فسيقوم البرنامج بتنفيذ نص حلقة do-while
الخطوة 4) إذا كان تعبير الاختبار خاطئًا، فسيتم تنفيذ البرنامج الموجود خارج الحلقة
كيف تعمل حلقة Do-While؟
تعمل حلقة Do-while على النحو التالي:
شرح مخطط التدفق:
الخطوة 1) ابدأ حلقة "افعل أثناء".
الخطوة 2) يتم تنفيذ نص حلقة do-while
الخطوة 3) يتم تقييم تعبير الاختبار أو الشرط
الخطوة 4) إذا كان تعبير الاختبار صحيحًا، فسيقوم المترجم بتنفيذ نص حلقة do-while
الخطوة 5) بعد ذلك، إذا كان تعبير الاختبار خاطئًا، فسيقوم المترجم بتنفيذ العبارات بعد نص الحلقة
الخطوة 6) يتم تنفيذ البيانات التي تأتي بعد نص الحلقة
بينما مقابل Do-While Loop: الفرق بينهما
فيما يلي فرق مهم بين while وDo while Loop:
بينما | افعل اثناء |
---|---|
يتحقق من الشرط أولاً ثم ينفذ البيان (العبارات) | ستقوم هذه الحلقة بتنفيذ العبارة (العبارات) مرة واحدة على الأقل، ثم يتم التحقق من الشرط. |
بينما تسمح الحلقة بتهيئة متغيرات العداد قبل بدء جسم الحلقة. | تسمح حلقة Do while بتهيئة متغيرات العداد قبل وبعد بدء جسم الحلقة. |
إنها حلقة يتم التحكم فيها عند الدخول. | إنها حلقة يتم التحكم فيها بالخروج. |
لا نحتاج إلى إضافة فاصلة منقوطة في نهاية شرط while. | نحن بحاجة إلى إضافة فاصلة منقوطة في نهاية شرط while. |
في حالة وجود عبارة واحدة، نحتاج إلى إضافة أقواس. | Brackets هناك حاجة دائما. |
في هذه الحلقة، يتم ذكر الشرط في بداية الحلقة. | يتم تحديد حالة الحلقة بعد تنفيذ الكتلة. |
يمكن تنفيذ العبارة (العبارات) صفر مرة إذا كان الشرط خاطئًا. | يتم تنفيذ البيان مرة واحدة على الأقل. |
بشكل عام، تتم كتابة الحلقة على النحو التالي:
while (condition) { Statements; // loop body } |
بشكل عام، يتم كتابة الحلقة على النحو التالي:
do{ Statements; //loop body } while (condition); |
بينما حلقة المثال في C
يوضح البرنامج التالي حلقة while في برمجة C باستخدام مثال:
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable with value 1 while(num<=4) //while loop with condition { printf("%d\n",num); num++; //incrementing operation } return 0; }
الإخراج:
1 2 3 4
يوضح البرنامج أعلاه استخدام حلقة while. في الكود أعلاه، قمنا بطباعة سلسلة من الأرقام من 1 إلى 4 باستخدام حلقة while.
لقد قمنا بتهيئة متغير يسمى num بالقيمة 1. سنقوم بالطباعة من 1 إلى 4. وبالتالي تتم تهيئة المتغير بالقيمة 1. إذا أردنا الطباعة من 0، فقم بتعيين القيمة 0 أثناء التهيئة.
بعد ذلك، في حلقة while، قدمنا الشرط (num<=4)، مما يعني أن الحلقة ستنفذ الجسم حتى تصبح قيمة num 4. بعد ذلك، سيتم إنهاء الحلقة، وسيقع التحكم خارج نطاق حلقة while. حلقة.
في جسم الحلقة، لدينا دالة طباعة لطباعة رقمنا وعامل زيادة لزيادة القيمة لكل تنفيذ للحلقة.
القيمة الأولية num هي 1، وبعد التنفيذ ستصبح 2، وأثناء التنفيذ التالي ستصبح 3. وستستمر هذه العملية حتى تصبح القيمة 4، وبعد ذلك ستطبع السلسلة على وحدة التحكم وتنتهي الحلقة.
هل أثناء حلقة المثال في C
البرنامج التالي هو مثال لحلقة Do-while لطباعة جدول رقم 2 في C:
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable with value 1 do //do-while loop { printf("%d\n",2*num); num++; //incrementing operation } while(num<=4); return 0; }
الإخراج:
2 4 6 8
في المثال أعلاه، قمنا بطباعة جدول ضرب العدد 2 باستخدام حلقة do-while. أولاً، قمنا بتهيئة المتغير "num" بالقيمة 1. ثم قمنا بكتابة حلقة do-while.
في الحلقة، لدينا وظيفة طباعة تقوم بطباعة السلسلة عن طريق ضرب قيمة num في 2. بعد كل زيادة، ستزيد قيمة num بمقدار 1، وسيتم طباعتها على الشاشة.
في البداية، قيمة num هي 1. في نص الحلقة، سيتم تنفيذ وظيفة الطباعة بهذه الطريقة: 2*num حيث num=1، ثم 2*1=2.
ومن ثم سيتم طباعة القيمة 2. سيستمر هذا حتى تصبح قيمة num 10. بعد ذلك، سيتم إنهاء الحلقة، وسيتم تنفيذ العبارة التي تأتي مباشرة بعد الحلقة. في هذه الحالة سوف يعود 0.
أي واحد يجب أن نختار؟
عند التحقق من شرط ما، إذا كان التكرار الأول إلزاميًا، فسنحتاج إلى استخدام حلقة while. ويمكن استخدامه أيضًا إذا كان عدد التكرارات غير معروف أو غير مؤكد.
يتطلب تنفيذ الحلقة بشكل أساسي في الحالة التي يتعين علينا فيها تنفيذ الحلقة مرة واحدة على الأقل. عادةً ما تكون حلقة do-while مطلوبة في لغة برمجة تعتمد على القائمة حيث يعتمد الشرط النهائي على المستخدم النهائي.