Kurzusok
/
Haskell
Haskell
/
Feladatok
/
Robotszimulátor
Robotszimulátor

Robotszimulátor

Könnyű

Utasítások

Írj egy robotszimulátort.

Egy robotgyár tesztlétesítményének egy programra van szüksége, amely ellenőrzi a robotok mozgását.

A robotok háromféleképpen mozoghatnak:

  • jobbra fordul
  • balra fordul
  • előrelép

A robotokat egy képzeletbeli, végtelen rácsra helyezik, adott irányba (észak, kelet, dél vagy nyugat) nézve, egy {x,y} koordinátapáron, például {3,8}; a koordináták észak és kelet felé nőnek.

A robot ezután egy sor utasítást kap, ekkor a tesztlétesítmény ellenőrzi a robot új pozícióját, és azt, hogy milyen irányba néz.

  • A „RAALAL” betűsorozat a következőt jelenti:
    • Jobbra fordul
    • Kétszer előrelép
    • Balra fordul
    • Egyszer előrelép
    • Ismét balra fordul
  • Tegyük fel, hogy egy robot a {7, 3} pontról indul, észak felé nézve. Ha lefuttatjuk ezt az utasítássorozatot, akkor a {9, 4} ponton kell végeznie, nyugat felé nézve.

Tippek

A feladat megoldásához létre kell hoznod a Robot adattípust, és meg kell valósítanod a következő függvényeket:

  • bearing
  • coordinates
  • mkRobot
  • move

A kódban már ott van egy dummy adatdeklaráció és a hozzá tartozó típusszignatúrák, de a függvények definiálása és egy értelmes adattípus, newtype vagy típusszinonima létrehozása már a te dolgod.


Forrás

Egy híres cég interjúkérdése ihlette.
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Haskell Exercism

Készen állsz elkezdeni a(z) Robotszimulátor feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Haskell nyelvet 107 feladat segítségével, valódi emberi mentorálással, mindez ingyen.