Αριθμοί OCR

Αριθμοί OCR

Μέτριο

Οδηγίες

Δεδομένου ενός πλέγματος 3 x 4 από κάθετες γραμμές, κάτω παύλες και κενά, προσδιόρισε ποιος αριθμός αναπαρίσταται, ή αν είναι παραμορφωμένος.

Βήμα Πρώτο

Για αρχή, μετέτρεψε μια απλή δυαδική γραμματοσειρά σε συμβολοσειρά που περιέχει 0 ή 1.

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

     _   #
    | |  # zero.
    |_|  #
         # the fourth row is always blank

Μετατρέπεται σε "0"

         #
      |  # one.
      |  #
         # (blank fourth row)

Μετατρέπεται σε "1"

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

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

Βήμα Δεύτερο

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

Βήμα Τρίτο

Ενημέρωσε το πρόγραμμά σου ώστε να αναγνωρίζει όλους τους αριθμούς από το 0 έως το 9, τόσο μεμονωμένα όσο και ως μέρος μιας μεγαλύτερης συμβολοσειράς.

 _
 _|
|_

Μετατρέπεται σε "2"

      _  _     _  _  _  _  _  _  #
    | _| _||_||_ |_   ||_||_|| | # decimal numbers.
    ||_  _|  | _||_|  ||_| _||_| #
                                 # fourth line is always blank

Μετατρέπεται σε "1234567890"

Βήμα Τέταρτο

Ενημέρωσε το πρόγραμμά σου ώστε να χειρίζεται πολλούς αριθμούς, έναν σε κάθε γραμμή. Όταν μετατρέπεις πολλές γραμμές, ένωσέ τες με κόμματα.

    _  _
  | _| _|
  ||_  _|

    _  _
|_||_ |_
  | _||_|

 _  _  _
  ||_||_|
  ||_| _|

Μετατρέπεται σε "123,456,789".

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

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

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