www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Uni-Lineare Algebra" - EAN13-Code
EAN13-Code < Lineare Algebra < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Uni-Lineare Algebra"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

EAN13-Code: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:03 Mi 14.11.2007
Autor: Tigerlilli

Aufgabe
Der sogenannte EAN13-Code (Europäische Artikel-Nummer) befindet sich auf vielen Produktverpackungen. Jede solche Artikelnummer (Codewort) ist eine 13-stellige Zahl [mm] c_1c_2 [/mm] ... [mm] c_1_3 [/mm] mit den Ziffern [mm] c_1, c_2, c_3,..., c_1_3 [/mm] aus {0,1,2...,9} und erfüllt

[mm] c_a+3c_2+c_3+3c_4+... +3c_1_2+c_1_3 \equiv [/mm] 0 (mod 10).

(a) Bestimmen Sie,ob 9783835100893 eine korrekte Artikelnummer ist.
(b) Macht der Scanner an der Kasse einen Fehler und liest genau eine Ziffer falsch ein, kann dies erkannt werden. Warum?
(c) Wann erkennt der EAN13-Code die Vertauschung zweier Ziffern?

Also,wir hatten ein so ähnliches Beispiel in der Vorlesung besprochen und zwar wars die ISBN-Nummer (International Standard Book Numbers), nur das diese hier 10-stellig ist. Ich beziehe das jetzt auf meine Aufgabe hier:

[mm] K=\IZ= [/mm] {0,1,2,...,13}
[mm] U:={(k_1, k_2,..., k_1_3)|k_i\in K,\summe_{i=1}^{13} ik_i=0} \le k^1^3 [/mm]

13=x   Was kann der Code?

1. Er kann einen Fehler entdecken:
               [mm] a=(k_1,...,k_i,...,k_1_3) \in [/mm] U.
o.B.d.A.   [mm] b=(k_1,...,k_i ',...,k_1_3) \in [/mm] U.        

[mm] a-b\in [/mm] U--> [mm] (0,...0,k_i-k_i',0,...,0) [/mm]
--> [mm] i(k_i-k_i)=0 \inIZ [/mm] --> [mm] k_i=k_i' (i\not=0) [/mm]

2. Er kann die Vertauschung zwei beliebiger Positionen feststellen.
               [mm] a=(k_1,...,k_i,...,k_j,...k_1_3)\in [/mm] U.
               [mm] b=(k_1,...,k_j,...,k_i,...k_1_3)\in [/mm] U.

a-b= (0,...0, [mm] k_i-k_j,0,...,0,k_j-k_i,0,...0)\in [/mm] U.

[mm] i(k_i-k_j)+j(k_j-k_i)=0 \inIZ. [/mm]
(i-j) [mm] (k_i-k_j)= [/mm] 0 [mm] \in \IZ [/mm] --> [mm] k_i=k_j. [/mm]   (i-j [mm] \not=0) [/mm]

Stimmt dies soweit ein wenig? Bin mir völlig unsicher und wüsste nun auch nicht,wie ich weiter machen sollte. Lieben Gruß.

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
EAN13-Code: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:33 Mi 14.11.2007
Autor: blueeyes

Ich meine man müsste die letzte Zahl,die Prüfziffer auf Richtigkeit testen.

Die Prüfziffer der EAN, die letzte Ziffer (xn), errechnet sich, indem die einzelnen Ziffern von rechts nach links, beginnend mit der vorletzten (xn − 1), abwechselnd mit 3 und 1 multipliziert und anschließend diese Produkte addiert werden. [mm] (x_{n-1}\cdot [/mm] 3 + [mm] x_{n-2}\cdot [/mm] 1 + ...). Die Prüfziffer ergänzt diese Summe dann zum nächsten Vielfachen von 10.
Die Probe hierzu: [mm] (x_n\cdot [/mm] 1 + [mm] x_{n-1}\cdot [/mm] 3 + [mm] x_{n-2}\cdot [/mm] 1 + ... [mm] )\mod [/mm] 10 = 0

deine EAN: 9783835100893
9·3 + 8·1 + 0·3 + 0·1 + 1·3 + 5·1 + 3·3 + 8·1 + 3·3 + 8·1 + 7·3 + 9·1 =
27 + 8 + 3 + 5 + 9 + 8 + 9 + 8 + 21 + 9 =107
110-107=3 w.A.

Daraus folgt: Prüfziffer = 3

Dasselbe Verfahren ist auch für andere Produkt-Kennzahlen üblich.
Aber wie du nun weiter fortfahren könntest,da kann ich dir leider auch nicht helfen. Wie kann man denn weiterhin noch prüfen,ob diese Artikelnummer korrekt ist? Gibt es da noch nen paar Wege? LG

Bezug
                
Bezug
EAN13-Code: Antwort
Status: (Antwort) fertig Status 
Datum: 19:03 Mi 14.11.2007
Autor: Gilga

Wie kann man denn weiterhin noch prüfen,ob diese Artikelnummer korrekt ist? Gibt es da noch nen paar Wege?
Nach der Aufgabenstellung nicht.

Bezug
        
Bezug
EAN13-Code: Antwort
Status: (Antwort) fertig Status 
Datum: 18:58 Mi 14.11.2007
Autor: Gilga

Ich schätz mal das Beispiel aus der Vorlesung  waren ISBN Codes die du jetzt ganz schön mit den EAN13 Codes durcheinander bringst. Deine Antworten sind eindeutig falsch

$ [mm] U:={(k_1, k_2,..., k_1_3)|k_i\in K,\summe_{i=1}^{13} ik_i=0} \le k^1^3 [/mm] $
Nein! nach der Aufgabenstellung sind die gewichte nicht
1 2 3 4 5
sondern
1 3 1 3 1 ....
DAmit wird bei deiner Lösung zu b) an der stelle i der Fehler nicht erkannt

Sei mal P die Prüfsumme die mod 10 null sein soll

Ein Fehler an stelle  i  y statt x wird nicht erkannt (bei gewicht 1) [mm] \gdw [/mm]
P+(y-x) mod 10 = 0 [mm] \gdw [/mm]
(y-x) mod 10 = 0 [mm] \gdw [/mm]
y mod 10 = x [mm] \gdw [/mm]
y = x

und der Fehler wird immer erkannt

c) Nach Fällen unterscheiden. Zahl  x und y vertauschen
beide Gewicht 1 oder 3: wird nicht erkannt
x hat gewicht 3 und y gewicht :
P-2x+2y mod 10=0 [mm] \gdw [/mm]
2(y-x) mod 10 =0 [mm] \gdw [/mm]
(y-x) mod 5 = 0








