Bonusübung 1.3

Benutzeravatar
m_stoica
Kernelcompilierer
Kernelcompilierer
Beiträge: 473
Registriert: 5. Dez 2008 20:19
Wohnort: Zuhause

Re: Bonusübung 1.3

Beitrag von m_stoica »

Na ist doch naheliegend, dass das Gültigkeitsfeld angibt, bis wann der Ausweis gültig ist

Christian_
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 178
Registriert: 10. Apr 2009 16:30

Re: Bonusübung 1.3

Beitrag von Christian_ »

ich hab jetzt einfach alle 4 prüfsummen überprüft.
wenn man mal eine hat ists ja nicht so schwer durch ein bisschen c&p die anderen auch zu machen
Omnium rerum principia parva sunt. -Cicero

Schildy
Windoof-User
Windoof-User
Beiträge: 27
Registriert: 21. Mai 2007 18:54
Wohnort: Darmstadt
Kontaktdaten:

Re: Bonusübung 1.3

Beitrag von Schildy »

Irgendwie steh ich auf dem Schlauch.Also die 3 kleinen Prüfungen sind mir klar, aber wie wird das mit der Großen von allen Ziffern gemacht? Muss man da auch multiplizieren oder is das wirklich nur Prüfsumme der Ziffern?

Danke

Benutzeravatar
Patr0rc
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 260
Registriert: 8. Feb 2008 11:43

Re: Bonusübung 1.3

Beitrag von Patr0rc »

In Wikipedia steht es nicht so dolle erklärt.
Wenn du die Prüfsummen der kleinen Teile (Seriennummer, Geburtstag, Ablaufdatum) schon gemacht hast, ist gut.
Die Prüfsumme über alle Ziffer der maschinenlesbaren Zone geht wie folgt:
Die zweite Zeile der maschinenlesbaren Zone aus dem Artikel von Wikipedia: wwww NNNNN n D yy MM dd X yy MM dd X N
Nun nimmst du als Multiplikatoren wieder 731... der Reihe nach über alle Ziffern dieser Zeile.
Also 7*w + 3*w + 1*w + 7*w + 3*N + 1*N + 7*N + 3*N + 1*N + 7*n + 3*y + 1*y + ... + 1*X mod 10 = N
Der Anfang sieht noch aus wie bei der ersten kleinen Prüfsumme. Dann bei 7*n wird's anders: Du gehst nämlich mit dem Schema 731... die ganze Zeile durch und nimmst das für die Ziffern. (Wenn also ein D oder ein < auftaucht, nicht, sondern nur bei Zahlen.)
Klarer geworden?

Schildy
Windoof-User
Windoof-User
Beiträge: 27
Registriert: 21. Mai 2007 18:54
Wohnort: Darmstadt
Kontaktdaten:

Re: Bonusübung 1.3

Beitrag von Schildy »

Super, Danke jetzt hab ichs. Ist auf Wiki wirklich nich so dolle erklärt. Vielen Dank nochma für die Erklärung. Hat mir echt weiter geholfen.

Benutzeravatar
Patr0rc
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 260
Registriert: 8. Feb 2008 11:43

Re: Bonusübung 1.3

Beitrag von Patr0rc »

Kein Ding.
Ich bin auch erst halb verwzweifelt, weil ich die Erklärung auf Wiki erst falsch verstanden hatte. Dann habe gegooglet und noch eine bessere Erklärung gefunden ;)

Schildy
Windoof-User
Windoof-User
Beiträge: 27
Registriert: 21. Mai 2007 18:54
Wohnort: Darmstadt
Kontaktdaten:

Re: Bonusübung 1.3

Beitrag von Schildy »

Nochma um sicher zu gehen, müssen wir jetzt alle Tests machen oder nur die von dem Ablaufdatum wie es weiter vorne geschrieben ist?

Benutzeravatar
Patr0rc
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 260
Registriert: 8. Feb 2008 11:43

Re: Bonusübung 1.3

Beitrag von Patr0rc »

Genau weiß es niemand, würde ich behaupten.
Rein so gesehen würde wahrscheinlich der Test der Prüfsumme über die zweite Zeile (also der "große" Test) reichen.
Ich hab alle Tests implementiert, denn man kann bestimmt eine Nummer für die zweite Zeile der maschinenlesbaren Zone konstruieren, wo der große Test richtig/gültig ist, obwohl zwischendrin eine der kleinen Prüfsummen falsch ist, und insgesamt der Pass dann ungültig ist...
Ich würde dir also empfehlen, alle Tests einzubauen, um auf "Nummer Sicher" zu gehen.

Schildy
Windoof-User
Windoof-User
Beiträge: 27
Registriert: 21. Mai 2007 18:54
Wohnort: Darmstadt
Kontaktdaten:

Re: Bonusübung 1.3

Beitrag von Schildy »

Dann eben so.
Alles klar, Danke die Zweite. :)

Benutzeravatar
newizz
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 209
Registriert: 30. Jun 2009 16:41

Re: Bonusübung 1.3

Beitrag von newizz »

frohes neues Jahr alle :!: :!: :wink:
ich hab ein kleines Problem oder großes lol
wie kann ich meine eingegebene Nummer in "pnr" kriegen..
ich kriege immer die ASCII-code entsprechend,gibt es einen Befehl ,der mir fie gebebene nummer oder letter gibt?
sonst muss ich jedesmal vergleichen :(
It's your ATTITUDE and not your APTITUDE that determines your ALTITUDE

Benutzeravatar
Patr0rc
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 260
Registriert: 8. Feb 2008 11:43

Re: Bonusübung 1.3

Beitrag von Patr0rc »

Hallo newizz.
Wenn du den Programmrahmen aus der Aufgabenstellung von Blatt 8 übernimmst, steht, wenn du in Zeile 31 angekommen bist, die Personalausweisnummer (besser: die komplette zweite Zeile der maschinenlesbaren Zone) in "pnr".
Du musst die Zeichen von "pnr" einzeln adressieren und somit stellenweise auslesen. Zumindest lasse ich einen Zähler hochzählen, mit dem ich zeichenweise auf "pnr" zugreife. (Vielleicht geht es auch anders, aber bei mir ging's damit ohne Probleme!)
Und natürlicherweise bekommst du alle Zeichen von "pnr" als ASCII-Nummer. Dafür ist ja die "a(s)ciiverschiebung" da, mithilfe derer du es korrigieren kannst...
Beantwortet das deine Frage(n) bzw. hilft dir das weiter?

Benutzeravatar
Michl
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 293
Registriert: 12. Apr 2009 08:53
Wohnort: Darmstadt

Re: Bonusübung 1.3

Beitrag von Michl »

Kleiner Tipp: Subtrahiere 0x30 :)

Benutzeravatar
newizz
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 209
Registriert: 30. Jun 2009 16:41

Re: Bonusübung 1.3

Beitrag von newizz »

Patr0rc hat geschrieben: Und natürlicherweise bekommst du alle Zeichen von "pnr" als ASCII-Nummer. Dafür ist ja die "a(s)ciiverschiebung" da, mithilfe derer du es korrigieren kannst...
Beantwortet das deine Frage(n) bzw. hilft dir das weiter?
das ist genau mein Problem ,ich möchte wissen,ob ich jedesmal mit dieser ascii-nummer vergleichen muss und gibt es einen Befehl ,der schon in dezimal umwandelt?
It's your ATTITUDE and not your APTITUDE that determines your ALTITUDE

Benutzeravatar
newizz
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 209
Registriert: 30. Jun 2009 16:41

Re: Bonusübung 1.3

Beitrag von newizz »

hab schon erledigt :!: :!: :!:
It's your ATTITUDE and not your APTITUDE that determines your ALTITUDE

Benutzeravatar
Patr0rc
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 260
Registriert: 8. Feb 2008 11:43

Re: Bonusübung 1.3

Beitrag von Patr0rc »

Ok. :D

Antworten

Zurück zu „Archiv“