Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
40
Task/Damm-algorithm/Modula-3/damm-algorithm.mod3
Normal file
40
Task/Damm-algorithm/Modula-3/damm-algorithm.mod3
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
MODULE DammAlgorithm EXPORTS Main;
|
||||
|
||||
IMPORT IO, Text;
|
||||
|
||||
VAR
|
||||
Numbers:ARRAY[0..3] OF TEXT := ARRAY OF TEXT{"5724", "5727", "112946", "112949"};
|
||||
|
||||
PROCEDURE Damm(READONLY Str:TEXT):BOOLEAN =
|
||||
TYPE
|
||||
TTable = ARRAY[0..9],[0..9] OF INTEGER;
|
||||
VAR
|
||||
Table := TTable
|
||||
{ARRAY OF INTEGER{0,3,1,7,5,9,8,6,4,2},
|
||||
ARRAY OF INTEGER{7,0,9,2,1,5,4,8,6,3},
|
||||
ARRAY OF INTEGER{4,2,0,6,8,7,1,3,5,9},
|
||||
ARRAY OF INTEGER{1,7,5,0,9,8,3,4,2,6},
|
||||
ARRAY OF INTEGER{6,1,2,3,0,4,5,9,7,8},
|
||||
ARRAY OF INTEGER{3,6,7,4,2,0,9,5,8,1},
|
||||
ARRAY OF INTEGER{5,8,6,9,7,2,0,1,3,4},
|
||||
ARRAY OF INTEGER{8,9,4,5,3,6,2,0,1,7},
|
||||
ARRAY OF INTEGER{9,4,3,8,6,1,7,2,0,5},
|
||||
ARRAY OF INTEGER{2,5,8,1,4,3,6,7,9,0}};
|
||||
Interim,I:INTEGER := 0;
|
||||
BEGIN
|
||||
WHILE I <= Text.Length(Str)-1 DO
|
||||
Interim := Table[Interim, ORD(Text.GetChar(Str, I)) - ORD('0')];
|
||||
INC(I);
|
||||
END;
|
||||
RETURN Interim = 0;
|
||||
END Damm;
|
||||
|
||||
BEGIN
|
||||
FOR I := FIRST(Numbers) TO LAST(Numbers) DO
|
||||
IF Damm(Numbers[I]) THEN
|
||||
IO.Put(Numbers[I] & " is valid\n");
|
||||
ELSE
|
||||
IO.Put(Numbers[I] & " is invalid\n");
|
||||
END;
|
||||
END;
|
||||
END DammAlgorithm.
|
||||
Loading…
Add table
Add a link
Reference in a new issue