Tracks
/
Erlang
Erlang
/
Ejercicios
/
Simulador de robot
Simulador de robot

Simulador de robot

Intermedia

Instrucciones

Escribe un simulador de robots.

El centro de pruebas de una fábrica de robots necesita un programa para verificar los movimientos de los robots.

Los robots tienen tres movimientos posibles:

  • girar a la derecha
  • girar a la izquierda
  • avanzar

Los robots se colocan en una cuadrícula infinita hipotética, mirando hacia una dirección en particular (norte, este, sur u oeste), en un conjunto de coordenadas {x,y}, por ejemplo {3,8}, con las coordenadas aumentando hacia el norte y el este.

Luego el robot recibe una serie de instrucciones, y en ese momento el centro de pruebas verifica la nueva posición del robot y hacia dónde apunta.

  • La cadena de letras «RAALAL» significa:
    • Gira a la derecha
    • Avanza dos veces
    • Gira a la izquierda
    • Avanza una vez
    • Gira a la izquierda una vez más
  • Supongamos que un robot empieza en {7, 3} mirando hacia el norte. Entonces, ejecutar esta secuencia de instrucciones debería dejarlo en {9, 4} mirando hacia el oeste.

Implementación

Este ejercicio sí requiere algún tipo de estado global para tu robot. En erlang esto se puede hacer de varias maneras (empezando por la más idiomática):

  1. Usar algún gen_* de OTP
  2. Crear tu propio proceso, recibir mensajes en un bucle y pasar el estado como parámetro de un lado a otro.
  3. Crear tu propio proceso y usar el diccionario de procesos.

Fuente

Inspirado en una pregunta de entrevista en una empresa famosa.
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Erlang Exercism

¿Todo listo para empezar Simulador de robot?

Regístrate en Exercism para aprender y dominar Erlang con 85 ejercicios y mentoría humana real, todo gratis.