محاكي الروبوت

محاكي الروبوت

سهل

التعليمات

اكتب محاكي روبوت.

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

للروبوتات ثلاث حركات ممكنة:

  • الاستدارة يمينًا
  • الاستدارة يسارًا
  • التقدّم

توضع الروبوتات على شبكة افتراضية لا نهائية، وتواجه اتجاهًا معينًا (north أو east أو south أو west) عند مجموعة إحداثيات {x,y}، مثل {3,8}، حيث تزداد قيم الإحداثيات نحو الشمال والشرق.

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

  • تسلسل الحروف "RAALAL" يعني:
    • الاستدارة يمينًا
    • التقدّم مرتين
    • الاستدارة يسارًا
    • التقدّم مرة واحدة
    • الاستدارة يسارًا مرة أخرى
  • لنفترض أن روبوتًا يبدأ عند {7, 3} وهو يواجه north. عندئذٍ يجب أن يتركه تشغيل هذا التسلسل من الأوامر عند {9, 4} وهو يواجه west.

المصدر

مستوحًى من سؤال مقابلة في شركة شهيرة.
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Delphi Pascal Exercism

مستعد لبدء محاكي الروبوت؟

سجّل في Exercism لتتعلّم وتتقن Delphi Pascal عبر 76 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.