الحلقة do...while التكرارية في أردوينو

من موسوعة حسوب
مراجعة 05:26، 9 أكتوبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تعمل الحلقة do...while التكرارية بنفس الطريقة التي تعمل بها الحلقة while باستثناء أنه يُتحقق من الشرط في نهاية الحلقة وليس في بدايتها. هذا يعني أنَّ الحلقة ستُنفَّذ مرة واحدة على الأقل.

البنية العامة

do
{
    // الكتلة البرمجية المراد تكرار تنفيذها
} while (condition);

الشرط condition هو تعبير منطقي وسيُقيَّم على أنه إمَّا true أو false.

أمثلة

مثالٌ عن استعمال الحلقة do...while في قراءة قيمةٍ من حساس وانتظار بلوغها حدًّا معيَّنًا:

do
{
  delay(50);          // انتظار استقرار قيمة الحساس
  x = readSensors();  // قراءة قيمة الحساس

} while (x < 100);

انظر أيضًا

  • الكلمة المفتاحية break: تُستعمَل للخروج من الحلقات التكرارية، إذ تتخطى الشيفرة التي بعدها وشروط الحلقة المحددِّة وتخرج منها.
  • الكلمة المفتاحية continue: تتخطى الشيفرة التي تليها في حلقة التكرار إلى عملية التحقق من التعبير الشرطي لتلك الحلقة ثم يُستأنَف عمل حلقة التكرار بشكل طبيعي.
  • الكلمة المفتاحية else: يسمح بالتحكم بشكل أوسع بتسلسل عملية التحقق من عدة شروط معينة عند تنفيذ الشيفرة عوضًا عن التحقق من شرط وحيد عند استعمال التعبير if.
  • الحلقة for: تُستعمَل لتكرار كتلة برمجية معينة من الشيفرة عددًا محدَّدًا من المرات.
  • الكلمة المفتاحية goto: ينقل البرنامج إلى موضع معين ضمن الشيفرة.
  • التعبير الشرطي if: يتحقَّق من شرط معيَّن وينفِّذ الكتلة البرمجية المكتوبة ضمنه إن كان محقَّقًا (أي كانت قيمته true).
  • الكلمة المفتاحية return: تقاطع المفتاحية تنفيذ أيَّ دالةٍ وتعيد قيمةً من الدالة إلى من استدعاها إن حدُّدت.
  • التعبير switch...case: يتحقَّق -كما في if- من قيمة محدَّدة بطريقة تسمح للمبرمج بتحديد عدة شيفرات تُنفَّذ إحداها بناءً على تلك القيمة المفحوصة.
  • الحلقة while: تكرِّر تنفيذ الكتلة البرمجية التي ضمنها بشكل مستمر ولا نهائي ما دامت قيمة الشرط المنطقي المعطى هي true ومتى ما أصبحت قيمة الشرط المنطقي false، تتوقف الحلقة وتخرج.

مصادر