BYTE FUNC Damm(CHAR ARRAY a) BYTE ARRAY table=[ 0 3 1 7 5 9 8 6 4 2 7 0 9 2 1 5 4 8 6 3 4 2 0 6 8 7 1 3 5 9 1 7 5 0 9 8 3 4 2 6 6 1 2 3 0 4 5 9 7 8 3 6 7 4 2 0 9 5 8 1 5 8 6 9 7 2 0 1 3 4 8 9 4 5 3 6 2 0 1 7 9 4 3 8 6 1 7 2 0 5 2 5 8 1 4 3 6 7 9 0] BYTE i,x,c x=0 FOR i=1 TO a(0) DO c=a(i) IF c<'0 OR c>'9 THEN RETURN (0) FI c==-'0 x=table(x*10+c) OD IF x=0 THEN RETURN (1) FI RETURN (0) PROC Test(CHAR ARRAY a) BYTE i Print(a) Print(" -> ") IF Damm(a)=1 THEN PrintE("valid") ELSE PrintE("invalid") FI RETURN PROC Main() Test("5724") Test("5727") Test("112946") Test("112949") RETURN