Αν θέλεις να φτιάξεις κάτι με ένα Raspberry Pi, πιθανότατα θα χρησιμοποιήσεις αντιστάσεις. Για αυτή την άσκηση, χρειάζεται να ξέρεις δύο πράγματα γι' αυτές:
Για να ξεπεράσουν αυτό το πρόβλημα, οι κατασκευαστές τυπώνουν χρωματικά κωδικοποιημένες λωρίδες πάνω στις αντιστάσεις, για να δηλώσουν τις τιμές αντίστασής τους. Κάθε λωρίδα έχει μια θέση και μια αριθμητική τιμή.
Οι δύο πρώτες λωρίδες μιας αντίστασης ακολουθούν ένα απλό σχήμα κωδικοποίησης: κάθε χρώμα αντιστοιχεί σε έναν μόνο αριθμό. Για παράδειγμα, αν τύπωναν μια brown λωρίδα (τιμή 1) ακολουθούμενη από μια green λωρίδα (τιμή 5), αυτό θα αντιστοιχούσε στον αριθμό 15.
Σε αυτή την άσκηση θα φτιάξεις ένα βοηθητικό πρόγραμμα, ώστε να μη χρειάζεται να θυμάσαι τις τιμές των λωρίδων. Το πρόγραμμα θα δέχεται ως είσοδο ονόματα χρωμάτων και θα δίνει ως έξοδο έναν διψήφιο αριθμό, ακόμα κι αν η είσοδος έχει περισσότερα από δύο χρώματα!
Τα χρώματα των λωρίδων κωδικοποιούνται ως εξής:
Από το παραπάνω παράδειγμα: το brown-green πρέπει να επιστρέφει 15, και το brown-green-violet πρέπει να επιστρέφει κι αυτό 15, αγνοώντας το τρίτο χρώμα.
Ο buffer για την πρώτη συμβολοσειρά χρησιμοποιεί τα byte 1024-2047 της γραμμικής μνήμης. Ο buffer για τη δεύτερη συμβολοσειρά χρησιμοποιεί τα byte 2048-3071 της γραμμικής μνήμης.
Δεν θα χρειαστεί να τροποποιήσεις αυτούς τους buffer ή να δεσμεύσεις επιπλέον μνήμη.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις WebAssembly με 87 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.