Module: بيان حلقة مع الشرط - while


Problem

1/20

بناء بيان حلقة بشرط (while)

Theory Click to read/hide

حلقة بشرط. بيان while
عند دراسة حلقة for ، قلنا أنه إذا كان عدد التكرارات لأي إجراءات معروفًا ، فيمكنك تقصير البرنامج باستخدام لـ حلقة التشغيل. ولكن ماذا لو كان عدد التكرارات غير معروف؟ وهذا يحدث كثيرًا.
نبسب ؛
مثال عند تذكر ترجمة عدد من نظام الأعداد العشرية إلى أي نظام آخر ، نحتاج إلى قسمة الرقم (ثم نتيجة القسمة) على قاعدة نظام الأرقام حتى نحصل على صفر في الإجابة. كم مرة سنشاركها غير معروف. وهناك الكثير من البرامج التي تنفذ مثل هذه الخوارزمية. & nbsp؛

كيف يمكننا تنفيذ الخوارزمية إذا كنا لا نعرف بالضبط عدد التكرارات؟

لمثل هذه الحالات في البرمجة ، هناك تعليمة حلقة بها شرط. & nbsp؛
في لغة برمجة بايثون ، تبدأ تعليمة الحلقة الشرطية بالكلمة بينما ولها البنية التالية.
while (& lt؛ condition & gt؛) & nbsp؛
{
نبسب ؛ حلقة الجسم
}

كما نعلم بالفعل:
- الشرط هو تعبير يمكن تقييمه إلى صواب أو خطأ (كما في الجملة الشرطية) ؛
- جسم الحلقة هي أوامر يجب تكرارها ، يتم وضع مسافة بادئة لها.

كيف يعمل عامل التشغيل؟
1. أولاً ، يقوم البرنامج بتقييم الشرط بين قوسين بعد كلمة while . إذا تم استيفاء الشرط (صواب) ، فسيقوم البرنامج بتنفيذ العبارة (العبارات) الموجودة في جسم الحلقة.
2. بعد اكتمال تنفيذ جسم الحلقة ، يعود البرنامج لفحص الحالة وفحصها مرة أخرى.
3. تتكرر هذه الإجراءات (فحص الشرط - تنفيذ جسم الحلقة) حتى يصبح الشرط خاطئًا.
4. إذا لم يتم استيفاء الشرط على الفور (خطأ) أثناء التنفيذ الأول لهذه العبارة ، فلن يقوم البرنامج مطلقًا بتنفيذ جسم الحلقة.

عند تحليل عمل هذا المشغل ، يجب أن يتضح أن جسم الحلقة يجب أن يحتوي على عامل يؤثر على الحالة.
على سبيل المثال ، في الحلقة ، يمكن زيادة قيمة المتغير المستخدم في شرط.

مثال على برنامج نسميه & quot؛ عدد صامت & quot؛ .
لنجعل البرنامج يحسب بدلاً منا ، على سبيل المثال ، حتى 10.
يجب أن يخرج البرنامج العبارات & quot؛ Start & quot؛ و & quot؛ إنهاء & quot ؛، وبين هذه الإجراءات اعرض الأرقام التي يتم حسابها.

على سبيل المثال ، مثل هذا:
ابدأ
1 2 3 4 5 6 7 8 9 10
إنهاء

سيبدو البرنامج الذي يستخدم حلقة while بالشكل التالي: باستخدام النظام ؛ برنامج الفصل { نبسب ؛ نبسب ؛ فراغ ثابت رئيسي () { نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ Console.WriteLine (& quot؛ Start & quot؛)؛ نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ int أنا = 1 ؛ نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ بينما (i ​​& lt ؛ = 10) { نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ Console.WriteLine (i) ؛ نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ أنا ++ ؛ نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ } نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ Console.WriteLine (& quot؛ Finish & quot؛)؛ نبسب ؛ نبسب ؛ } } في هذا البرنامج ، نخصص قيمة للمتغير i = 1 - نقطة البداية.
علاوة على ذلك ، طالما أن قيمة المتغير i & nbsp ؛ ليست أكبر (أي أقل من أو يساوي) القيمة التي نحتاجها ، فإننا:
على & nbsp؛ 1) عرض قيمة المتغير i ؛
& nbsp؛ 2) زيادة قيمة المتغير i & nbsp؛ بمقدار 1 - يؤثر هذا العامل على قيمة الشرط بين قوسين. يتم زيادة المتغير i & nbsp؛ ، مما يعني أنه في مرحلة ما سيصبح الشرط i & lt؛ = 10 خطأ. سيحدث هذا عندما تكون i & nbsp؛ مساوية لـ 11 . في هذه الحالة ، لن يتم تنفيذ جسم الحلقة ، وسيقوم البرنامج بتنفيذ العبارة التالية بعد الحلقة ، أي & nbsp؛ Console.WriteLine (& quot؛ Finish & quot؛) .

Problem

قم بتشغيل البرنامج وتحليل نتيجة عمله.