Blog

ein Webangebot von rotering-net.de

Alle Beiträge der Kategorie: Mathematik

Thorsten Rotering präsentiert Spaß mit Strichcodes

Seit knapp einem Jahr sind alle Schulbücher an meiner Schule elektronisch erfasst. Jedes Buch besitzt nun eine eindeutige Nummer, die als Strichcode vorne im Buch eingeklebt ist, damit sie mit einem Scanner schnell ausgelesen werden kann. Wir benutzen dabei den sogenannten Code-128. Da sich hier so schön meine beiden Unterrichtsfächer überschneiden, lohnt sich ein genauerer Blick.

Ein Symbol besteht bei Code-128 aus drei Linien, die einfache, doppelte, dreifache oder vierfache Dicke haben können. Aber auch die Zwischenräume nach jeder Linie sind entscheidend. Auch hier kann die einfache, doppelte, dreifache und vierfache Breite auftreten. Aus Gründen der besseren Lesbarkeit ergibt die Summe aller Linien und Zwischenräume pro Symbol das elffache einer einfachen Linie; so ist jedes Symbol gleich breit. Daraus ergeben sich 107 mögliche Linienmuster. Umranden wir das mal; dann sieht man, dass der Strichcode dieses Buchs aus 6 Symbolen besteht.

code128

Die naheliegende Idee, dass jedes Symbol eine der Ziffern der Buchnummer darstellt, ist leider falsch. Das erste Symbol von links gesehen ist eine Startmarkierung, damit der Scanner erkennt, dass hier der Strichcode beginnt. Code-128 kennt 3 verschiedene Startmarkierungen, durch die die nachfolgenden Symbole jeweils unterschiedlich zu interpretieren sind. Startmarkierung A bedeutet, dass die Symbole als Ziffern, Großbuchstaben und Steuerzeichen zu interpretieren sind, Startmarkierung B, dass es sich um Ziffern, Groß- und Kleinbuchstaben handelt und Startmarkierung C, dass es sich um zweistellige Zahlen handelt. Letzteres ist hier der Fall und so bedeuten die folgenden drei Symbole 11, 85 und 58 (siehe Symboltabelle).

Verbleiben noch zwei Symbole. Das vorletzte Symbol ist eine Prüfziffer, damit der Scanner prüfen kann, ob er die Daten richtig gelesen hat. Die Prüfziffer wird berechnet, indem man die Datensymbole mit ihrer Position im Code multipliziert und dann aufsummiert. Hier also 11 * 1 + 85 * 2 + 58 * 3 = 355. Da wir Standard C nutzen, kommen noch 2 hinzu, also 357. Das ganze wird nun Modulo 103 gerechnet, damit wir eine Prüfziffer zwischen 0 und 102 erhalten (Symbole zwischen 103 und 106 dürfen nicht verwendet werden, da sie Start- und Endmarkierungen bilden, alles darüber ist nicht definiert). Somit erhalten wir hier als Prüfziffer 48. Das letzte Symbol ist die Endmarkierung, die als Ausnahme noch eine Linie mehr aufweist; schließlich ist es sonst etwas schwierig den Zwischenraum richtig auszulesen, wenn keine Linie mehr folgt. Gleichzeitig ist die Liniendicke so gewählt, dass sich über Kopf gelesen, kein anderes gültiges Symbol ergibt, wodurch der Scanner weiß, wie herum der Code zu lesen ist.

Mathe ist irre

„Bernd W aus LE“ hat auf Yahoo Answers eine spannende mathematische Frage:

Wenn Ax + By = Cz ist und A, B, C, x und z positive ganze Zahlen sind, dann haben A, B und C einen gemeinsamen Faktor. Stimmt das?

Vermutlich ist Bernd aber gar nicht so sehr mathematisch interessiert, wie es zunächst den Anschein erweckt. Vermutlich will er viel mehr 1 Million US-Dollar einstreichen. So viel möchte nämlich ein gewisser Mr. Beal an denjenigen ausszahlen, der diese Frage beantworten kann, wie die Bild-Zeitung kürzlich berichtete und ihm kurzerhand das Prädikat „irre“ verlieh. Wobei nicht ganz klar ist, ob es irre ist, so viel Geld auf ein mathematisches Rätsel zu verschwenden oder es schon ausreicht, sich überhaupt für Mathematik zu interessieren.

Wie Thilo bei Scienceblogs näher ausführt, stellte Andrew Beal die Vermutung, die eine Verallgemeinerung des erst 1995 bewiesenen großen Satzes von Fermat darstellt, auf und schrieb ab 1997 ein Preisgeld von 5000 Dollar für denjenigen aus, der Beweis oder ein Gegenbeispiel vorlegen könnte. Seitdem hat er das Preisgeld jedes Jahr um weitere 5000 Dollar erhöht. Nun wurde er offenbar ungeduldig und hat direkt mal auf eine Million aufgerundet.

Der kleine Haken an der Sache: das ist nicht die Beal-Vermutung. Der Bild-Redakteur hat beim Abschreiben leider ein paar Fehler und Auslassungen eingebaut, die die Vermutung ein „klein wenig“ verändern. BILDblog vermutet, dass nun das Mathematikbuch aus Klasse 9 ausreichen würde, um die Frage zu beantworten, doch ich traue die Antwort so gut wie jedem Zweitklässler zu. Lässt man mal die zusätzliche Einschränkung durch die Gleichung weg (wir verallgemeinern also noch weiter), dann steht dort: Gibt es eine Zahl, durch die wir drei beliebige positive ganze Zahlen (ohne Rest) teilen können?

Der entscheidene Punkt ist, dass die tatsächliche Beale-Vermutung von Primfaktoren spricht, also insbesondere die 1 ausschließt (uups, ich hoffe, ich habe jetzt nicht zu früh die Lösung verraten). Korrigieren wir das mal im Kopf und lassen außer Acht, dass in der Auflistung davor das y fehlt und dass die Zahlen x, y und z auch noch größer gleich 2 sein müssten, gibt es auch noch ein Problem mit der Gleichung. In dieser Form steht dort nur, dass die Summe zweier Zahlen, die keine Primzahlen sind (weil sie mind. zwei Primfaktoren besitzen müssen) eine dritte Zahl ergeben, die keine Primzahl ist. Dadurch lassen sich problemlos Zahlenkombinationen finden, die die Gleichung erfüllen, aber keinen gemeinsamen Faktor haben. Beispielsweise: 2 ⋅ 2 + 3 ⋅ 2 = 5⋅ 2, aber 2, 3 und 5 haben keinen gemeinsamen Primfaktor.

Der Grund warum ein Gegenbeispiel so leicht gelingt: in der tatsächlichen Beale-Vermutung lautet die Gleichung Ax + By = Cz. Vielleicht hat der Bild-Redakteur einfach nicht die „Hochbuchstaben“ auf der Tastatur gefunden und hey: wie groß kann der Unterschied schon sein, auf welcher Höhe so ein Buchstabe steht? Vielleicht ist ja an dem alten Vorurteil doch was dran: wer Mathe nicht kapiert, kann immer noch was mit Medien machen.