Binnen het ISBN-13 (International Standard Book Numbering1) systeem krijgt elk boek een unieke code toegewezen die bestaat uit exact 13 cijfers. De eerste 12 daarvan geven informatie over het boek zelf, terwijl het laatste louter een controlecijfer is dat dient om foutieve ISBN-13 codes te detecteren.

ISBN

ISBN

Een ISBN nummer begint ofwel met 978, ofwel 979. Indien \(x_1, \dots, x_{12}\) de eerste 12 cijfers van een ISBN-13 code voorstellen, dan wordt het controlecijfer \(x_{13}\) als volgt berekend:

\[ o = x_1+x_3+x_5+x_7+x_9+x_{11} \] \[ e = x_2+x_4+x_6+x_8+x_{10}+x_{12} \newline \] \[ x_{13} = (10−(o+3*e) \mod 10 ) \mod 10 \]

Het controlecijfer \(x_{13}\) kan m.a.w. de waarden 0 tot en met 9 aannemen, waardoor ISBN-13 codes uitsluitend uit cijfers bestaan.

Opgave

Schrijf een programma dat de gebruiker vraagt om een ISBN-13 nummer in te vullen. Vervolgens moet je programma controleren of dit geldig is, conform bovenstaande definitie van een ISBN. Hierna vraagt je programma opnieuw om een ISBN, net zolang tot de gebruiker STOP ingeeft. Baseer je op onderstaande voorbeelduitvoering.

Voorbeeld

Hieronder volgt een voorbeelduitvoering van de opgave. De tekst in het rood stelt invoer van de gebruiker voor en wordt logischerwijs niet uitgeprint door je programma.

Geef een ISBN-nummer in om te controleren, of STOP om te stoppen.
9780134462035
"9780134462035" is een geldig ISBN.
Geef een ISBN-nummer in om te controleren, of STOP om te stoppen.
9780134462034
"9780134462034" is een ongeldig ISBN.
Geef een ISBN-nummer in om te controleren, of STOP om te stoppen.
9685034125034
"9685034125034" is een ongeldig ISBN.
Geef een ISBN-nummer in om te controleren, of STOP om te stoppen.
STOP

Opmerkingen en tips