الحلقات المتداخلة هي أصنام. المتفرعة في المعبود اللغة

الحلقات المتداخلة هي أصنام.  المتفرعة في المعبود اللغة
الحلقات المتداخلة هي أصنام. المتفرعة في المعبود اللغة
التحكم في منفذ الروبوت في نظام كومير

يوجد الروبوت في بيئة معينة (حقل مستطيل الشكل). بين بعض خلايا الحقل قد تكون هناك جدران. قد يتم طلاء بعض الخلايا (الشكل 3.11).

يشغل الروبوت خلية واحدة بالضبط من الحقل.

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

بناءً على أمر الطلاء، يقوم الروبوت برسم الخلية التي يقف فيها. إذا تم طلاء الخلية بالفعل، فسيتم طلاؤها مرة أخرى، على الرغم من عدم حدوث أي تغييرات مرئية.

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

عن
الأخطاء: 1 نحوية؛ 2. منطقي

يتم تخزين أوصاف المواقف في ملفات نصيةتنسيق خاص (format.fil).

حاضِر- البيئة التي يتواجد فيها الروبوت هذه اللحظة(بما في ذلك معلومات حول موقف الروبوت).

ابتداء- البيئة التي يجب أن يوضع فيها الروبوت في بداية تنفيذ البرنامج باستخدام الروبوت.

إجراءات التشغيل:


  1. تعيين بيئة البداية حسب ظروف المشكلة:
أدوات القائمة → تغيير بيئة البداية للروبوت (ارسم بيئة وفقًا لشروط المهمة، وقم بتسميتها، واحفظها في المجلد الشخصي)

2. حدد المقاول:

إدراج القائمة → استخدم الروبوت

3. اكتب خوارزمية لحل المشكلة.

4. قم بتنفيذ الخوارزمية (تنفيذ القائمة →تشغيل مستمر /F9)

نظام أوامر أداء الروبوت في نظام KUMIR


فريق

فعل

أعلى

يتحرك الروبوت بمقدار 1 مربع لأعلى

تحت

يتحرك الروبوت بمقدار مربع واحد للأسفل

غادر

يتحرك الروبوت مربعًا واحدًا إلى اليسار

يمين

يتحرك الروبوت مربعًا واحدًا إلى اليمين

رسم أكثر

يقوم الروبوت بطلاء الخلية الموجودة فيها

حر على اليمين

يتحقق الروبوت من تنفيذ المقابل بسيطشروط

ترك مجانا



مجانا على القمة



مجانا من الأسفل



تم طلاء الخلية



القفص نظيف



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

دورة- تنظيم تكرار الأفعال مع تحقق بعض الشروط .

جسم الحلقة هومجموعة من الإجراءات المتكررة.

حالة -التعبير المنطقي (بسيط أو معقد (مركب))
أنواع الدورات:

1.حلقة "كرر n مرات" 2. حلقة "حتى"
إن تي ن مرات الإقليم الشمالي في الوقت الراهن
. . جسم الحلقة. . هيئة الحلقة
كيلوطن كيلوطن

مثال: الإقليم الشمالي في الوقت الراهنحر على اليمين


عرض عام لدورة "التكرار n مرات":

كرر ن مرات

نهاية
كيلوطن

نظرة عامة على دورة "بينما":

افعلها وداعًا

نهاية
الظروف المركبةتتكون من واحد أو أكثر من الشروط البسيطة والكلمات الوظيفية و، أو، لا.


الحالة المركبة أ و ب(حيث A، B شرطان بسيطان)، يتم استيفاءه عندما يتم استيفاء كل من الشرطين البسيطين المتضمنين فيه.

دع أ - مجانا في الأعلى،في - حر على اليمين،ثم الحالة المركبة أ و ب- حر في الأعلى وحر في اليمين.


الحالة المركبة ا او ب يتم استيفاءه عندما يتم استيفاء واحد على الأقل من الشرطين البسيطين المتضمنين فيه: أعلى مجانا أو الحق مجانا
الحالة المركبة ليس أ- تتحقق عند عدم استيفاء الشرط أ.

مثال:لتكن A خلية ملونة (حالة بسيطة).

ص التحقق من حالة المركب وليس أ:

أ) أ - مكتمل، وليس أ (غير مظلل) - غير مكتمل.

ب) أ - غير مكتمل، وليس أ (غير مظلل) - مكتمل.


أمر الفرع

المتفرعة -شكل من أشكال تنظيم الإجراءات، اعتمادًا على استيفاء بعض الشروط أو عدم استيفائها، يتم تنفيذ تسلسل أو آخر من الإجراءات.

عرض عام لأمر IF:

لو الذي - التي خلاف ذلك

نهاية

في لغة الأيقونة:

التفرع الكامل: التفرع غير المكتمل:
لو الذي - التي لو الذي - التي

خلاف ذلك

كل شئ كل شئ

خوارزمية مساعدة- خوارزمية تحل بعض المهام الفرعية للمشكلة الرئيسية.

في نظام KUMIR، تتم كتابة الخوارزميات المساعدة في نهاية البرنامج الرئيسي (بعد كلمة الخدمة يخدع)، يتم استدعاؤها للتنفيذ في البرنامج الرئيسي بالاسم.

في المسوحات والواجبات

1. قم بإعطاء جميع الخوارزميات من ثلاثة أوامر من شأنها نقل الروبوت من موضعه الأصلي إلى الخلية B.

هل هناك خوارزمية لهذه المهمة يقوم فيها الروبوت بما يلي:

أ) خطوتين؛ ب) أربع خطوات؛ ج) خمس خطوات؛ د) سبع خطوات؟


  1. قامت بيتيا بتجميع خوارزمية تنقل الروبوت من الخلية أ إلى الخلية ب عن طريق طلاء بعض الخلايا. ما الذي يجب على كوليا فعله بهذه الخوارزمية للحصول على خوارزمية تنقل الروبوت من B إلى A وترسم نفس الخلايا؟


7. هناك خوارزميتان معروفتان للروبوت المساعد

ارسم ما سيحدث عندما يقوم الروبوت بتنفيذ الخوارزميات الأساسية التالية:


أ)

إن تي 5 مرات


Pattern_1

يمين؛ يمين؛


ب)

نتس 7 مرات


Pattern_2

يمين؛ يمين


الخامس)
يمين؛ يمين؛ يمين

أعلى؛ أعلى

يمين؛ يمين؛ يمين

تحت؛ تحت


ز)
يمين؛ يمين
يمين؛ يمين

8. قم بإنشاء خوارزميات يتحكم فيها الروبوت بالرسم على الخلايا المشار إليها:



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

10. من المعروف أنه في مكان ما على يمين الروبوت توجد خلية مملوءة.

مع اترك الخوارزمية التي سيرسم الروبوت تحت سيطرتها عددًا من الخلايا حتى الخلية المطلية ويعود إلى موضعه الأصلي.

11. من المعروف أن الروبوت يقع بجوار المدخل الأيسر للممر الأفقي.

12. من المعروف أن الروبوت موجود في مكان ما في الممر الأفقي. لم يتم طلاء أي من خلايا الممر.

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


13. في صف مكون من عشر خلايا على يمين الروبوت، تكون بعض الخلايا مظللة.

مع اترك الخوارزمية التي ترسم الخلايا:

أ) أسفل كل خلية مظللة؛

ب) أعلى وأسفل كل خلية مظللة.


14. ماذا يمكن أن يقال عن صحة الجزء التالي من الخوارزمية؟

الإقليم الشمالي في الوقت الراهنتم طلاء الخلية

لوحر على اليمين الذي - التي

يمين؛ رسم أكثر

ل
نهاية الخبر

15. اكتب برنامجًا يستطيع الروبوت من خلاله الوصول إلى الخلية B في المتاهات الثلاث.


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

ز

إنجازات الجماعة الإسلامية المسلحة


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

  1. ل
    ضروري

    منح
    الممر2. يقع الروبوت في الخلية العلوية لممر عمودي ضيق. عرض الممر عبارة عن خلية واحدة، ويمكن أن يكون طول الممر تعسفيًا.

يظهر في الشكل خيار محتمل للموقع الأولي للروبوت (يتم تحديد الروبوت بالحرف "P")

اكتب خوارزمية للروبوت تقوم بطلاء جميع الخلايا الموجودة داخل الممر وتعيد الروبوت إلى موضعه الأصلي. على سبيل المثال، بالنسبة للصورة أعلاه، يجب على الروبوت الطلاء فوق الخلايا التالية (انظر الصورة):


  1. هناك جدار أفقي طويل في حقل لا نهاية له. طول الجدار غير معروف. يوجد الروبوت في إحدى الخلايا الموجودة فوق الجدار مباشرةً. الموقع الأولي للروبوت غير معروف أيضًا. أحد المواقف المحتملة:
ن


ضروري

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

يمكن أن يكون الوضع النهائي للروبوت تعسفيًا. عند تنفيذ الخوارزمية، لا ينبغي تدمير الروبوت.



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


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


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

يمكن أن يكون الوضع النهائي للروبوت تعسفيًا. يجب أن تحل الخوارزمية مشكلة الحجم العشوائي للجدار وأي موضع أولي مقبول للروبوت.



ر

  1. الحقل الذي لا نهاية له له جدار عمودي طويل. طول الجدار غير معروف. يوجد الروبوت في إحدى الخلايا الموجودة مباشرة على يسار الجدار. الموضع الأولي للروبوت غير معروف أيضًا. يظهر في الشكل أحد المواضع المحتملة للروبوت (يتم تحديد الروبوت بالحرف "P"):
اكتب خوارزمية تقوم برسم جميع الخلايا المجاورة للجدار:

  • كل شيء على اليسار.

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

ب
1102_GIA2011

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

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


في
1103_GIA_2011


يوجد جدار أفقي في حقل لا نهاية له. طول الجدار غير معروف. يمتد جدار رأسي غير معروف الطول من الطرف الأيمن للجدار. يقع الروبوت فوق جدار أفقي في قفص يقع عند حافته اليسرى. ويوضح الشكل واحدا من الطرق الممكنةموقع الجدران والروبوت (يُشار إلى الروبوت بالحرف "P").

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

المحاضرة 4. التعبيرات الحسابية

التعابير الحسابية وقواعد كتابتها. خوارزميات مع "ردود الفعل". أمر "وداعا". الشروط في لغة خوارزمية. أوامر "إذا" و"الاختيار". أوامر التحكم. التمثيل "المرئي" للأوامر. الاستطراد: قواعد وشكل كتابة التعبيرات الحسابية في فورتران في القرن الحادي والعشرين.

الجريدة رقم.

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

