حلقة بشرط. بيان while
عند دراسة حلقة
for
، قلنا أنه إذا كان عدد التكرارات لأي إجراءات معروفًا ، فيمكنك تقصير البرنامج باستخدام
لـ
حلقة التشغيل. ولكن ماذا لو كان عدد التكرارات غير معروف؟ وهذا يحدث كثيرًا.
نبسب ؛
مثال h6>
عند تذكر ترجمة عدد من نظام الأعداد العشرية إلى أي نظام آخر ، نحتاج إلى قسمة الرقم (ثم نتيجة القسمة) على قاعدة نظام الأرقام حتى نحصل على صفر في الإجابة. كم مرة سنشاركها غير معروف. وهناك الكثير من البرامج التي تنفذ مثل هذه الخوارزمية. & nbsp؛
كيف يمكننا تنفيذ الخوارزمية إذا كنا لا نعرف بالضبط عدد التكرارات؟
لمثل هذه الحالات في البرمجة ، هناك تعليمة حلقة بها شرط. & nbsp؛
في لغة برمجة بايثون ، تبدأ تعليمة الحلقة الشرطية بالكلمة بينما
ولها البنية التالية.
while (& lt؛ condition & gt؛) & nbsp؛
{
نبسب ؛ حلقة الجسم
}
كما نعلم بالفعل:
- الشرط tt> هو تعبير يمكن تقييمه إلى صواب أو خطأ (كما في الجملة الشرطية) ؛
- جسم الحلقة هي أوامر يجب تكرارها ، يتم وضع مسافة بادئة لها.
كيف يعمل عامل التشغيل؟ strong>
1. أولاً ، يقوم البرنامج بتقييم الشرط بين قوسين بعد كلمة while
. إذا تم استيفاء الشرط (صواب) ، فسيقوم البرنامج بتنفيذ العبارة (العبارات) الموجودة في جسم الحلقة.
2. بعد اكتمال تنفيذ جسم الحلقة ، يعود البرنامج لفحص الحالة وفحصها مرة أخرى.
3. تتكرر هذه الإجراءات (فحص الشرط - تنفيذ جسم الحلقة) حتى يصبح الشرط خاطئًا.
4. إذا لم يتم استيفاء الشرط على الفور (خطأ) أثناء التنفيذ الأول لهذه العبارة ، فلن يقوم البرنامج مطلقًا بتنفيذ جسم الحلقة.
عند تحليل عمل هذا المشغل ، يجب أن يتضح أن جسم الحلقة يجب أن يحتوي على عامل يؤثر على الحالة.
على سبيل المثال ، في الحلقة ، يمكن زيادة قيمة المتغير المستخدم في شرط.
مثال على برنامج نسميه & quot؛ عدد صامت & quot؛ .
لنجعل البرنامج يحسب بدلاً منا ، على سبيل المثال ، حتى 10.
يجب أن يخرج البرنامج العبارات & quot؛ Start
& quot؛ و & quot؛ إنهاء code> & quot ؛، وبين هذه الإجراءات اعرض الأرقام التي يتم حسابها.
على سبيل المثال ، مثل هذا:
ابدأ
1 2 3 4 5 6 7 8 9 10
إنهاء
سيبدو البرنامج الذي يستخدم حلقة while
بالشكل التالي:
# include & lt؛ iostream & gt؛
استخدام اسم للمحطة؛
رئيسي()
{
إنت أنا
كوت & lt؛ & lt؛ "ابدأ \ n" ؛
أنا = 1 ؛
بينما (i & lt ؛ = 10)
{
كوت & lt؛ & lt؛ أنا & lt ؛ & lt ؛ & quot؛ & quot ؛؛
أنا ++ ؛ // العامل الذي يؤثر على تغيير المتغير في الحالة
}
كوت & lt؛ & lt؛ & quot؛ \ n إنهاء & quot ؛؛
}
في هذا البرنامج ، نخصص قيمة للمتغير i = 1
- نقطة البداية.
علاوة على ذلك ، طالما لدينا قيمة المتغير i
ليست أكبر (أي أقل من أو يساوي) القيمة التي نحتاجها ، فإننا: & nbsp؛
نبسب ؛ 1. عرض قيمة المتغير i
؛
نبسب ؛ 2. قم بزيادة قيمة المتغير i
بمقدار 1 - يؤثر هذا العامل على قيمة الشرط بين قوسين. تتم زيادة المتغير i
، مما يعني أنه في مرحلة ما سيصبح الشرط i & lt؛ = 10
خطأ. سيحدث هذا عندما يصبح i
مساويًا لـ 11. في هذه الحالة ، لن يتم تنفيذ جسم الحلقة ، وسيقوم البرنامج بتنفيذ العبارة التالية بعد الحلقة ، أي cout & lt؛ & lt؛ & quot؛ \ n إنهاء & quot؛
.