Il processo di verifica dell'ISBN-10 serve a convalidare i numeri di identificazione dei libri.
Di solito contengono trattini e si presentano così: 3-598-21508-8
Il formato ISBN-10 è composto da 9 cifre (da 0 a 9) più un carattere di controllo (una cifra oppure solo una X). Se il carattere di controllo è una X, questa rappresenta il valore «10». Possono essere scritti con o senza trattini, e se ne può verificare la validità con la seguente formula:
(d₁ * 10 + d₂ * 9 + d₃ * 8 + d₄ * 7 + d₅ * 6 + d₆ * 5 + d₇ * 4 + d₈ * 3 + d₉ * 2 + d₁₀ * 1) mod 11 == 0
Se il risultato è 0, l'ISBN-10 è valido, altrimenti non è valido.
Prendiamo l'ISBN-10 3-598-21508-8.
Lo inseriamo nella formula e otteniamo:
(3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 2 * 6 + 1 * 5 + 5 * 4 + 0 * 3 + 8 * 2 + 8 * 1) mod 11 == 0
Dato che il risultato è 0, questo dimostra che il nostro ISBN è valido.
Data una stringa, il programma deve verificare se la stringa fornita è un ISBN-10 valido. Mettere in pratica tutto questo richiede un po' di riflessione sulla preelaborazione e sull'analisi della stringa prima di calcolare la cifra di controllo dell'ISBN.
Il programma deve essere in grado di verificare gli ISBN-10 sia con che senza i trattini di separazione.
Convertire da stringhe a numeri può essere complicato in alcuni linguaggi.
Ora lo è ancora di più, dato che la cifra di controllo di un ISBN-10 può essere «X» (che rappresenta «10»).
Per esempio 3-598-21507-X è un ISBN-10 valido.
Iscriviti a Exercism per imparare e padroneggiare ABAP con 54 esercizi e il mentoring di persone reali, tutto gratis.