المحاضرة 2. التعرف العملي على نظام KuMir: الروبوت المؤدي. مفهوم الخوارزمية. التحكم في أداء الروبوت باستخدام جهاز التحكم عن بعد. الخوارزميات الخطية. تسجيل الخوارزمية. الاستطراد: كاريل روبوت في دورة البرمجة الأولية في جامعة ستانفورد.

المحاضرة 3. طرق التسجيل "المرئي" للخوارزمية. السيطرة على البرمجيات للروبوت. دورة نمرة واحدة". استخدام الخوارزميات المساعدة. كتابة الخوارزميات بلغة خوارزمية.

الاختبار رقم 1.

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

المحاضرة 5. الكميات في اللغة الخوارزمية. أوامر إدخال/إخراج المعلومات. أمر التعيين. الخوارزميات المساعدة. الخوارزميات مع النتائج ووظائف الخوارزميات. دورة "من أجل". قيم الجدول. القيم المنطقية والرمزية والحرفية.

الاختبار رقم 2.

المحاضرة 6. طرق الخوارزمية. علاقات التكرار طريقة التكرار. حلقة ثابتة. العودية.

المحاضرة 7. الأسس الفيزيائية لأجهزة الكمبيوتر الحديثة. المعالج الدقيق هو قلب الكمبيوتر الحديث. كيفية إنشاء جهاز كمبيوتر.

المحاضرة 8. المؤديون الافتراضيون والحقيقيون في نظام KuMir. رسام الأداء. Lego Robot هو مؤدي "Idol" يتم التحكم فيه بواسطة البرنامج. النصوص التشعبية في نظام KuMir. إعداد الواجبات للطلاب والتحقق منها تلقائيًا.

العمل النهائي.

في حين أن تلميذ المدرسة "يجمع" برنامجًا في "PictoMir"، فإنه لا يتعين عليه عمليًا إتقان "عالم كمبيوتر" جديد غير عادي. بالطبع يجب أن يتعلم الطفل تشغيل الماوس للحصول على النتيجة المرجوة من الكمبيوتر، لكن الواجهة ككل مبنية على مفاهيم وتصرفات مألوفة لدى الطفل، وهي “شفافة” ولا تتطلب من الطفل التركيز بشكل مفرط في عملية التفاعل مع الكمبيوتر. في هذه اللحظة، يركز الطالب ما يقرب من 100٪ من جهوده (أو بالأحرى، "قدر الاهتمام") على الخوارزمية لحل المهمة التي بين يديه. ولكن بمجرد حدوث الانتقال من البرمجة الرسومية إلى البرمجة النصية التقليدية، يبدأ الطالب في مواجهة "عالم مختلف"، تختلف قوانينه عن تلك المعتادة التي تمت دراستها بالفعل في المدرسة. إنه على وشكبادئ ذي بدء، فيما يتعلق بتسجيل التعبيرات الحسابية، أمضى الطالب عشرات الساعات في تطوير مهارات التعامل معها في دروس الرياضيات في المدرسة وحقق نوعًا من التلقائية.

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

لا توجد مشاكل مع الجمع والطرح. في التسجيل دورة 3+3 مراتلا يوجد شيء جديد بالنسبة للطالب. بنفس الشكل تمامًا في دروس الرياضيات، يكتب الطلاب، ونأمل، أن يقوموا بحساب المجاميع والاختلافات المختلفة دون مساعدة الآلة الحاسبة. ولكن بالنسبة للتعبيرات الحسابية الأكثر تعقيدًا، فإن قواعد التدوين في الرياضيات المدرسية وفي اللغات الخوارزمية التقليدية تبدأ في الاختلاف بعض الشيء.

الحقيقة هي أنه عند العمل على الورق والسبورة، فإننا "نرسم" الصيغ الرياضية - الجذور والكسور والقوى والمؤشرات، وهذا مريح للغاية. لكن في لغات البرمجة التقليدية، لا يمكن رسم التعبير الحسابي، بل يجب "تشفيره" عن طريق الضغط على الأزرار الموجودة على لوحة مفاتيح الكمبيوتر. ولهذا السبب، طورت البرمجة تقليدًا مبسطًا يسمى الكتابة "الخطية" للصيغ، والتي يجب على الطالب في بداية القرن الحادي والعشرين أن يعتاد عليها ويتكيف معها. (ربما، بحلول منتصف القرن، لن نضطر إلى القيام بذلك بعد الآن، انظر البرنامج أدناه على اليمين.) لذلك، عند إدخال الصيغ المطلوبة (التعبيرات الحسابية) في البرنامج، سيتعين علينا استخدام لوحة مفاتيح الكمبيوتر وترميز (تشفير) هذه الصيغ بطريقة معينة. مثل أي مهمة تنطوي على تشفير أو تشفير المعلومات، قد تكون هذه المهمة التقنية البسيطة جذابة لبعض أطفال المدارس (الذين سئموا التحكم في الروبوت). عند حل هذه المشكلة، اتضح أن هناك رمز نقطة على لوحة المفاتيح، ولكن لا يوجد رمز الضرب "؟"، كما أن النقطة لا تعمل كرمز ضرب. وتبين أيضًا أنه ليس من المعتاد كتابة الصيغ الحسابية بالشكل 8(2+3) مع فقدان علامة الضرب. يمكن للكمبيوتر (على وجه التحديد، مترجم لغة البرمجة) فهم مثل هذه الصيغ، لكنه يرفض تقليديا القيام بذلك ويتطلب إدخال علامة النجمة في الصيغة - علامة الضرب: 8 * (2 + 3). لكن الكمبيوتر، كقاعدة عامة، يرى نجمتين متتاليتين كعلامة على الأس.

كل هذه التفاصيل الصغيرة مجتمعة تشكل عائقًا يجب على الطالب التغلب عليه. وهذا عادة لا يسبب أي مشاكل.

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

ويتم كتابتها بالشكل 3+5/2 و3*5/2 بدون قوسين، بدلاً من الترميز الصحيح (3+5)/2 و(3*5)/2.

قواعد كتابة التعابير الحسابية بلغة فورتران في القرن الحادي والعشرين

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

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

الحروف الفوقية/المنخفضات والكسور:

الصيغ مع علامات الضرب المحذوفة:

الصيغ التي لا يتم فيها وضع وسيطات الوظائف الأولية بين قوسين:

ضبط علامات العمليات

وهذه مجرد البداية؛ ففي غضون عقدين من الزمن، ستكون نصوص البرامج التي يستخدمها العلماء والمهندسون مظهرعلى غرار الكتب المدرسية للرياضيات الابتدائية والعليا.

خوارزميات مع "ردود الفعل". أمر "وداعا".

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

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

عند استخدام جهاز التحكم عن بعد الموضح أعلاه، يقرأ الشخص إجابات الروبوت من الشاشة في شكل نص. يمكن لجهاز التحكم عن بعد الأرخص أن يمثل استجابة الروبوت عن طريق إضاءة مصباح كهربائي (LED). عندما يتم التحكم في الروبوت بواسطة جهاز كمبيوتر، يتم تحويل استجابة الروبوت إلى مستويات الإشارات الكهربائية. لكن جوهر العملية هو نفسه: عند تنفيذ أمر التغذية الراجعة، لا تصل المعلومات إلى الروبوت فحسب، بل يتم نقلها أيضًا في الاتجاه المعاكس، من الروبوت إلى الكمبيوتر أو الإنسان. ومن هنا جاء مصطلح ردود الفعل. من الناحية النظرية، كان من الممكن التعامل مع أمر سؤال واحد فقط من كل زوج من النوع: مجاني على اليمين – جدار على اليمين. ومع ذلك، فإن هذا من شأنه أن يعقد كتابة الخوارزمية، لأنه سيتطلب إدخال النفي، وهو أمر غير مبرر منهجيا في مرحلة مبكرة من التدريب ويعقد قواعد كتابة البرامج وتنفيذها. بدلاً من الإدخال الطبيعي "يوجد جدار في الأعلى"، يجب على المرء أن يكتب شيئًا مثل "ليس مجانيًا في الأعلى"، مما يوحي بنوع من الازدواجية، ماذا لو كان هناك شيء آخر غير الجدار؟

ما هي بيئة الروبوت

بيئة الروبوت عبارة عن حقل مستطيل محاط بسياج ومقسم إلى خلايا، ويوصف بالكميات التالية: 1) أبعاد الحقل - عدد الصفوف (من 1 إلى 10) وعدد الأعمدة (من 1 إلى 16) ); 2) لكل خلية: وجود جدران حول الخلية؛ علامة التظليل وكمية الإشعاع (المقاسة بالوحدات التقليدية، يمكن أن تأخذ أي قيمة حقيقية من 0 إلى 100)؛ درجة الحرارة (مقاسة بالدرجات المئوية، يمكن أن تأخذ أي قيمة حقيقية من -273 إلى +233). ملحوظة. أدنى درجة حرارة ممكنة هي (تقريبًا) الصفر المطلق (0 درجة كلفن). درجة الحرارة العليا هي درجة الحرارة التي تحترق فيها الكتب (451 درجة فهرنهايت). درجة الحرارة هذه معروفة لجميع قراء قصة راي برادبري الشهيرة "فهرنهايت 451".

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

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

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

الصف الأفقي المكون من خمس خلايا مع إشعاع معين في كل خلية (10، 10، 30، 20 و40) هو تماثل دقيق لجدول خطي من الأعداد الحقيقية مع خمسة عناصر. ويمكن إعادة صياغة كل مهمة تقريبًا تتعلق بالعمل مع جدول خطي كمهمة تتعلق بالروبوت. في هذه الصيغة، سيكون من الواضح أكثر سبب ظهور هذه المشكلة ولماذا يجب حلها. لنتخيل أنه يوجد في حقل الروبوت على اليمين جدار يجب على الأشخاص - ربما رجال الإنقاذ - الذهاب إليه. تحتاج أولا إلى معرفة مدى خطورة المشي على طول الممر على صحتك، ما هو مستوى الإشعاع. إذا تحرك الناس بسرعة ثابتة تقريبًا، فإن جرعة الإشعاع التي يتلقونها ستكون متناسبة مع مجموع مستويات الإشعاع في جميع خلايا الممر إلى الجدار. ولذلك، يمكن إعادة صياغة تحليل درجة خطورة هذا الممر على حياة رجال الإنقاذ كمهمة حساب الإشعاع الكلي في خلايا الممر. هذه هي مشكلة العثور على مجموع عناصر الجدول، والتي تمت صياغتها من حيث التحكم في الروبوت. بطريقة مماثلة، يمكنك إعادة صياغة أي مهمة تقريبًا لمعالجة الجداول (المصفوفات).

يمارس. إعادة صياغة المهام "الحد الأدنى لعنصر المصفوفة" و"فهرس الحد الأدنى لعنصر المصفوفة" فيما يتعلق بالتحكم في الروبوت.

لذلك، دعونا نرى أي من الصياغة التالية للمشكلة أكثر جاذبية للطالب: 1) ابحث عن مؤشرات الحد الأدنى من عنصر الجدول المستطيل؛ 2) في المستطيل الموجود في حقل الروبوت، ابحث عن خلية بها الحد الأدنى من الإشعاع وحرك الروبوت إلى هذه الخلية (للراحة).

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

كما لاحظت، تستخدم خوارزمية مجموع العناصر حلقة "أثناء"، والتي لم نقدمها بعد. هنا تقدمنا ​​قليلاً على أنفسنا. ينبغي إدخال حلقة "بينما" عند مناقشة مشكلة معينة (النهج الإشكالي)، على سبيل المثال، كما هو الحال في الكتاب المدرسي:

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

عادة، بعد 10 دقائق من هذه اللعبة، يتخيل كل طالب في الفصل بالتفصيل كيفية قيادة الروبوت لحل المهمة. وهذا الفهم هو الهدف المنهجي لمثل هذه "اللعبة".

التقنية المنهجية لمثل هذا التقديم لتصميم لغة برمجة جديدة بواسطة G.V. وقد وصفها ليبيديف في محاضراته على النحو التالي:

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

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

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

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

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

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

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

ماذا لو كانت بيئة الروبوت مختلفة، وحتى قبل اكتمال الدورة، كان يقف بالفعل فوق الجدار؟ دعونا نحاول تنفيذ الخوارزمية في ظل هذه الظروف الأولية. خائف قليلا

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

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

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

الشروط في لغة خوارزمية. أوامر "إذا" و"الاختيار".

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

يتم الحصول على الخوارزمية من خلال إعادة صياغة حل المشكلة السابقة بسهولة؛ ما عليك سوى إضافة الأمر "if".

بالنسبة للسؤال المنهجي حول سبب ظهور البناء "إذا" في الدورة بعد البناء "بينما"، يمكنك العثور على الإجابة في "12 محاضرة" لـ G.V. ليبيديفا: "بالطبع، من السهل تقديم وشرح أمر "إذا" باستخدام بعض الأمثلة مثل خطوة "حذرة": "إذا كان الجزء السفلي مجانيًا، فسينهار كل شيء." المشكلة، في رأينا، هي أنه إذا بدأت بهذا (وخاصة إذا قمت بإدخال الأمر "if" قبل الحلقات)، فلن يكون لدى أطفال المدارس في رؤوسهم أي سياق خارجي (حتى لو لم يكن رسميًا) يمكن من خلاله التفكير كتابة مثل هذا الفريق سيكون مفيدًا لحل بعض المشكلات ذات المغزى. بعد تحليل مثال واحد على الأقل لدورة و"إذا" بالداخل، يظهر مثل هذا السياق الخارجي. ثم يمكنك دراسة الأمر "if" بدون حلقات - سوف يتخيل الطلاب الموقف الذي تنشأ فيه الحاجة إلى مثل هذا الأمر. ولكن بمجرد الانتهاء من هذا المثال الأول (مع الحلقة و"if")، لن يتبقى أي شيء لنتعلمه عن أمر "if". الأمثلة التوضيحية الأخرى ليست مطلوبة ببساطة - فأنت بحاجة إلى حل المشكلات. ولذلك، نعتقد أن هذه هي المرة الأولى التي يجب أن تظهر فيها عبارة "if" داخل الحلقة. تعقيد أمر "إذا" يمكن أن يكمن فقط في كتابة الشرط. يمكنك التوصل إلى مهمة لأطفال المدارس - اكتب رسميًا الشرط "الروبوت يقف في الزاوية":

(الجدار على اليسار والجدار في الأعلى)

أو(الجدار أعلاه والجدار على اليمين)

أو(الجدار الأيمن والجدار أدناه)

أو(الجدار السفلي والجدار الأيسر)

أمر "اختر".

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

التمثيل "المرئي" للأوامر

يمكن شرح دورة "الوداع" ليس فقط لأطفال المدارس الذين يستخدمون "Idol" مع الروبوت، ولكن أيضًا لمرحلة ما قبل المدرسة الذين يستخدمون الأخ الأصغر لـ "Idol" - "PictoMir". من المحاضرة السابقة، تعرفنا على Vertun، الذي يمكنه المشي عبر حقل مشابه لمجال الروبوت. Vertun هو مؤدي مثير للاهتمام، ولديه أوامر ردود فعل: يمكن لـ Vertun التحقق مما إذا كان المربع الذي يقف عليه مطليًا، وما إذا كان هناك جدار أمامه. لدى Vertun، مثل الروبوت، مجموعة مزدوجة من أوامر الملاحظات. ولكن هناك أسباب وجيهة لذلك في PictoMir. إذا كان في "Idol" من أمر Robot "يوجد جدار على اليمين"، فيمكننا الحصول على ما يعادل الأمر "على اليمين مجاني" عن طريق إضافة النفي "not" داخل الأمر، ثم بالنمط المرئي لـ البرمجة في "PictoMir" الجسيم غير موجود. هذا يعني أنه لا يمكن استخدام فريقين وأن هناك حاجة إلى الأربعة جميعًا.

