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


Problem

1/21

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

Theory Click to read/hide

عند دراسة الحلقة for ، قلنا أنه إذا كان عدد التكرارات لأي إجراءات معروفًا ، فيمكنك تقصير البرنامج باستخدام عامل التشغيل for loop. ولكن ماذا لو كان عدد التكرارات غير معروف؟ وهذا يحدث كثيرًا.
على سبيل المثال ، لنتذكر تحويل رقم من نظام رقم عشري إلى أي نظام آخر: نحتاج إلى قسمة الرقم (ثم نتيجة القسمة) على قاعدة نظام الأرقام حتى نحصل على صفر في الإجابة. كم مرة سنشاركها غير معروف. وهناك الكثير من البرامج التي تنفذ مثل هذه الخوارزمية. & nbsp؛
كيف يتم تنفيذ هذا؟
لمثل هذه الحالات في البرمجة ، هناك مشغل حلقة بشرط. & nbsp ؛
في لغة برمجة باسكال ، تبدأ تعليمة الحلقة الشرطية بالكلمة while ولها البنية التالية. <قبل> while & lt؛ condition & gt؛ لا تبدأ هيئة حلقة النهاية كما نعلم بالفعل:
- الشرط هو تعبير ، يمكن أن تكون نتيجته إما صحيحة أو خاطئة (كما في البيان الشرطي)
- جسم الحلقة هو الأوامر التي يجب تكرارها
- يمكن حذف start و end إذا كان جسم الحلقة يتألف من عامل تشغيل واحد فقط

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

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

مثال على برنامج نسميه "Silent Count"
لنجعل البرنامج يحسب بدلاً منا ، على سبيل المثال ، حتى 10.
يجب أن يخرج البرنامج عبارة "ابدأ" و "إنهاء" ، وبين هذه الإجراءات عرض الأرقام التي يتم حسابها.
مثل هذا
ابدأ
1 2 3 4 5 6 7 8 9 10
إنهاء
سيبدو البرنامج الذي يستخدم حلقة while loop بهذا الشكل. <قبل> var i: عدد صحيح ؛ يبدأ نبسب ؛ نبسب ؛ writeln (& # 39 ؛ Start & # 39 ؛) ؛ نبسب ؛ نبسب ؛ أنا: = 1 ؛ نبسب ؛ نبسب ؛ بينما أنا العلامة & lt ؛ = 10 تبدأ نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ اكتب (i ، & # 39 ؛ & # 39 ؛) ؛ نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ أنا + = 1 ؛ // العامل الذي يؤثر على تغيير المتغير في الشرط & nbsp؛ نبسب ؛ نبسب ؛ نبسب ؛ نهاية؛ نبسب ؛ نبسب ؛ writeln () ؛ نبسب ؛ نبسب ؛ writeln (& # 39 ؛ Finish & # 39 ؛) ؛ النهاية. في هذا البرنامج ، نخصص قيمة للمتغير i: = 1 - الأصل
علاوة على ذلك ، طالما لدينا قيمة المتغير i ليست أكبر من (أي أقل من أو يساوي) القيمة التي نحتاجها ، فإننا & nbsp؛
على & nbsp؛ 1 - عرض قيمة المتغير i & nbsp؛
& nbsp؛ 2 - زيادة قيمة المتغير i بمقدار 1 - يؤثر هذا العامل على قيمة الشرط بين قوسين. يتم زيادة المتغير i ، أي في مرحلة ما ، سيصبح الشرط i & lt ؛ = 10 خطأ. سيحدث هذا عندما تصبح i مساوية لـ 11. في هذه الحالة ، لن يتم تنفيذ جسم الحلقة مرة أخرى ، وسيقوم البرنامج بتنفيذ العبارة التالية بعد الحلقة ، أي writeln () ؛
writeln (& # 39 ؛ Finish & # 39 ؛) ؛

Problem

قم بتشغيل البرنامج ، انظر إلى نتيجة عمله