How to resolve the algorithm Damm algorithm step by step in the MAD programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Damm algorithm step by step in the MAD programming language
Table of Contents
Problem Statement
The Damm algorithm is a checksum algorithm which detects all single digit errors and adjacent transposition errors.
The algorithm is named after H. Michael Damm.
Verify the checksum, stored as last digit of an input.
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Damm algorithm step by step in the MAD programming language
Source code in the mad programming language
NORMAL MODE IS INTEGER
R VERIFY DAMM CHECKSUM OF NUMBER
INTERNAL FUNCTION(CKNUM)
VECTOR VALUES DAMMIT =
0 0,3,1,7,5,9,8,6,4,2
1 , 7,0,9,2,1,5,4,8,6,3
2 , 4,2,0,6,8,7,1,3,5,9
3 , 1,7,5,0,9,8,3,4,2,6
4 , 6,1,2,3,0,4,5,9,7,8
5 , 3,6,7,4,2,0,9,5,8,1
6 , 5,8,6,9,7,2,0,1,3,4
7 , 8,9,4,5,3,6,2,0,1,7
8 , 9,4,3,8,6,1,7,2,0,5
9 , 2,5,8,1,4,3,6,7,9,0
DIMENSION DAMDGT(10)
ENTRY TO DAMM.
TMP=CKNUM
THROUGH GETDGT, FOR NDGT=0, 1, TMP.E.0
DAMDGT(NDGT) = TMP-TMP/10*10
GETDGT TMP = TMP/10
INTRM = 0
THROUGH CKDGT, FOR NDGT=NDGT, -1, NDGT.L.0
CKDGT INTRM = DAMMIT(INTRM*10 + DAMDGT(NDGT))
FUNCTION RETURN INTRM.E.0
END OF FUNCTION
R TEST SOME NUMBERS
THROUGH TEST, FOR VALUES OF N = 5724,5727,112946,112949
WHENEVER DAMM.(N)
PRINT FORMAT VALID,N
OTHERWISE
PRINT FORMAT INVAL,N
TEST END OF CONDITIONAL
VECTOR VALUES VALID = $I9,S1,5HVALID*$
VECTOR VALUES INVAL = $I9,S1,7HINVALID*$
END OF PROGRAM
You may also check:How to resolve the algorithm Percentage difference between images step by step in the MAXScript programming language
You may also check:How to resolve the algorithm Include a file step by step in the Ursa programming language
You may also check:How to resolve the algorithm Literals/String step by step in the Octave programming language
You may also check:How to resolve the algorithm Word frequency step by step in the BASIC programming language
You may also check:How to resolve the algorithm Determine if a string is squeezable step by step in the Ada programming language