Parcours
/
Delphi Pascal
Delphi Pascal
/
Exercices
/
Vérificateur d'ISBN
Vérificateur d'ISBN

Vérificateur d'ISBN

Moyen

Instructions

Le processus de vérification de l'ISBN-10 sert à valider les numéros d'identification des livres. Ceux-ci contiennent normalement des tirets et ressemblent à ceci : 3-598-21508-8

ISBN

Le format ISBN-10 se compose de 9 chiffres (de 0 à 9) plus un caractère de contrôle (un chiffre ou uniquement un X). Si le caractère de contrôle est un X, celui-ci représente la valeur « 10 ». Ces numéros peuvent être écrits avec ou sans tirets, et leur validité peut être vérifiée à l'aide de la formule suivante :

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

Si le résultat est 0, alors l'ISBN-10 est valide, sinon il est invalide.

Exemple

Prenons l'ISBN-10 3-598-21508-8. On le remplace dans la formule et on obtient :

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

Comme le résultat est 0, cela prouve que notre ISBN est valide.

Tâche

Étant donné une string, le programme doit vérifier si la string fournie est un ISBN-10 valide. Pour y parvenir, il faut réfléchir un peu au prétraitement et à l'analyse de la string avant de calculer le chiffre de contrôle de l'ISBN.

Le programme doit pouvoir vérifier un ISBN-10 avec et sans tirets de séparation.

Mises en garde

Convertir des strings en nombres peut être délicat dans certains langages. Maintenant, c'est encore plus délicat, car le chiffre de contrôle d'un ISBN-10 peut être « X » (qui représente « 10 »). Par exemple, 3-598-21507-X est un ISBN-10 valide.

Tâches bonus

  • Générer un ISBN-13 valide à partir de l'ISBN-10 fourni (et éventuellement le vérifier à nouveau avec un vérificateur dérivé).

  • Générer un ISBN valide, éventuellement à partir d'un ISBN de départ donné.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Delphi Pascal Exercism

Prêt à commencer Vérificateur d'ISBN ?

Inscris-toi sur Exercism pour apprendre et maîtriser Delphi Pascal avec 76 exercices, et un vrai mentorat humain, le tout gratuitement.