PROCEDURE SoundexMap(ch: CHAR): INTEGER; VAR value: INTEGER; BEGIN IF (ch < "A") OR (ch > "Z") THEN value := 0 ELSE CASE ch OF "A", "E", "I", "O", "U": value := 0 | "B", "F", "P", "V": value := 1 | "C", "G", "J", "K", "S", "X", "Z": value := 2 | "D", "T": value := 3 | "H", "L": value := 4 | "M", "N": value := 5 | "R": value := 6 | "W", "Y": value := 7 END END RETURN value END SoundexMap;