Διαδρομές
/
Rust
Rust
/
Ασκήσεις
/
Γραμμή συναρμολόγησης
Γραμμή συναρμολόγησης

Γραμμή συναρμολόγησης

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

Εισαγωγή

Αριθμοί

Στη Rust υπάρχουν δύο διαφορετικές κατηγορίες αριθμών: οι ακέραιοι (οι οποίοι μπορούν να είναι με πρόσημο ή χωρίς πρόσημο) και οι αριθμοί κινητής υποδιαστολής.

Ακέραιοι

  • Ακέραιοι: αριθμοί χωρίς ψηφία μετά την υποδιαστολή (ακέραιοι αριθμοί). Οι ακέραιοι τύποι μπορούν είτε να αποθηκεύουν μόνο θετικούς αριθμούς (χωρίς πρόσημο) είτε να αποθηκεύουν και θετικούς και αρνητικούς αριθμούς (με πρόσημο). Παραδείγματα είναι τα -6, 0, 1, 25, 976 και 500000.

Αριθμοί κινητής υποδιαστολής

  • Αριθμοί κινητής υποδιαστολής: αριθμοί με μηδέν ή περισσότερα ψηφία μετά την υποδιαστολή. Παραδείγματα είναι τα -2.4, 0.1, 3.14, 16.984025 και 1024.0.

Ονομασία αριθμητικών τύπων

Το όνομα ενός αριθμητικού τύπου αποτελείται από δύο μέρη:

  • Ένα γράμμα που καθορίζει αν πρόκειται για ακέραιο χωρίς πρόσημο (u), ακέραιο με πρόσημο (i) ή αριθμό κινητής υποδιαστολής (f).
  • Έναν αριθμό που καθορίζει το μέγεθος του τύπου σε bit. Οι μεγαλύτεροι τύποι έχουν μεγαλύτερο εύρος μεταξύ ελάχιστων και μέγιστων τιμών. Στους αριθμούς κινητής υποδιαστολής επιτρέπουν επίσης περισσότερα ψηφία μετά την υποδιαστολή.

Οι παρακάτω συνδυασμοί είναι δυνατοί:

  • 8 bit: u8, i8
  • 16 bit: u16, i16
  • 32 bit: u32, i32, f32
  • 64 bit: u64, i64, f64
  • 128 bit: u128, i128

Σημείωσε ότι για τους αριθμούς κινητής υποδιαστολής υπάρχουν μόνο οι εκδόσεις των 32 bit και των 64 bit.

Μετατροπή μεταξύ αριθμητικών τύπων

Η Rust δεν κάνει καμία έμμεση μετατροπή τύπων. Αυτό σημαίνει ότι αν χρειάζεται να μετατρέψεις έναν αριθμητικό τύπο σε κάποιον άλλο, πρέπει να το κάνεις ρητά. Όταν μετατρέπεις από έναν μεγαλύτερο τύπο σε έναν μικρότερο (για παράδειγμα από u64 σε u32), μπορεί να χάσεις δεδομένα. Η μετατροπή από αριθμό κινητής υποδιαστολής σε ακέραιο θα χάσει ό,τι βρίσκεται μετά την υποδιαστολή, κάνοντας ουσιαστικά στρογγυλοποίηση προς τα κάτω.

Οδηγίες

Σε αυτή την άσκηση θα γράψεις κώδικα για να αναλύσεις την παραγωγή μιας γραμμής συναρμολόγησης σε ένα εργοστάσιο αυτοκινήτων. Η ταχύτητα της γραμμής συναρμολόγησης μπορεί να κυμαίνεται από 0 (εκτός λειτουργίας) μέχρι 10 (μέγιστη).

Στη χαμηλότερη ταχύτητά της (1), παράγονται 221 αυτοκίνητα την ώρα. Η παραγωγή αυξάνεται γραμμικά με την ταχύτητα. Έτσι, με την ταχύτητα στο 4, θα πρέπει να παράγει 4 * 221 = 884 αυτοκίνητα την ώρα. Ωστόσο, οι υψηλότερες ταχύτητες αυξάνουν την πιθανότητα να παραχθούν ελαττωματικά αυτοκίνητα, τα οποία μετά πρέπει να απορρίπτονται. Ο παρακάτω πίνακας δείχνει πώς η ταχύτητα επηρεάζει το ποσοστό επιτυχίας:

  • 1 έως 4: 100% ποσοστό επιτυχίας.
  • 5 έως 8: 90% ποσοστό επιτυχίας.
  • 9 και 10: 77% ποσοστό επιτυχίας.

Έχεις δύο εργασίες.

1. Υπολόγισε τον ρυθμό παραγωγής ανά ώρα

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

assembly_line::production_rate_per_hour(6)
// Returns: 1193.4

Σημείωσε ότι η τιμή επιστροφής είναι f64.

2. Υπολόγισε τον αριθμό των λειτουργικών αυτοκινήτων που παράγονται ανά λεπτό

Γράψε μια μέθοδο που υπολογίζει πόσα λειτουργικά αυτοκίνητα παράγονται ανά λεπτό:

assembly_line::working_items_per_minute(6)
// Returns: 19

Σημείωσε ότι η τιμή επιστροφής είναι u32.

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

Έτοιμος να ξεκινήσεις την άσκηση Γραμμή συναρμολόγησης;

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