Ξεκινάς μια μυστική λέσχη προγραμματισμού με κάποιους φίλους και φίλους φίλων. Δε γνωρίζονται όλοι μεταξύ τους, οπότε εσύ και οι φίλοι σου αποφασίσατε να φτιάξετε μια μυστική χειραψία, ώστε να αναγνωρίζετε ότι κάποιος είναι μέλος. Δεν θέλεις όποιος δεν τα ξέρει να μπορεί να σπάσει τον κώδικα.
Έχεις σχεδιάσει τον κώδικα έτσι ώστε ο ένας να λέει έναν αριθμό από το 1 έως το 31 και ο άλλος να τον μετατρέπει σε μια σειρά από ενέργειες.
Η αποστολή σου είναι να μετατρέψεις έναν αριθμό μεταξύ 1 και 31 σε μια ακολουθία ενεργειών στη μυστική χειραψία.
Η ακολουθία των ενεργειών επιλέγεται κοιτώντας τα πέντε δεξιότερα ψηφία του αριθμού αφού μετατραπεί σε δυαδικό. Ξεκίνα από το δεξιότερο ψηφίο και προχώρα προς τα αριστερά.
Οι ενέργειες για κάθε θέση του αριθμού είναι:
00001 = wink
00010 = double blink
00100 = close your eyes
01000 = jump
10000 = Reverse the order of the operations in the secret handshake.
Ας χρησιμοποιήσουμε τον αριθμό 9 ως παράδειγμα:
1001.wink.Αυτό ήταν το τελευταίο ψηφίο, οπότε ο τελικός κωδικός είναι:
wink, jump
Με τον αριθμό 26, που είναι 11010 σε δυαδικό, παίρνουμε τις εξής ενέργειες:
Η μυστική χειραψία για το 26 είναι επομένως:
jump, double blink
Αν δεν είσαι σίγουρος τι είναι το δυαδικό σύστημα ή πώς λειτουργεί, ρίξε μια ματιά σε [αυτό το σεμινάριο για το δυαδικό σύστημα][intro-to-binary]. [intro-to-binary]: https://medium.com/basecs/bits-bytes-building-with-binary-13cb4289aafa
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Delphi Pascal με 76 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.