تشير الأيقونات الموضحة في الشكل إلى أزواج الأوامر هذه (من اليسار إلى اليمين): "الخلية مظللة" ( اللون الرماديمجالات)؛ "أمامه جدار" (جدار من الطوب) ؛ "خلية نظيفة" (اللون الأخضر للحقل)؛ "هناك مساحة خالية أمامك" (الجدار مدمر).

أمر "اختر".

· تحت الشرط 1: السلسلة 1

· تحت الشرط 2: الحلقة 2

· تحت الشرط ن: السلسلة ن

· وإلا فإن السلسلة n + 1

قد تكون الكلمة الأساسية else مفقودة مع سلسلة الأوامر المقابلة لها:

· تحت الشرط 1: السلسلة 1

· تحت الشرط 2: الحلقة 2

· تحت الشرط ن: السلسلة ن

يتحقق "Idol" أولاً من الشرط 1. إذا تم استيفائه، يقوم "Idol" بتنفيذ الأوامر من السلسلة 1، وبعد ذلك ينتقل إلى تنفيذ الأوامر، مكتوبة بعد كلمة كل شيء. بخلاف ذلك، فإن "كومير" يفعل الشيء نفسه مع الشرط 2 والفرق من السلسلة 2، وما إلى ذلك.

الأوامر المكتوبة بعد كلمة "وإلا" يتم تنفيذها عند عدم استيفاء أي شرط من الشروط.

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

هناك ثلاثة أوامر للتحكم في التنفيذ في لغة KuMir:

تمت الموافقة عليه، نظرا، ضروريا.

تنسيق المكالمة:

utv<ЛОГ ВЫРАЖЕНИЕ>

منح<ЛОГ ВЫРАЖЕНИЕ>

ضروري<ЛОГ ВЫРАЖЕНИЕ>

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

كيف يمكنك استخدام هذه الشروط في "PictoMir"؟ يمكن وضع الشروط في بداية الخوارزميات المساعدة في خلايا خاصة. تحتوي الألوان الزرقاء على مكرر (لتنظيم عدد مرات الحلقة)، وتحتوي الألوان الوردية على شرط تنفيذ الخوارزمية f1–f5. كما تمت مناقشته في المحاضرة 3، فإن تكرار N مرات يساعد الطالب على حفظ الخلايا عند إنشاء خوارزمية.

ولكن إذا كانت المهمة البسيطة تتمثل، على سبيل المثال، في تحريك Vertun إلى اليمين إلى الحائط، فقد يبدو البرنامج كما يلي:

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

سيعمل مثل هذا البرنامج بشكل صحيح مع بيئة Vertun الحالية (وبالطبع في جميع الحالات التي يكون فيها الجدار أقرب من أربع خطوات من موضع البداية).

دعونا نشرح كيفية عمل الخوارزمية المساعدة f1. قبل بدء الخوارزمية (الموجودة في 12 خلية قابلة للتنفيذ)، يتم تنفيذ أمر Vertun الموجود في الحقل الوردي. إذا كانت الإجابة "نعم"، فسيتم تنفيذ الخوارزمية عدة مرات كما هو موضح في الحقل الأزرق. في هذه الحالة، يتم تخطي الخلايا الفارغة، ويتم استدعاء الأمر من الحقل الوردي في كل مرة قبل الدورة التالية من تنفيذ خوارزمية f1.

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

نورث كارولاينا <синее поле> مرة واحدة وداعا <розовое поле>

<команды в клетках алгоритма>

لكن لا يوجد مثل هذا البناء في اللغة الخوارزمية. في هذه الحالة، تتحول f1 إلى نظير للبنية "if"، في حالة وجود مكرر فارغ (حقل أزرق فارغ) أو مكرر واحد، وتتحول خوارزمية f1 إلى حلقة "while" إذا كان الشرط موجودًا ( الحقل الوردي) والمكرر يساوي ما لا نهاية.

يمارس. تذكر كيفية إنشاء حلقة من f1 N مرات.

ما الذي سيحفز الطفل على استخدام دورة "الوداع" (استخدم الصندوق الوردي)؟ الحقيقة هي أنه في "PictoMir" لا يوجد سوى 7 مكررات: مرة واحدة، مرتين، 3 مرات، 4 مرات، 5 مرات، 6 مرات و"إلى ما لا نهاية". باستخدام هذه المجموعة، يمكنك الوصول إلى الحائط عندما يكون على بعد خطوة واحدة أو خطوتين أو ثلاث أو أربع أو خمس أو ست خطوات. ولكن ماذا تفعل عندما تكون هناك 7 خطوات على الحائط أو العديد من الخطوات التي لا يستطيع الطفل حساب عددها؟ هناك مكرر "اللانهاية"، وحتى لو لم يعتاد الطفل بعد على هذا المفهوم، فبعد أن استعرض الخيارات القليلة لإنشاء البرامج في "PictoMir"، سيحاول بالتأكيد تجربة الخيار مع مكرر "اللانهاية" في خلية زرقاء والحالة المطلوبة في خلية وردية. ستكون هذه دورة "الوداع" التي أنشأها الطفل (بوعي).

