100 DECLARE EXTERNAL FUNCTION FNSoundex$ 110 120 DATA Ashcraft, Ashcroft, Gauss, Ghosh, Hilbert, Heilbronn, Lee, Lloyd 130 DATA Moses, Pfister, Robert, Rupert, Rubin, Tymczak, Soundex, Example 140 FOR i = 1 TO 16 150 READ name$ 160 PRINT """"; name$; """"; TAB(15); FNsoundex$(name$) 170 NEXT i 180 END 190 200 EXTERNAL FUNCTION FNsoundex$(name$) 210 LET name$ = UCASE$(name$) 220 LET n$ = "01230129022455012623019202" 230 LET s$ = name$(1:1) 240 LET p = VAL(n$(ORD(s$) - 64 : ORD(s$) - 64)) 250 FOR i = 2 TO LEN(name$) 260 LET n = VAL(n$(ORD(name$(i:i)) - 64: ORD(name$(i:i)) - 64)) 270 IF n <> 0 AND n <> 9 AND n <> p THEN LET s$ = s$ & STR$(n) 280 IF n <> 9 THEN LET p = n 290 NEXT i 300 LET s$ = s$ & "000" 310 LET FNSoundex$ = s$(1:4) 320 END FUNCTION