Trilhas
/
Factor
Factor
/
Exercícios
/
Simulador de robô
Simulador de robô

Simulador de robô

Médio

Instruções

Escreva um simulador de robô.

A instalação de testes de uma fábrica de robôs precisa de um programa para verificar os movimentos dos robôs.

Os robôs têm três movimentos possíveis:

  • virar à direita
  • virar à esquerda
  • avançar

Os robôs são posicionados em uma grade infinita hipotética, virados para uma direção específica (norte, leste, sul ou oeste), em um conjunto de coordenadas {x,y}, por exemplo, {3,8}, com as coordenadas aumentando para o norte e para o leste.

Em seguida, o robô recebe uma série de instruções, e então a instalação de testes verifica a nova posição do robô e para qual direção ele está apontando.

  • A string de letras "RAALAL" significa:
    • Virar à direita
    • Avançar duas vezes
    • Virar à esquerda
    • Avançar uma vez
    • Virar à esquerda mais uma vez
  • Digamos que um robô comece em {7, 3} virado para o norte. Então, executar essa sequência de instruções deve deixá-lo em {9, 4} virado para o oeste.

Palavras

Defina uma tupla robot com os campos x, y e direction. O campo direction guarda um dos símbolos north, east, south ou west (declarados no vocabulário deste exercício).

  • <robot> ( x y direction -- robot ): constrói um robô.
  • move ( robot instructions -- robot ): aplica uma sequência de instruções R, L e A e retorna o robô atualizado.

Fonte

Inspirado em uma pergunta de entrevista em uma empresa famosa.
Editar via GitHub O link abre em uma nova janela ou aba
Factor Exercism

Tudo pronto para começar Simulador de robô?

Crie sua conta no Exercism para aprender e dominar Factor com 47 conceitos163 exercícios e mentoria humana de verdade, tudo de graça.