|
|
Line 302: |
Line 302: |
|
printf(($b("ok", "not ok"), 1l$, output = expected output OF soundex test[i])) |
|
printf(($b("ok", "not ok"), 1l$, output = expected output OF soundex test[i])) |
|
OD</syntaxhighlight> |
|
OD</syntaxhighlight> |
|
|
|
⚫ |
=={{header|ANSI Standard BASIC}}== |
|
⚫ |
|
|
⚫ |
Note: Line numbers (strict ANSI interpretation), LET and the variable after NEXT are not optional. |
|
|
|
|
⚫ |
<syntaxhighlight lang="ansi">100 DECLARE EXTERNAL FUNCTION FNSoundex$ |
|
⚫ |
|
|
⚫ |
120 DATA Ashcraft, Ashcroft, Gauss, Ghosh, Hilbert, Heilbronn, Lee, Lloyd |
|
⚫ |
130 DATA Moses, Pfister, Robert, Rupert, Rubin, Tymczak, Soundex, Example |
|
⚫ |
|
|
⚫ |
|
|
⚫ |
160 PRINT """"; name$; """"; TAB(15); FNsoundex$(name$) |
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
200 EXTERNAL FUNCTION FNsoundex$(name$) |
|
⚫ |
210 LET name$ = UCASE$(name$) |
|
⚫ |
220 LET n$ = "01230129022455012623019202" |
|
⚫ |
|
|
⚫ |
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 |
|
⚫ |
|
|
⚫ |
|
|
⚫ |
310 LET FNSoundex$ = s$(1:4) |
|
⚫ |
320 END FUNCTION</syntaxhighlight> |
|
|
|
|
|
|
=={{header|Arturo}}== |
|
=={{header|Arturo}}== |
Line 551: |
Line 523: |
|
</pre> |
|
</pre> |
|
|
|
|
|
=={{header|BBC BASIC}}== |
|
=={{header|BASIC}}== |
|
⚫ |
==={{header|ANSI Standard BASIC}} === |
|
⚫ |
|
|
⚫ |
Note: Line numbers (strict ANSI interpretation), LET and the variable after NEXT are not optional. |
|
|
|
|
⚫ |
<syntaxhighlight lang="ansi">100 DECLARE EXTERNAL FUNCTION FNSoundex$ |
|
⚫ |
|
|
⚫ |
120 DATA Ashcraft, Ashcroft, Gauss, Ghosh, Hilbert, Heilbronn, Lee, Lloyd |
|
⚫ |
130 DATA Moses, Pfister, Robert, Rupert, Rubin, Tymczak, Soundex, Example |
|
⚫ |
|
|
⚫ |
|
|
⚫ |
160 PRINT """"; name$; """"; TAB(15); FNsoundex$(name$) |
|
⚫ |
|
|
⚫ |
|
|
⚫ |
|
|
⚫ |
200 EXTERNAL FUNCTION FNsoundex$(name$) |
|
⚫ |
210 LET name$ = UCASE$(name$) |
|
⚫ |
220 LET n$ = "01230129022455012623019202" |
|
⚫ |
|
|
⚫ |
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 |
|
⚫ |
|
|
⚫ |
|
|
⚫ |
310 LET FNSoundex$ = s$(1:4) |
|
⚫ |
320 END FUNCTION</syntaxhighlight> |
|
|
|
|
|
==={{header|BBC BASIC}}=== |
|
<syntaxhighlight lang="bbcbasic"> DATA Ashcraft, Ashcroft, Gauss, Ghosh, Hilbert, Heilbronn, Lee, Lloyd |
|
<syntaxhighlight lang="bbcbasic"> DATA Ashcraft, Ashcroft, Gauss, Ghosh, Hilbert, Heilbronn, Lee, Lloyd |
|
DATA Moses, Pfister, Robert, Rupert, Rubin, Tymczak, Soundex, Example |
|
DATA Moses, Pfister, Robert, Rupert, Rubin, Tymczak, Soundex, Example |