اللغة الرسومية"PictoMira" تشجع الطفل على اختراع دورة "الوداع" بقوة أكبر من اللغة الخوارزمية لـ "KoMira". والحقيقة هي أنه عند "العبث" بـ "PictoMir" يكون الطفل محدودًا جدًا في اختيار الوسائل. "PictoMir" هو كل شيء في راحة يدك، ويمكن أن تستغرق اللغة الخوارزمية وقتًا طويلاً للتعلم. في "PictoMir"، يمكنك الاطلاع بسرعة على جميع خيارات البرمجة، وبما أن هناك أيضًا دورة "وداعًا" بينها، فستتمكن من فتحها أيضًا. الفرق بين "Idol" و"PictoMir" يشبه الفرق بين الشطرنج ولعبة الداما. كتب الكاتب الأمريكي الشهير إدغار آلان بو عن الأخير في قصته البوليسية "جريمة قتل في شارع المشرحة":

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

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

Kushnirenko A.G.، Lebedev G.V.، Svoren R.A. أساسيات علوم الكمبيوتر و تكنولوجيا الكمبيوتر. م: التربية، 1990، 1991، 1993، 1996.

لسوء الحظ، من المستحيل استدعاء الخوارزمية "الخطوة على طول الطريق" في "المعبود"، لأن "إلى" هو الكلمة الرئيسيةلغة.

12 محاضرة حول سبب الحاجة إلى دورة علوم الكمبيوتر المدرسية وكيفية تدريسها: أ.ج. كوشنرينكو، ج.ف. ليبيديف. // أدوات. م: مختبر المعرفة الأساسية، 2000.

دعونا نفكر في المشكلة:

الإدخال إلى البرنامج هو عدد طبيعي, لا يتجاوز 2*109. تحديد مجموع أرقام هذا الرقم.

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

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

دورة "وداعا".

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

  • لا يوجد شرط حتى الآن
  • loop_body

الشرط المكتوب بعد الكلمة الوظيفية while هو تعبير منطقي.

تعمل الحلقة على النحو التالي:

  1. يتم حساب القيمة التعبير المنطقي.
  2. إذا كانت نتيجة الحساب لا، فستنتهي الحلقة، وينتقل Idol إلى الأمر الأول بعد الحلقة while. إذا كانت نتيجة الحساب نعم، فسيتم تنفيذ جسم الحلقة، وبعد ذلك يتم حساب قيمة التعبير مرة أخرى بقيمة جديدة.

مهم! في جسم الحلقة، يجب أن تتغير بعض القيمة المرتبطة بالشرط لضمان نهاية الحلقة، وإلا فقد تصبح الحلقة أبدية.

الآن دعونا نستخدم حلقة while لحل مشكلتنا

  • رقم الإدخال
  • nts بينما الرقم> 0
  • المجموع:= المجموع + mod(num, 10)
  • الأعداد:= شعبة(الأعداد، 10)
  • كمية السحب

لذلك، أثناء كل تنفيذ لجسم الحلقة، تتم إضافة الرقم الأخير من الرقم إلى قيمة المجموع، ثم يتم تقليل الرقم بمقدار 10 مرات. من الواضح أن num في النهاية سوف يساوي 0، وبعد ذلك ستنتهي الحلقة.

دورة "حتى".

هناك متغير آخر للحلقة الشرطية في Idol، تسمى حلقة until، والتي لها التنسيق التالي:

  • loop_body
  • كيلوطن تخضع للشرط

إذا تم التحقق من الحالة في حلقة while قبل جسم الحلقة، فسيتم التحقق منها بعد ذلك في حلقة until. ولذلك غالبا ما تسمى هذه الدورة حلقة مع الشرط اللاحق. سيتم دائمًا تنفيذ نص هذه الحلقة مرة واحدة على الأقل

وحتى ذلك الحين، تعمل الحلقة على النحو التالي:

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

مهمة. المدخلات إلى البرنامج هي سلسلة من الأعداد الصحيحة التي تنتهي بالصفر. أوجد عدد الأعداد السالبة في المتتابعة. من المؤكد أن التسلسل يحتوي على رقم واحد غير الصفر على الأقل.

(جزء من كود البرنامج)

  • رقم الإدخال
  • إذا كان الرقم 0
  • ثم ك:= ك + 1
  • كيلوطن في العدد = 0
  • الإخراج ك

خيريانوف تيموفي فيدوروفيتش

إذا كان آخر كل شيء

نظرة عامة على الأمر:

إذا كان الشرط
ثم الحلقة 1
وإلا الحلقة 2
الجميع

الحلقة 2جنبا إلى جنب مع الكلمة الوظيفية خلاف ذلكقد يكون مفقودا. في هذه الحالة، يبدو الأمر كما يلي:

إذا كان الشرط
ثم الحلقة 1
الجميع

عند تنفيذ الأمر لويتحقق كومير أولاً حالة، مكتوب بين لوو الذي - التي. فإذا تحقق هذا الشرط الحلقة 1، خلاف ذلك - الحلقة 2(إذا كان هناك واحد)، وبعد ذلك يشرع KuMir في تنفيذ الأوامر المكتوبة بعد الكلمة الجميع.
إذا لم يتم استيفاء الشرط، وكانت السلسلة 2 مع خلاف ذلك مفقودة، فسيشرع KuMir على الفور في تنفيذ الأوامر المكتوبة بعد الكلمة all.

مثال 1

اذا كان الذي - التي
ب:=ب-أ
ع:=ع+ف
خلاف ذلك
أ:=أ-ب
س:=ف+ص
الجميع

مثال 2

