Mit dem ISBN-10-Prüfverfahren lassen sich Buchidentifikationsnummern validieren.
Normalerweise enthalten sie Bindestriche und sehen so aus: 3-598-21508-8
Das ISBN-10-Format besteht aus 9 Ziffern (0 bis 9) plus einem Prüfzeichen (entweder eine Ziffer oder ausschließlich ein X). Ist das Prüfzeichen ein X, steht es für den Wert '10'. Die Nummern können mit oder ohne Bindestriche angegeben werden, und ihre Gültigkeit lässt sich mit der folgenden Formel prüfen:
(d₁ * 10 + d₂ * 9 + d₃ * 8 + d₄ * 7 + d₅ * 6 + d₆ * 5 + d₇ * 4 + d₈ * 3 + d₉ * 2 + d₁₀ * 1) mod 11 == 0
Ist das Ergebnis 0, ist die ISBN-10 gültig, andernfalls ist sie ungültig.
Nehmen wir die ISBN-10 3-598-21508-8.
Wir setzen sie in die Formel ein und erhalten:
(3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 2 * 6 + 1 * 5 + 5 * 4 + 0 * 3 + 8 * 2 + 8 * 1) mod 11 == 0
Da das Ergebnis 0 ist, ist unsere ISBN damit gültig.
Das Programm erhält einen String und soll prüfen, ob der übergebene String eine gültige ISBN-10 ist. Um das umzusetzen, musst du dir Gedanken darüber machen, wie der String vor der Berechnung der Prüfziffer der ISBN aufbereitet und zerlegt wird.
Das Programm soll ISBN-10 sowohl mit als auch ohne trennende Bindestriche prüfen können.
In manchen Sprachen kann die Umwandlung von Strings in Zahlen knifflig sein.
Jetzt wird es noch kniffliger, denn die Prüfziffer einer ISBN-10 kann ein 'X' sein (das für '10' steht).
Zum Beispiel ist 3-598-21507-X eine gültige ISBN-10.
Melde dich bei Exercism an, um Odin mit 73 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.