Parcours
/
Erlang
Erlang
/
Exercices
/
Simulateur de robot
Simulateur de robot

Simulateur de robot

Moyen

Instructions

Écris un simulateur de robot.

Le centre de tests d'une usine de robots a besoin d'un programme pour vérifier les déplacements des robots.

Les robots disposent de trois déplacements possibles :

  • tourner à droite
  • tourner à gauche
  • avancer

Les robots sont placés sur une grille infinie hypothétique, orientés dans une direction particulière (north, east, south ou west) à un ensemble de coordonnées {x,y}, par exemple {3,8}, les coordonnées augmentant vers le nord et vers l'est.

Le robot reçoit alors une série d'instructions, après quoi le centre de tests vérifie sa nouvelle position et la direction dans laquelle il pointe.

  • La chaîne de lettres « RAALAL » signifie :
    • Tourner à droite
    • Avancer deux fois
    • Tourner à gauche
    • Avancer une fois
    • Tourner à gauche encore une fois
  • Imaginons qu'un robot démarre à la position {7, 3}, orienté vers le nord. L'exécution de cette suite d'instructions doit alors le laisser à la position {9, 4}, orienté vers l'ouest.

Implémentation

Cet exercice a bel et bien besoin d'une forme d'état global pour ton robot. En Erlang, cela peut se faire de plusieurs façons (en commençant par la plus idiomatique) :

  1. Utiliser l'un des gen_* d'OTP
  2. Créer son propre processus, recevoir les messages dans une boucle et transmettre l'état en paramètre.
  3. Créer son propre processus et utiliser le dictionnaire de processus.

Source

Inspiré par une question d'entretien dans une entreprise célèbre.
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Erlang Exercism

Prêt à commencer Simulateur de robot ?

Inscris-toi sur Exercism pour apprendre et maîtriser Erlang avec 85 exercices, et un vrai mentorat humain, le tout gratuitement.