إذا س > م
الذي - التي
م:= س
ن:=ن+1
الجميع

المثال 3 (الروبوت المؤدي)

إذا كان هناك مساحة حرة على اليمين
الذي - التي
يمين
الجميع

الاختيار لو كان خلاف ذلك كل شيء

نظرة عامة على الأمر:

خيار
تحت الشرط 1: الحلقة 1
تحت الشرط 2: الحلقة 2

تحت الشرط ن: سلسلة ن
خلاف ذلك سلسلة ن +1
الجميع

الكلمة الرئيسية خلاف ذلكجنبًا إلى جنب مع سلسلة الأوامر المقابلة قد تكون مفقودة:

خيار
تحت الشرط 1: الحلقة 1
تحت الشرط 2: الحلقة 2

تحت الشرط ن: سلسلة ن
الجميع

يتحقق كومير أولاً الحالة 1. إذا تمت ملاحظته، فإن KuMir ينفذ الأوامر من الحلقة 1، وبعد ذلك يشرع في تنفيذ الأوامر المكتوبة بعد الكلمة الجميع. وإلا فإن KuMir يفعل الشيء نفسه مع الحالة 2وفرق من سلسلة 2إلخ.
الأوامر المكتوبة بعد الكلمة خلاف ذلك، يتم تنفيذها عند عدم استيفاء أي من الشروط.
في أمر التحديد، لا يتم تنفيذ أكثر من سلسلة واحدة من الأوامر على الإطلاق، حتى لو تحققت عدة شروط. ينتهي تنفيذ أمر التحديد بعد العثور على الشرط الأول (بالترتيب) بالقيمة نعم (ويتم تنفيذ سلسلة الأوامر المقابلة).

مثال 1

خيار
لـ > 1: i:= i + 1
في أ< 0: j:= j - 1
وإلا ر:= أنا؛ أنا:= ي؛ ي:= ر
الجميع

لها ل مزيد من العملوتعلمت أن تسأل. الآن دعنا ننتقل مباشرة إلى تجميع الخوارزميات للروبوت باستخدام أوامر بسيطة.

إذا كنت تفضل الحصول على معلومات بتنسيق فيديو تعليمي، فهناك فيديو تعليمي على الموقع

يجب أن يكون لدى أي مؤدي نظام أوامر ( تزلجنظام أوامر المنفذ). نظام أوامر المنفذ- مجموعة كافة الأوامر التي يمكن للمنفذ تنفيذها. على سبيل المثال، فكر في كلب مدرب. إنها تعرف كيفية تنفيذ بعض الأوامر - "الجلوس"، "الاستلقاء"، "بالقرب"، وما إلى ذلك. هذا هو نظام الأوامر الخاص بها.

أوامر الروبوت البسيطة

لدى الروبوت الخاص بنا أيضًا نظام قيادة. اليوم سوف ننظر أوامر روبوت بسيطة. هناك 5 منهم في المجموع:

  • أعلى
  • غادر
  • يمين
  • رسم أكثر

ونتيجة تنفيذ هذه الأوامر واضحة من أسمائها:

  1. أعلى- حرك الروبوت خلية واحدة لأعلى
  2. تحت- حرك الروبوت خلية واحدة لأسفل
  3. غادر— حرك الروبوت خلية واحدة إلى اليسار
  4. يمين- حرك الروبوت خلية واحدة إلى اليمين
  5. رسم أكثر— قم بالطلاء فوق الخلية الحالية (الخلية التي يوجد بها الروبوت).

يمكن كتابة هذه الأوامر من لوحة المفاتيح، أو يمكنك استخدام مفاتيح التشغيل السريع (بالضغط عليها، سيتم إدراج الأوامر تلقائيًا):

  • لأعلى - هروب، لأعلى (سهم لأعلى)
  • أسفل - هروب، لأسفل (السهم لأسفل)
  • اليسار - الهروب، اليسار (السهم الأيسر)
  • يمين - هروب، يمين (السهم الأيمن)
  • طلاء فوق – الهروب، الفضاء (الفضاء)

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

نحن الآن جاهزون لكتابة الخوارزمية الأولى للروبوت. أقترح البدء بواحدة بسيطة - ارسم مربعًا يتكون جانبه من 3 خلايا. يذهب!

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

الآن كل شيء جاهز. لنبدأ في كتابة البرنامج. بينما هي تبدو هكذا

إزالة الرمز "|". ونسمي الخوارزمية الخاصة بنا "مربع"

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

دعونا نحاول تشغيل البرنامج ونرى ما سيحدث. للبدء اضغط F9أو زر على شريط الأدوات

ونتيجة لذلك، يجب أن نرى صورة مثل هذه

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

الآن سوف ننتقل إلى الأسفل ونرسم الجانب الأيمنمربع:

تحت

رسم أكثر

تحت

رسم أكثر

ثم دعنا نذهب إلى اليسار، ونرسم الحد السفلي للمربع

غادر

رسم أكثر

غادر

رسم أكثر

لدينا خلية واحدة غير مصبوغة متبقية. دعونا نرسمه

أعلى

رسم أكثر

كل شيء جاهز! ونتيجة لذلك، يبدو برنامجنا كما يلي:

استخدام الروبوت

الطحالب مربع

بداية

رسم أكثر

يمين

رسم أكثر

يمين

رسم أكثر

تحت

رسم أكثر

تحت

رسم أكثر