Διαδρομές
/
Rust
Rust
/
Ασκήσεις
/
Χρώματα αντίστασης
Χρώματα αντίστασης

Χρώματα αντίστασης

Άσκηση εκμάθησης

Εισαγωγή

Τα περισσότερα προγράμματα εξαρτώνται από κάποιες βιβλιοθήκες. Το να τις διαχειρίζεσαι με το χέρι μπορεί να γίνει μπελάς. Ευτυχώς, το οικοσύστημα της Rust περιλαμβάνει από προεπιλογή το cargo! Το cargo μπορεί να διαχειριστεί τις εξαρτήσεις ενός έργου.

Στη Rust θα δεις συχνά εξωτερικά πακέτα να αναφέρονται ως "crates". Ένα crate είναι μια μονάδα μεταγλώττισης στη Rust. Ένα crate μπορεί να μεταγλωττιστεί σε εκτελέσιμο ή σε βιβλιοθήκη.

Τις περισσότερες φορές, το να προσθέσεις μια εξωτερική εξάρτηση είναι τόσο απλό όσο το να προσθέσεις μια γραμμή στο αρχείο Cargo.toml σου.

Σε αυτή την άσκηση, οι εξαρτήσεις enum-iterator και int-enum έχουν προστεθεί για σένα.

Οδηγίες

Αν θέλεις να φτιάξεις κάτι με ένα Raspberry Pi, μάλλον θα χρειαστείς αντιστάσεις. Για αυτή την άσκηση, πρέπει να ξέρεις δύο πράγματα γι' αυτές:

  • Κάθε αντίσταση έχει μια τιμή αντίστασης.
  • Οι αντιστάσεις είναι μικρές, τόσο μικρές μάλιστα που αν τύπωνες πάνω τους την τιμή αντίστασης, θα ήταν δύσκολο να τη διαβάσεις.

Για να ξεπεράσουν αυτό το πρόβλημα, οι κατασκευαστές τυπώνουν πάνω στις αντιστάσεις χρωματικά κωδικοποιημένες ζώνες που δηλώνουν την τιμή αντίστασής τους. Κάθε ζώνη έχει μια θέση και μια αριθμητική τιμή.

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

Σε αυτή την άσκηση θα φτιάξεις ένα χρήσιμο πρόγραμμα, ώστε να μη χρειάζεται να θυμάσαι τις τιμές των ζωνών.

Αυτά τα χρώματα κωδικοποιούνται ως εξής:

  • Black: 0
  • Brown: 1
  • Red: 2
  • Orange: 3
  • Yellow: 4
  • Green: 5
  • Blue: 6
  • Violet: 7
  • Grey: 8
  • White: 9

Ο στόχος αυτής της άσκησης είναι να φτιάξεις έναν τρόπο για να:

  1. βρίσκεις την αριθμητική τιμή που σχετίζεται με μια συγκεκριμένη χρωματική ζώνη
  2. μετατρέπεις την αριθμητική τιμή σε μια συμβολοσειρά που αναπαριστά χρώμα
  3. απαριθμείς τα διάφορα χρώματα των ζωνών

Για το πρώτο σκέλος, θα χρειαστείς το εξωτερικό crate int-enum και για το τρίτο σκέλος, θα χρειαστείς το enum-iterator. Και τα δύο περιλαμβάνονται ήδη στο Cargo.toml αυτής της άσκησης. Φρόντισε να δεις την τεκμηρίωση των crate για να μάθεις πώς να τα χρησιμοποιείς. Μπορείς να δεις την προεπιλεγμένη υλοποίηση του Debug trait για τα Enum, για να ολοκληρώσεις το δεύτερο σκέλος.

Οι μνημονικοί κανόνες αντιστοιχίζουν τα χρώματα στους αριθμούς, οι οποίοι, όταν αποθηκεύονται σε έναν πίνακα, τυχαίνει να αντιστοιχούν στη θέση τους μέσα στον πίνακα: Better Be Right Or Your Great Big Values Go Wrong.

Περισσότερες πληροφορίες για την κωδικοποίηση χρώματος των αντιστάσεων θα βρεις στο άρθρο της Wikipedia για τον ηλεκτρονικό χρωματικό κώδικα

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

Έτοιμος να ξεκινήσεις την άσκηση Χρώματα αντίστασης;

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