Bezug
                
Bezug
EAN13-Code: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 22:46 Do 15.11.2007
Autor: Tigerlilli

Könnte mir jemand Aufgabe b) bitte noch ein wenig genauer erklären? Ich verstehe nicht ganz wie ich richtig vorgehen soll und meine Wege aufschreiben kann. Ich hätte mir eigentlich gedacht,dass wenn ein Fehler in dieser Artikelnummer vorkommen würde,man diesen eigentlich als scanner gleich erkennen müsste,da wenn sich eine Zahl in dieser Nummer ändern würde,sich das sogleich auch auf die letzte Ziffer auswirken würde,welche dementsprechend beim Errechnen nicht mehr rauskommen dürfte. Ich weiß nicht im Geringsten wie ich das nur aufschreiben kann. Bitte gebt mir einen Anfang. Mit dieses hier vestehe ich leider nicht:
>  
> Ein Fehler an stelle  i  y statt x wird nicht erkannt (bei
> gewicht 1) [mm]\gdw[/mm]
> P+(y-x) mod 10 = 0 [mm]\gdw[/mm]
>  (y-x) mod 10 = 0 [mm]\gdw[/mm]
>  y mod 10 = x [mm]\gdw[/mm]
>  y = x

>
Könnte mir dies bitte jemand genau erklären? Wäre lieb. LG  


Bezug
                        
Bezug
EAN13-Code: Antwort
Status: (Antwort) fertig Status 
Datum: 23:00 Do 15.11.2007
Autor: rainerS

Hallo!

> Könnte mir jemand Aufgabe b) bitte noch ein wenig genauer
> erklären? Ich verstehe nicht ganz wie ich richtig vorgehen
> soll und meine Wege aufschreiben kann. Ich hätte mir
> eigentlich gedacht,dass wenn ein Fehler in dieser
> Artikelnummer vorkommen würde,man diesen eigentlich als
> scanner gleich erkennen müsste,da wenn sich eine Zahl in
> dieser Nummer ändern würde,sich das sogleich auch auf die
> letzte Ziffer auswirken würde,welche dementsprechend beim
> Errechnen nicht mehr rauskommen dürfte.

Wenn sich eine Ziffer ändert, dann kann man es erkennen.

> Ich weiß nicht im
> Geringsten wie ich das nur aufschreiben kann.

Geh von der Definition aus: [mm]c_1+3c_2+c_3+3c_4+... +3c_{12}+c_{13} \equiv 0 \pmod{10}[/mm].
Jetzt nimm an, dass eine Ziffer falsch ist, sagen wir mal als Beispiel [mm]c_3[/mm] durch [mm]c'_3[/mm] ersetzt wurde. Was kannst du über das Ergebnis der Prüfung aussagen?
(Tipp: schreibe [mm]c'_3 = c_3 + (c'_3 -c_3)[/mm]!)

Was passiert, wenn statt dessen [mm]c_4[/mm] oder [mm]c_5[/mm] falsch sind?

> Mit dieses hier vestehe ich leider
> nicht:
>  >  
> > Ein Fehler an stelle  i  y statt x wird nicht erkannt (bei
> > gewicht 1) [mm]\gdw[/mm]
> > P+(y-x) mod 10 = 0 [mm]\gdw[/mm]
>  >  (y-x) mod 10 = 0 [mm]\gdw[/mm]
>  >  y mod 10 = x [mm]\gdw[/mm]
>  >  y = x

