Предмет: Информатика, автор: Аноним

JAVA SCRIPT
Ускладнюємо роботу нашого робота! Тепер він вміє перетворювати команди руху на правильний сигнал і рухатися відповідно до нього:

'forward' означає y + 1 (крок уперед);
'back' означає y - 1 (крок назад);
'right' означає x + 1 (крок праворуч);
'left' означає x - 1 (крок ліворуч).
Але було б чудово, щоб робот знав, де він знаходиться навіть без GPS.

Для цього реалізуй функцію getLocation, яка приймає 2 параметри:

масив початкових координат coordinates у вигляді [x, y];
масив із командами commands у вигляді ['command1', 'command2', 'command3' ...].
Функція повинна повертати масив кінцевих координат [x, y] після рухів згідно команд із масиву commands.

Наприклад, ми маємо масив із координатами coordinates = [2, 1] та масив із командами commands = ['left', 'back', 'back']:

координати після першої команди — [1, 1] (1 крок ліворуч);
координати після другої команди — [1, 0] (1 крок назад);
координати після третьої команди — [1, -1] (1 крок назад);
результатом буде масив [1, -1].
Інші приклади:

getLocation([0, 0], ['forward', 'right']); // [1, 1]
getLocation([2, 3], ['back', 'back', 'back', 'right']); // [3, 0]
getLocation([0, 5], ['back', 'back', 'back', 'right', 'left', 'forward']); // [0, 3]

❗❗ Підказка
Створи змінні x та y і присвой їм значення відповідних координат із масиву coordinates. Ми будемо їх змінюватити відповідно до рухів робота.
Зроби перебір масиву commands.
На кожній ітерації перевіряй поточну команду. Наприклад, якщо вона дорівнює 'forward', збільшуй y на 1 і так далі.
Поверни масив із кінцевими значеннями x та y.

Ответы

Автор ответа: artemchik1032
1

Ответ:

function getLocation(coordinates, commands) {

   let x = coordinates[0];

   let y = coordinates[1];

    for (let i = 0; i < commands.length; i++) {

     if (commands[i] === 'forward') {

       y += 1;

     } else if (commands[i] === 'back') {

       y -= 1;

     } else if (commands[i] === 'right') {

       x += 1;

     } else if (commands[i] === 'left') {

       x -= 1;

     }

   }

    return [x, y];

 }

  console.log(getLocation([2, 1], ['left', 'back', 'back'])); // [1, -1]

 console.log(getLocation([0, 0], ['forward', 'right'])); // [1, 1]

 console.log(getLocation([2, 3], ['back', 'back', 'back', 'right'])); // [3, 0]

 console.log(getLocation([0, 5], ['back', 'back', 'back', 'right', 'left', 'forward'])); // [0, 3]

Похожие вопросы
Предмет: Математика, автор: nastiakravchenk525
Предмет: Українська мова, автор: Vania123228
Предмет: Русский язык, автор: ruslangalimow