Διαδρομές
/
Factor
Factor
/
Ασκήσεις
/
Προσομοιωτής ρομπότ
Προσομοιωτής ρομπότ

Προσομοιωτής ρομπότ

Μέτριο

Οδηγίες

Γράψε έναν προσομοιωτή ρομπότ.

Οι εγκαταστάσεις δοκιμών ενός εργοστασίου ρομπότ χρειάζονται ένα πρόγραμμα για να επαληθεύουν τις κινήσεις των ρομπότ.

Τα ρομπότ έχουν τρεις δυνατές κινήσεις:

  • στρίψε δεξιά
  • στρίψε αριστερά
  • προχώρησε

Τα ρομπότ τοποθετούνται σε ένα υποθετικό άπειρο πλέγμα, κοιτώντας προς μια συγκεκριμένη κατεύθυνση (βόρεια, ανατολικά, νότια ή δυτικά) και βρίσκονται σε ένα σύνολο συντεταγμένων {x,y}, π.χ. {3,8}, με τις συντεταγμένες να αυξάνονται προς τα βόρεια και τα ανατολικά.

Στη συνέχεια το ρομπότ λαμβάνει έναν αριθμό εντολών, και τότε οι εγκαταστάσεις δοκιμών επαληθεύουν τη νέα θέση του ρομπότ και προς τα πού δείχνει.

  • Η συμβολοσειρά γραμμάτων "RAALAL" σημαίνει:
    • Στρίψε δεξιά
    • Προχώρησε δύο φορές
    • Στρίψε αριστερά
    • Προχώρησε μία φορά
    • Στρίψε αριστερά για άλλη μια φορά
  • Ας πούμε ότι ένα ρομπότ ξεκινά από το {7, 3} κοιτώντας βόρεια. Τότε, εκτελώντας αυτή τη σειρά εντολών θα πρέπει να καταλήξει στο {9, 4} κοιτώντας δυτικά.

Λέξεις

Όρισε μια πλειάδα robot με πεδία x, y και direction. Το πεδίο direction περιέχει ένα από τα σύμβολα north, east, south ή west (που δηλώνονται στο λεξιλόγιο αυτής της άσκησης).

  • <robot> ( x y direction -- robot ), κατασκευάζει ένα ρομπότ.
  • move ( robot instructions -- robot ), εφαρμόζει μια συμβολοσειρά εντολών R, L και A και επιστρέφει το ενημερωμένο ρομπότ.

Πηγή

Εμπνευσμένο από μια ερώτηση συνέντευξης σε μια διάσημη εταιρεία.
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Factor Exercism

Έτοιμος να ξεκινήσεις την άσκηση Προσομοιωτής ρομπότ;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Factor με 47 έννοιες163 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.