Треки
/
Factor
Factor
/
Вправи
/
Симулятор робота
Симулятор робота

Симулятор робота

Середня

Вказівки

Напишіть симулятор робота.

Випробувальному центру фабрики роботів потрібна програма, яка перевіряє рухи роботів.

Роботи мають три можливі рухи:

  • повернути праворуч
  • повернути ліворуч
  • просунутися вперед

Роботів розміщують на гіпотетичній нескінченній сітці. Кожен робот повернутий у певному напрямку (north, east, south або west) і має координати {x,y}, наприклад {3,8}, причому координати зростають у напрямку north й east.

Далі робот отримує низку вказівок, після чого випробувальний центр перевіряє нову позицію робота і те, у якому напрямку він повернутий.

  • Рядок літер «RAALAL» означає:
    • Повернути праворуч
    • Просунутися двічі
    • Повернути ліворуч
    • Просунутися один раз
    • І ще раз повернути ліворуч
  • Нехай робот починає в точці {7, 3} з напрямком north. Тоді після виконання цієї послідовності вказівок він має опинитися в точці {9, 4} з напрямком west.

Слова

Визначте кортеж robot зі слотами x, y і direction. Слот direction містить один із символів north, east, south або west (оголошених у словнику цієї вправи).

  • <robot> ( x y direction -- robot ): створити робота.
  • move ( robot instructions -- robot ): застосувати рядок інструкцій R, L і A та повернути оновленого робота.

Джерело

За мотивами запитання зі співбесіди у відомій компанії.
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Factor Exercism

Час розпочати Симулятор робота?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Factor, а також 47 концепцій163 вправи та справжнє наставництво від людей, і все це безкоштовно.