المسارات
/
Ruby
Ruby
/
التمارين
/
محاكي الروبوت
محاكي الروبوت

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

متوسط

التعليمات

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

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

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

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

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

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

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

المصدر

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

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

سجّل في Exercism لتتعلّم وتتقن Ruby عبر 21 مفهومًا121 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.