البحث في الموقع

توربو باسكال. بينما ... لا - حلقة مع شرط مسبق

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

باسكال بينما

مفهوم دورة وتنوعها

وتسمى دورة الإجراءات المتكررة. في هذه البيئة، نستخدم:

  • مع المعلمة (ل ... إلى ... القيام به)؛
  • مع شرط مسبق (بينما ... تفعل)؛
  • مع بوستكونديتيون (كرر ... حتى).

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

هيكل الدورة

ما هو جوهر العمل في باسكال بينما، لو كرر دورات؟ هذه الهياكل لها رأس وجسم. يحدد المكون الأول المتغيرات التي سوف "تعمل"، وتحدد شروط التحقق من الحقيقة، وهي الفترة التي سيتم تنفيذ الجسم. في المكون الثاني، يتم كتابة التعبيرات التي يجب استخدامها إذا تم استيفاء الشرط، أي، صحيح، وليس خطأ.

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

تبدو حلقة وايلغ مثل هذا. باسكال أبك والبرامج المماثلة تتطلب كتابة هذا الرمز:

  • في حين حالة القيام به؛
  • تبدأ.
  • جسم الدورة؛
  • نهاية.

وفي حالة تنفيذ مشغل واحد (إجراء واحد) في جسم الحلقة، يمكن حذف أقواس نهاية "البدء".

مخطط انسيابي للدورة

في توربو باسكال في حين أن لديه الميزات التالية:

  • يمكن استخدام الظروف المعقدة داخل الهيكل.
  • بعد كلمة لا، لا ينبغي أن يكون هناك فاصلة منقوطة (وهذا يعتبر خطأ في توربو باسكال وباسكال أبك).
  • متغير، ثابت أو تعبير يستخدم كخطأ خرج من روتينها الفرعي يجب أن يكون من نوع منطقي، وهذا هو، منطقي.

يبدو الشكل التوضيحي للكتلة لهذا الإصدار من الدورة كما يلي. ويظهر تسلسل الإجراءات.

باسكال اي بي سي بينما

خوارزمية الدورة

في أبسط بيئات البرمجة ، بما في ذلك Pascal ABC ، ​​بينما تعمل الحلقة وفقًا للمبدأ التالي:

  • فإن التكرارات المعطاة ، أي التكرار ، سوف تمر عدة مرات حتى يصبح الشرط صحيحًا (صواب) ؛
  • حالما لا يتم استيفاء الشرط ويعطي استجابة كاذبة (أو "False") ، يخرج البيان من الحلقة ؛
  • حالما حدث هذا ، "ذهب" البرنامج في المنشآت التي هي بعد الدورة.

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

من المهم جدا توفير منتهيةقم بتغيير المتغير المحدد في العنوان While. في أي حال ، يجب أن يأتي يوم ما بحالة تعطي قيمة False. وإلا ، ستحدث الحلقة ، ومن ثم يجب عليك استخدام إجراءات إضافية للخروج من المحول البرمجي. تعتبر مثل هذه الأخطاء وقحا ولا يغتفر.

كيف يمكنني الخروج من البرنامج خلال الحلقات؟

في كثير من الأحيان هناك حالة عند المشغلبينما ينتج باسكال حلقة في الشفرة المكتوبة. ماذا يعني هذا؟ يتكرر تكرار عدد لا حصر له من المرات ، لأن الشرط هو دائما صحيح. على سبيل المثال ، إليك جزء من البرنامج:

  • بينما 2> 1 فعل ؛
  • اكتب (1).

في هذه الحالة ، لإيقاف المهمة ، ما عليك سوى الضغط على CTRL + F2.

هناك طريقتان أخريان للتحكم في هذا الأمرسلوك البرنامج. على سبيل المثال ، إذا أدخلت في الرمز "متابعة" ، والذي سينقل التحكم إلى بداية الإنشاء الدائري (هنا يتم التحكم في حالة الخروج من الحلقة ، أي أنه سيتم مقاطعة تنفيذ التكرار الحالي). ثم يتم تمرير عنصر التحكم في حلقة While إلى التحقق السابق.

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

بينما باسكال المشغل

حل المشكلات

ضع في اعتبارك حلقة While. مهمة باسكال هي حل تشكيلة واسعة. دعونا نتحدث عن أبسط الأمور لفهم مبدأ العمل. حل المهام في برنامج باسكال ABC. ولكن سيتم تقديم صور لبيئة Turbo Pascal الكلاسيكية للمقارنة.

النشاط 1: يتم إعطاء الدالة Y = 5-X ^ 2/2. إنشاء جدول قيم مع الخطوة sh = 0.5 على الفاصل [-5؛ 5].

خوارزمية الإجراءات:

  • تعيين القيمة الأولية للمتغير X يساوي -5 (أي ، بداية الفاصل الزمني) ؛
  • حساب قيمة Y حتى يصل x المتغير إلى نهاية الجزء المحدد ؛
  • عرض قيم الدالة و abscissas (X)؛
  • زيادة X من خلال خطوة معينة.

هذا هو الرمز في برنامج باسكال ABC.

بينما المهام باسكال

كيف يبدو الرمز في Turbo Pascal. الصورة أدناه توضح ذلك بوضوح.

بينما المهام باسكال

النشاط 2: وبالنظر إلى مجموعة أ ، تتألف من الأعداد الصحيحة والإيجابيةالأرقام السالبة. يحتوي على 10 عناصر. من الضروري تكوين مصفوفة B ، حيث يتم عرض العناصر الإيجابية للمصفوفة A مع فهرس زوجي. عرض على الشاشة مجموع المربعات في عدد المصفوفة الجديدة.

خوارزمية الإجراءات:

  • من الضروري كتابة روتين فرعي "يعمل" فقط مع عناصر الصفيف A التي لها فهرس زوجي. في الحلقة ، ستزيد قيمة المتغير المسؤول عن تعادل الفهرس بمقدار 2.
  • إذا كان الرقم مع فهرس زوجي من المصفوفة Aيتوافق مع الشرط x> 0 ، ثم يزداد عداد عناصر الصفيف بمقدار 1. ستكون القيمة الحالية للمتغير العداد هي فهرس الرقم المنسوخ في الصفيف B.
  • في البداية ، يتم تعيين summa ، المسؤول عن العثور على مجموع مربعات الأرقام الموجبة ، 0. بعد ذلك ، سيتم تنفيذ العملية: يتم إضافة قيمة جديدة للمربع إلى المجموع السابق.
  • لا تخف ، إن لم يكن كل شيء إيجابيالأرقام مرت من مصفوفة إلى أخرى. عليك أن تكون حذرا. يعيد العديد من المبرمجين المبتدئين كتابة الكود في حالة من الذعر. من الضروري دراسة الحالة بعناية: الأرقام الموجبة الموجودة حتى في "الأماكن" ، أي وجود مؤشرات هي مضاعفات 2.

حلقة بينما باسكال abc

يعد التتبع اليدوي ضروريًا للتحقق من صحة العمليات الحسابية. في بعض الأحيان بمساعدة هذه الطريقة ، يمكنك تحديد الأخطاء التي لا تخطر على بال عينك عندما تتحقق عادةً من الشفرة المكتوبة.

حلقة بينما باسكال abc

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

</ p>
  • التقييم: