وليد الشهري
وليد الشهري

@Waleed_S_7

7 تغريدة 11 قراءة Oct 12, 2021
من المفردات الشهيرة الخاصة بتنفيذ الحلقات أو العمليات التكرارية (loops) في البرمجة:
1- while
2- do - while
فما الفرق بينهما؟
العمليات التكرارية (iterative operations) تحتوي على شرط، وطالما أنّ هذا الشرط متحقق (true) فسوف يتم تكرار التنفيذ، ولن يتوقف ذلك التكرار حتى ينتفي الشرط أو يبطل (false)، وهذا الأمر ينطبق على كل الكلمات الخاصة بالتكرار، بما في ذلك "while" و "do-while".
إلّا أنّ الفرق بينهما يكمن في أنّ "while" سوف تختبر صحّة الشرط قبل أن تبدأ عمليّة التنفيذ (pretest)، فإذا كان الشرط خاطئًا من البداية (false) فلن تقوم بالتنفيذ أبدًا، وسوف تتجاهل الأكواد المرتبطة بالشرط.
في حين أنّ "do - while" تقوم بتنفيذ الأكواد المرتبطة بالشرط لمرّة واحدة على الأقل، وذلك بصرف النظر عن صحّة الشرط من عدمها، ثم تقوم بعملية التحقق من صحة الشرط بعد التنفيذ للمرة الأولى (posttest)، وعندها تتطابق طريقة عملها مع "while".. لنضرب مثالًا لكل منهما حتى تتضح الصورة..
لو ذهبتَ بسيارتك إلى مكان مخصص لغسيل السيارات، ثم قلت للموظف: "اغسل سيارتي، وكرر طالما أنّها لم تتنظّف بالكامل". في هذه الحالة فإنّ الموظف سيغسل السيارة لمرة واحدة على أيّة حال، ثم بعد ذلك سيتحقق من كونها تنظّفت بالكامل، وإلّا سيكرّر عمليّة الغسيل.. هذا مثال على "do - while".
لكنك لو قلت: "طالما أن سيارتي ليست نظيفة بالكامل، كرر الغسيل". ففي هذه الحالة قد ينظر الموظف إلى السيارة ليجدها نظيفة بالكامل ولا تحتاج إلى غسيل،فيخبرك بأنه لن يغسل السيارة لأنها نظيفة، وقد تحتاج السيارة إلى غسيل فيقوم الموظف بغسلها، ويكرر العملية إذا لزم الأمر.. وهذه هي "while".
انتهى.

جاري تحميل الاقتراحات...