Das ist eine Verallgemeinerung dessen, was ich oben vorgeschlagen habe. P ist die (richtige) Summe, bevor durch 10 geteilt und der Rest genommen wird. Wenn eine Ziffer x an ungerader Position durch y ersetzt wird, ergibt sich die (falsche) Summe P+(y-x). Wenn der Rest bei Division durch 10 wieder 0 ist, wird der Fehler nicht erkannt.

Überleg dir mal Folgendes: Kommt das richtige raus, wenn [mm]c_3[/mm] und [mm]c_4[/mm] vertauscht werden? Wenn [mm]c_2[/mm] und [mm]c_4[/mm] vertauscht werden?

Viele Grüße
   Rainer



Bezug
                                
Bezug
EAN13-Code: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:29 Sa 17.11.2007
Autor: traumfaenger

hallo euch beiden.

ich mach auch gerade an der aufgabe herum, und bin mir nun nach dem ich das hier gelesen habe nicht mehr sicher, ob meine ansätze so im großen und ganzen tragbar sind.

zunächst einmal zu b) würde ich sagen, dass eine falsche eingabe stets erkannt wird. aber ich weiß nicht ob meine argumentation so stimmt.

angenommen ich habe also eine artiklenummer bestehend aus 13 ziffern: $c = [mm] (c_1,c_2,...c_i,...,c_{13})$, [/mm] dabei wird bei der Eingabe an einer stelle i ein fehler gemacht.
Also $c' = [mm] (c_1,c_2,...c_i',...c_{13})$. [/mm]

Ich betrachte nun die "komponentenweise" Differenz:
$c - c' = [mm] (0,0,...c_i [/mm] - [mm] c_i',0,...0)$. [/mm]

Jetzt müsste ja auch die Differenz 0 mod 10 sein,wir agieren hier doch auf "Restklassen", oder ?

Es ist aber falls i gerade: [mm] $3(c_i [/mm] - [mm] c_i') \eqiv [/mm] 0 mod 10$, nur falls [mm] $(c_i [/mm] - [mm] c_i') [/mm] = 0$, da das Produkt dieser Differenz stets nicht ganzahliges vielfaches von 10 sein kann, da [mm] $c_i [/mm] - [mm] c_i'$ [/mm] nur zwischen -9 und 9  liegen kann und das dreifache einer solche Zahl kein ganzzahliges vielfaches von 10 sein kann.

Falls i ungerade wollte ich genauso argumentieren, hier kann die Differenz ja maximal 9 sein.

D.h. da das ganze kein ganzzahliges vielfaches von 10 mehr sein kann, gibts Ärger, ergo Fehler.

Was meint ihr?

Beim Vertauschen dachte ich nun ähnlich, ich glaube aber, dass mein Ansatz hier nicht wirklich funktioniert.

Ich habe also $c = [mm] (c_1,c_2,...c_i,..,c_j,...,c_{13})$, [/mm] dabei werden bei der Eingabe zwei Ziffern vertauscht:

Also $c' = [mm] (c_1,c_2,...c_j,..,c_i,...,c_{13})$. [/mm]

Fehler werden jedoch nicht immer erkannt, nur wenn etwa i gerade und j ungerade. Falls i und j beide gerade oder beide ungerade sind, so wird der Fehler nicht erkannt.

Sei nun i gerade, j ungerade:
Ich betrachte nun die "komponentenweise" Differenz:
$c - c' = [mm] (0,0,...c_i [/mm] - [mm] c_j,0,..,c_j [/mm] - [mm] c_i,...,0)$. [/mm]

Nun ist die Summe: [mm] $3(c_i [/mm] - [mm] c_j) [/mm] + [mm] (c_j [/mm] - [mm] c_i) [/mm] = [mm] 2(c_i [/mm] - [mm] c_j) \equiv [/mm] 0 mod 10$ für [mm] $c_i [/mm] - [mm] c_j [/mm] = 0, +5, -5$

D.h. es wird ein Fehler nicht erkannt, falls sich die Ziffern um 5 unterscheiden.

Falls i und j beide gerade oder beide ungerade, dann wäre:
$c - c' = [mm] (0,0,...c_i [/mm] - [mm] c_j,0,..,c_j [/mm] - [mm] c_i,...,0)$. [/mm]
Und dann die Summe :
[mm] 3(c_i [/mm] - [mm] c_j) [/mm] + [mm] 3(c_j [/mm] - [mm] c_i) [/mm] = 0 [mm] \equiv [/mm] 0 mod 10, also würde Fehler nicht erkannt werden.

Was meint ihr?

Vielen dank für die Hilfe, ich hoffe meine Gedanken helfen dem ursprünglichen Fragesteller auch ein wenig.

Grüße und dank
Traumfänger

Bezug
                                        
Bezug
EAN13-Code: Antwort
Status: (Antwort) fertig Status 
Datum: 19:35 Sa 17.11.2007
Autor: Gilga

Stimmt. Ich würd dir volle Punktzahl geben.

Bezug
                                                
Bezug
EAN13-Code: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:23 Sa 17.11.2007
Autor: traumfaenger

suppi :-)
das freut mich. ich hoffe, damit kann Tigerlili auch was anfangen. danke für das feedback und ein schönes wochenende :-)

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Uni-Lineare Algebra"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]