
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.

Ответы на вопрос

Ответ:
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]



Щоб виконати це завдання, ми можемо використати підхід з умовними операторами if-else. Ми збережемо значення початкових координат x і y в окремих змінних, і на кожній ітерації перевірятимемо поточну команду та змінюватимемо відповідно значення x і y.
Ось код реалізації функції getlocation:
```javascript function getlocation(coordinates, commands){ let x = coordinates[0]; let y = coordinates[1];
for(let i = 0; i < commands.length; i++){ let command = commands[i]; if(command === 'forward'){ y += 1; } else if(command === 'back'){ y -= 1; } else if(command === 'right'){ x += 1; } else if(command === 'left'){ x -= 1; } }
return [x, y]; } ```
Тепер ми можемо викликати функцію з різними наборами даних, щоб перевірити її правильність:
```javascript 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] ```
Отже, функція коректно обробляє команди руху та повертає кінцеві координати робота після виконання команд.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili