Vielleicht kann mir ja jemand der sich gut mit Pseudocode auskennt sagen ob das so ungefähr richtig ist. Es ginge mit sicherheit besser, aber in 10 min kriegt man nur sowas hin. Es führen ja mehrere wege nach Rom.
Variablen:
Kreditkartennr String
KKnr String
Schritt4 ganzzahlig
Schritt5 ganzzahlig
Schritt6 ganzzahlig
a1 ganzzahlig
b1 ganzzahlig
c1 ganzzahlig
d1 ganzzahlig
e1 ganzzahlig
f1 ganzzahlig
g1 ganzzahlig
h1 ganzzahlig
a2 ganzzahlig
b2 ganzzahlig
c2 ganzzahlig
d2 ganzzahlig
e2 ganzzahlig
f2 ganzzahlig
g2 ganzzahlig
h2 ganzzahlig
Kreditkartennr wird eingegeben
Vorlaeufige_Pruefziffer = Position(Kreditkartennr,16,16)
KKnr = Position(Kreditkartennr,1,15)
a1 = position(KKnr,1,1)x2
b1 = position(KKnr,3,3)x2
c1 = position(KKnr,5,5)x2
d1 = position(KKnr,7,7)x2
e1 = position(KKnr,9,9)x2
f1 = position(KKnr,11,11)x2
g1 = position(KKnr,13,13)x2
h1 = position(KKnr,15,15)x2
a2 = Quersumme(a1)
b2 = Quersumme(b1)
c2 = Quersumme(c1)
d2 = Quersumme(d1)
e2 = Quersumme(e1)
f2 = Quersumme(f1)
g2 = Quersumme(g1)
h2 = Quersumme(h1)
Schritt4 = (a2+b2+c2+d2+e2+f2+g2+h2) + (position(KKnr,2,2) + position(KKnr,4,4) + position(KKnr,6,6) + position(KKnr,8,8)+
position(KKnr,10,10) + position(KKnr,12,12) + position(KKnr,14,14) )
Schritt5 = Abrunden(Schritt4+10)
Schritt6 = Schritt5 - Schritt6
Wenn
Schritt6 = Vorlaeufige_Pruefziffer
dann
Kreditkartennr = true
ansonsten
Kreditkartennr = false
Ende wenn