Fouten opsporen UNPLUGGED
Inleiding Je haalt een blikje cola en scant de barcode bij de zelfhulpkassa. Op het display verschijnt: 3,60 euro! Wat? Hoe kan dat nou? De streepjescode is niet goed gelezen, er zat vast ergens een kras op. Kan de kassa niet zien dat er een fout in zat?
EAN-13-streepjescode De European Article Numbering, kortweg EAN, is sinds 1974 een manier om verkochte producten te nummeren. Vrijwel alle verpakte producten die in Nederland en België in de schappen liggen, hebben een EAN-13-code. Zo'n EAN-13-code is een reeks van dertien cijfers met 12 identificatie cijfers, en 1 controlecijfer. De streepjescode kan worden gelezen door een scanner en vertaald in de 13 cijfers (gaan we hier verder niet op in) Waarvoor dient een controlecijfer? Antwoord: fysieke fout in barcode
Berekening controlegetal Voorbeeld EAN-code 800714100927-7 Het laatste getal is het controlegetal (dus: 7)
Berekening controlegetal Voorbeeld EAN-code 800714100927-7 Het laatste getal is het controlegetal (dus: 7) ieder cijfer op een oneven positie wordt met 1 vermenigvuldigd en bij elkaar opgeteld 800714100927-7 8 x 1 + 0 x 1 + 1 x 1 + 1 x 1 + 0 x 1 + 2 x 1 = 12;
Berekening controlegetal Voorbeeld EAN-code 800714100927-7 Het laatste getal is het controlegetal (dus: 7) ieder cijfer op een oneven positie wordt met 1 vermenigvuldigd en bij elkaar opgeteld 800714100927-7 8 x 1 + 0 x 1 + 1 x 1 + 1 x 1 + 0 x 1 + 2 x 1 = 12; (2) ieder cijfer op een even positie wordt met 3 vermenigvuldigd en bij elkaar opgeteld 0 x 3 + 7 x 3 + 4 x 3 + 0 x 3 + 9 x 3 + 7 x 3 = 81;
Berekening controlegetal Voorbeeld EAN-code 800714100927-7 Het laatste getal is het controlegetal (dus: 7) ieder cijfer op een oneven positie wordt met 1 vermenigvuldigd en bij elkaar opgeteld 800714100927-7 8 x 1 + 0 x 1 + 1 x 1 + 1 x 1 + 0 x 1 + 2 x 1 = 12; (2) ieder cijfer op een even positie wordt met 3 vermenigvuldigd en bij elkaar opgeteld 0 x 3 + 7 x 3 + 4 x 3 + 0 x 3 + 9 x 3 + 7 x 3 = 81; (3) deze resultaten worden bij elkaar opgeteld 12 + 81 = 93;
Berekening controlegetal Voorbeeld EAN-code 800714100927-7 Het laatste getal is het controlegetal (dus: 7) ieder cijfer op een oneven positie wordt met 1 vermenigvuldigd en bij elkaar opgeteld 800714100927-7 8 x 1 + 0 x 1 + 1 x 1 + 1 x 1 + 0 x 1 + 2 x 1 = 12; (2) ieder cijfer op een even positie wordt met 3 vermenigvuldigd en bij elkaar opgeteld 0 x 3 + 7 x 3 + 4 x 3 + 0 x 3 + 9 x 3 + 7 x 3 = 81; (3) deze resultaten worden bij elkaar opgeteld 12 + 81 = 93; (4) het controlecijfer is het cijfer dat nodig is om van deze som een tienvoud (10, 20, 30, 40, …) te maken 93 + 7 = 100
Berekening controlegetal Voorbeeld EAN-code 800714100927-7 Het laatste getal is het controlegetal (dus: 7) ieder cijfer op een oneven positie wordt met 1 vermenigvuldigd en bij elkaar opgeteld 800714100927-7 8 x 1 + 0 x 1 + 1 x 1 + 1 x 1 + 0 x 1 + 2 x 1 = 12; (2) ieder cijfer op een even positie wordt met 3 vermenigvuldigd en bij elkaar opgeteld 0 x 3 + 7 x 3 + 4 x 3 + 0 x 3 + 9 x 3 + 7 x 3 = 81; (3) deze resultaten worden bij elkaar opgeteld 12 + 81 = 93; (4) het controlecijfer is het cijfer dat nodig is om van deze som een tienvoud (10, 20, 30, 40, …) te maken 93 + 7 = 100 Dus het controlegetal moet zijn: 7
Berekening controlegetal (1) ieder cijfer op een oneven positie xxxxxxxxxx-x wordt met 1 vermenigvuldigd en bij elkaar opgeteld (2) ieder cijfer op een even positie xxxxxxxxxx-x wordt met 3 vermenigvuldigd en bij elkaar opgeteld (3) deze twee resultaten worden bij elkaar opgeteld (4) het controlecijfer is het cijfer dat nodig is om van deze som een tienvoud te maken
Wedstrijdje (1) ieder cijfer op een oneven positie xxxxxxxxxx-x wordt met 1 vermenigvuldigd en bij elkaar opgeteld (2) ieder cijfer op een even positie xxxxxxxxxx-x wordt met 3 vermenigvuldigd en bij elkaar opgeteld (3) deze twee resultaten worden bij elkaar opgeteld (4) het controlecijfer is het cijfer dat nodig is om van deze som een tienvoud te maken Wedstrijdje: vijf onvolledige EAN-13-codes (één cijfer ontbreekt). Per tweetallen de codes aanvullen. . . Zonder gebruik van een rekenmachine! Eerst 1 minuut tijd om een strategie af te spreken. Daarna opgave, met de vier stappen hierboven. 5 minuten tijd om zoveel mogelijk codes te vervolledigen.
Wedstrijdje: opgaven Opgave (a) 5000 -1893 - 2729 - ? (1) ieder cijfer op een oneven positie xxxxxxxxxx-x wordt met 1 vermenigvuldigd en bij elkaar opgeteld (2) ieder cijfer op een even positie xxxxxxxxxx-x wordt met 3 vermenigvuldigd en bij elkaar opgeteld (3) deze twee resultaten worden bij elkaar opgeteld (4) het controlecijfer is het cijfer dat nodig is om van deze som een tienvoud te maken Opgave (a) 5000 -1893 - 2729 - ? (b) 4003 - 8791 - 1002 - ? (c) ?789 - 0899 - 8037 - 3 (d) 8714 - 57?5 - 7262 - 8 (e) 5410 - 0?16 - 7886 - 9
Wedstrijdje : oplossing (1) ieder cijfer op een oneven positie xxxxxxxxxx-x wordt met 1 vermenigvuldigd en bij elkaar opgeteld (2) ieder cijfer op een even positie xxxxxxxxxx-x wordt met 3 vermenigvuldigd en bij elkaar opgeteld (3) deze twee resultaten worden bij elkaar opgeteld (4) het controlecijfer is het cijfer dat nodig is om van deze som een tienvoud te maken Oplossing (a) 5000 -1893 - 2729 - 0 (b) 4003 - 8791 - 1002 - 9 (c) 9789 - 0899 - 8037 - 3 (d) 8714 - 5745 - 7262 - 8 (e) 5410 - 0916 - 7886 - 9 a) 1- 19 2- 81 3 -100 Dus 0 c) 1- 28 + x 2- 120 3- 148+ x= 3 = tienvoud Dus 151 + x = tienvoud Dus x = 9
Strategie Hoeveel codes heeft elk tweetal goed? Welke strategie hebben jullie vooraf afgesproken?
Strategie Hoeveel codes heeft elk tweetal goed? Welke strategie hebben jullie vooraf afgesproken? Een goeie manier van samenwerken is de taken verdelen en achteraf de resultaten samenleggen.
Na afloop Het gaat om foutcorrectie, waarbij extra gegevens worden toegevoegd waarmee kan worden gecontroleerd of de informatie niet is gewijzigd. Aan de hand van een algoritme kun je nagaan of er een fout in de gegevens zit.
Waarom is dit handig? Er kunnen soms makkelijk fouten ontstaan in gegevens. Het toevoegen van controlecijfers helpt fouten voorkomen Dit wordt ook gebruikt bij bijvoorbeeld creditcardnummers en bankrekeningnummers (IBAN). Probeer maar eens geld over te maken naar een rekeningnummer waarbij je één cijfer aanpast. Het is soms zelfs mogelijk om fouten te corrigeren .
Waar wordt dit gebruikt? Dezelfde type oplossing wordt ook gebruikt bij controle/herstel van fouten bij Computernetwerken– ‘ruis’ in netwerken CDs en DVDs - krasjes of stof Harde schijven – magneet, warmte, vocht Streepjescodes, QR-codes – krasjes, gebogen BSN / IBAN – verkeerd intikken Creditcardnummer – verkeerd intikken ISBN boekcode – verkeerd scannen/intikken