Διαδρομές
/
Delphi Pascal
Delphi Pascal
/
Ασκήσεις
/
Επαληθευτής ISBN
Επαληθευτής ISBN

Επαληθευτής ISBN

Μέτριο

Οδηγίες

Η διαδικασία επαλήθευσης ISBN-10 χρησιμοποιείται για την επικύρωση αριθμών αναγνώρισης βιβλίων. Συνήθως περιέχουν παύλες και έχουν τη μορφή: 3-598-21508-8

ISBN

Η μορφή ISBN-10 αποτελείται από 9 ψηφία (0 έως 9) συν έναν χαρακτήρα ελέγχου (είτε ψηφίο είτε μόνο X). Στην περίπτωση που ο χαρακτήρας ελέγχου είναι X, αυτό αντιπροσωπεύει την τιμή '10'. Μπορούν να δίνονται με ή χωρίς παύλες, και η εγκυρότητά τους μπορεί να ελεγχθεί με τον παρακάτω τύπο:

(x1 * 10 + x2 * 9 + x3 * 8 + x4 * 7 + x5 * 6 + x6 * 5 + x7 * 4 + x8 * 3 + x9 * 2 + x10 * 1) mod 11 == 0

Αν το αποτέλεσμα είναι 0, τότε το ISBN-10 είναι έγκυρο, αλλιώς είναι άκυρο.

Παράδειγμα

Ας πάρουμε το ISBN-10 3-598-21508-8. Το βάζουμε στον τύπο και παίρνουμε:

(3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 2 * 6 + 1 * 5 + 5 * 4 + 0 * 3 + 8 * 2 + 8 * 1) mod 11 == 0

Εφόσον το αποτέλεσμα είναι 0, αυτό αποδεικνύει ότι το ISBN μας είναι έγκυρο.

Εργασία

Δεδομένης μιας συμβολοσειράς, το πρόγραμμα θα πρέπει να ελέγχει αν η συμβολοσειρά που δίνεται είναι ένα έγκυρο ISBN-10. Για να το υλοποιήσεις αυτό, χρειάζεται λίγη σκέψη γύρω από την προεπεξεργασία/ανάλυση της συμβολοσειράς πριν από τον υπολογισμό του ψηφίου ελέγχου για το ISBN.

Το πρόγραμμα θα πρέπει να μπορεί να επαληθεύει ISBN-10 και με και χωρίς διαχωριστικές παύλες.

Προειδοποιήσεις

Η μετατροπή από συμβολοσειρές σε αριθμούς μπορεί να είναι δύσκολη σε ορισμένες γλώσσες. Τώρα είναι ακόμη πιο δύσκολη, αφού το ψηφίο ελέγχου ενός ISBN-10 μπορεί να είναι 'X' (που αντιπροσωπεύει το '10'). Για παράδειγμα, το 3-598-21507-X είναι ένα έγκυρο ISBN-10.

Προαιρετικές εργασίες

  • Δημιούργησε ένα έγκυρο ISBN-13 από το ISBN-10 που δίνεται (και ίσως επαλήθευσέ το ξανά με έναν παράγωγο επαληθευτή).

  • Δημιούργησε έγκυρα ISBN, ίσως ακόμη και από ένα δεδομένο ISBN αφετηρίας.

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

Έτοιμος να ξεκινήσεις την άσκηση Επαληθευτής ISBN;

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