# Coding  - Simulate a robot Write a program that simulates the movements of a robot. The robot can have three possible movements:     turn right     turn left     advance The robot is placed on a hypothetical infinite grid, facing a particular direction (north, east, south, or west) at a set of `{x,y}` coordinates, e.g., `{3,8}`, with coordinates increasing to the north and east. Create a Class `Robot` that contains a method `execute` which given a number of instructions will calculate the robot's new position, and the the direction in which it is pointing. ## Example The letter-string "RAALAL" means:     Turn right     Advance twice     Turn left     Advance once     Turn left yet again Say a robot starts at `{7, 3}` facing north. Running this stream of instructions should leave it at `{9, 4}` facing west. ## Inputs and Outputs The argument of the `execute` is `string` in the format `X Y BEARING COMMANDS`. The method should return a one-liner `string` in the format `X Y BEARING`. In the example above, the `execute` argument would be `7 3 NORTH RAALAL`, and the method should return `9 4 WEST`. ## Tests ### Javascript Tests are using Jest. To run them, use the following command: ```js npx jest robot-simulator.spec.js ``` ### Ruby Tests are using Minitest. To run them, use the following command: ```ruby ruby -Ilib:test test_robot_simulator.rb ``` ### Python Tests are using PyTest. The test expect a module named `robot.py`. To run them, use the following command: ```python pytest test_robot_simulator.py

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

# Coding  - Simulate a robot

Write a program that simulates the movements of a robot. The robot can have three possible movements:

    turn right
    turn left
    advance

The robot is placed on a hypothetical infinite grid, facing a particular direction (north, east, south, or west) at a set of `{x,y}` coordinates,
e.g., `{3,8}`, with coordinates increasing to the north and east.

Create a Class `Robot` that contains a method `execute` which given a number of instructions will calculate the robot's new position, and the the direction in which it is pointing.

## Example

The letter-string "RAALAL" means:

    Turn right
    Advance twice
    Turn left
    Advance once
    Turn left yet again

Say a robot starts at `{7, 3}` facing north. Running this stream of instructions should leave it at `{9, 4}` facing west.

## Inputs and Outputs

The argument of the `execute` is `string` in the format `X Y BEARING COMMANDS`. The method should return a one-liner `string` in the format `X Y BEARING`. In the example above, the `execute` argument would be `7 3 NORTH RAALAL`, and the method should return `9 4 WEST`.

## Tests

### Javascript
Tests are using Jest. To run them, use the following command:

```js
npx jest robot-simulator.spec.js
```

### Ruby
Tests are using Minitest. To run them, use the following command:

```ruby
ruby -Ilib:test test_robot_simulator.rb
```

### Python
Tests are using PyTest. The test expect a module named `robot.py`. To run them, use the following command:

```python
pytest test_robot_simulator.py
```

 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY