Αριθμοί OCR

Αριθμοί OCR

Μέτριο

Εισαγωγή

Η καλύτερή σου φίλη, η Marta, πρόσφατα έπιασε τη δουλειά των ονείρων της, δουλεύοντας με τις συλλογές ενός τοπικού μουσείου ιστορίας. Γνωρίζοντας το ενδιαφέρον σου για τον προγραμματισμό, σου εκμυστηρεύεται ένα ζήτημα στη δουλειά για μια επερχόμενη έκθεση πάνω στην ιστορία των υπολογιστών. Το τμήμα μαθηματικών ενός τοπικού πανεπιστημίου είχε δωρίσει αρκετά κουτιά με ιστορικές εκτυπώσεις, αλλά δεδομένης της κακής κατάστασης των εγγράφων, πάρθηκε η απόφαση να ψηφιοποιηθεί το κείμενο. Ωστόσο, ο παλιός εκτυπωτής του πανεπιστημίου είχε κάποιες ιδιαιτερότητες στον τρόπο που αναπαριστούσε το κείμενο, και η φίλη σου θα χρειαζόταν τη βοήθειά σου για να εξαγάγει με επιτυχία τα δεδομένα.

Οδηγίες

Η Οπτική Αναγνώριση Χαρακτήρων, ή OCR, είναι λογισμικό που μετατρέπει εικόνες κειμένου σε κείμενο αναγνώσιμο από μηχανή. Δεδομένου ενός πλέγματος χαρακτήρων που αναπαριστά κάποια ψηφία, μετέτρεψε το πλέγμα σε μια συμβολοσειρά ψηφίων. Αν το πλέγμα έχει πολλές σειρές κελιών, οι σειρές θα πρέπει να χωρίζονται στην έξοδο με ένα ",".

  • Το πλέγμα αποτελείται από μία ή περισσότερες γραμμές κελιών.
  • Κάθε γραμμή του πλέγματος αποτελείται από ένα ή περισσότερα κελιά.
  • Κάθε κελί έχει πλάτος τρεις στήλες και ύψος τέσσερις σειρές (3x4) και αναπαριστά ένα ψηφίο.
  • Τα ψηφία σχεδιάζονται με κάθετες γραμμές ("|"), κάτω παύλες ("_") και κενά (" ").

Οριακές περιπτώσεις

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

Παραδείγματα

Η παρακάτω είσοδος (χωρίς τα σχόλια) μετατρέπεται σε "1234567890".

      _  _     _  _  _  _  _  _  #
    | _| _||_||_ |_   ||_||_|| | # Decimal numbers.
    ||_  _|  | _||_|  ||_| _||_| #
                                 # The fourth line is always blank,

Η παρακάτω είσοδος μετατρέπεται σε "123,456,789".

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

Έτοιμος να ξεκινήσεις την άσκηση Αριθμοί OCR;

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