Ο χρονομέτρης


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

Ιστορία

Η Sarah είναι χρονομέτρης. Στην πραγματικότητα, είναι η καλύτερη που υπάρχει. Όταν τα παιδιά τη ρωτούν τι κάνει ένας χρονομέτρης, της αρέσει να τους δείχνει ένα βάζο γεμάτο λευκή άμμο. Βλέπεις, λέει: "Κρατώ τον χρόνο ασφαλή!"

Η πραγματική της δουλειά δεν είναι και τόσο ρομαντική, αλλά παραμένει πολύ ενδιαφέρουσα και γεμάτη ικανοποίηση γι' αυτήν. Πετάει σε αθλητικές διοργανώσεις σε όλο τον κόσμο, με την τσάντα της γεμάτη εξοπλισμό χρονομέτρησης, και μετράει τους χρόνους κάθε αθλητή.

Σε αυτή την άσκηση θα γράψεις μερικές συναρτήσεις για το νέο λογισμικό χρονομέτρησης που σου ζήτησε να φτιάξεις η Sarah. Δεν χωράει κανένα λάθος, γιατί το επόμενο παγκόσμιο ρεκόρ μπορεί να μην ισχύει αν βρεθεί αργότερα κάποιο bug στο λογισμικό! Είσαι έτοιμος να αναλάβεις την ευθύνη;

Σημειώσεις

Τα δεδομένα που έρχονται από υλικό χρονομέτρησης είναι συνήθως μια χρονική σφραγίδα (χρόνος, ημερομηνία και ώρα ή ακόμα και με ζώνη ώρας). Έχει υψηλή ακρίβεια, συνήθως έως και 1 χιλιοστό του δευτερολέπτου, μερικές φορές ακόμα και 100 μικροδευτερόλεπτα. Κάθε συσκευή υλικού έχει ένα εσωτερικό ρολόι που πρέπει να συγχρονίζεται με όλες τις άλλες συσκευές.

Εργασίες

Αυτές είναι παραδείγματα εργασιών που ταιριάζουν στην άσκηση "Ο Χρονομέτρης":

  • Υπολόγισε τη διαφορά ανάμεσα στην ώρα εκκίνησης και στην ώρα τερματισμού για να βρεις τη διάρκεια.
  • Μια συσκευή χρονομέτρησης βρίσκεται σε άλλη ζώνη ώρας. Υπολόγισε τη διαφορά δύο χρόνων με διαφορετικές ζώνες ώρας.
  • Μια συσκευή χρονομέτρησης δεν έχει σύνδεση στο διαδίκτυο. Για τους πρώτους 10 δρομείς, ένας βοηθός σου διαβάζει στο τηλέφωνο τους χρόνους που καταγράφηκαν. Καταχωρίζονται με τη μορφή "10h5m19.234s", την οποία πρέπει να αναλύσεις.
  • Η πρώιμη εκκίνηση καταγράφηκε από την εφεδρική βιντεοκάμερα. Επανυπολόγισε τη νέα Ώρα Εκκίνησης αφαιρώντας μια δεδομένη διάρκεια από τη λανθασμένη ώρα εκκίνησης.
  • Κατά τη διάρκεια μιας διοργάνωσης ανιχνεύονται πολλοί άσχετοι χρόνοι. Για να μπορεί ο χρονομέτρης να αγνοεί όλους αυτούς τους "ανεπιθύμητους" χρόνους, μπορεί να δέχεται χρόνους από μια συσκευή χρονομέτρησης μόνο μέσα σε ένα συγκεκριμένο χρονικό διάστημα μετά την εκκίνηση. Π.χ. από 10 λεπτά έως 30 λεπτά μετά την εκκίνηση. Φτιάξε μια συνάρτηση φίλτρου που δέχεται ως εισόδους start time (χρονική σφραγίδα), from & to (διάρκειες), detection (χρονική σφραγίδα).
  • Μορφοποίησε την έξοδο μιας διάρκειας στον πίνακα κατάταξης με τη μορφή "1h5m19.234s +4.843", όπου το +4.843 είναι η διαφορά από τον πρώτο (τον αθλητή στην πρώτη θέση).

Υλοποιήσεις

  • Καμία ακόμα

Σχετικά